diff -Nuar kcontrol.ORI/konqhtml/advancedTabDialog.cpp kcontrol/konqhtml/advancedTabDialog.cpp --- kdebase/kcontrol.ORI/konqhtml/advancedTabDialog.cpp 2011-12-09 23:45:04.676253975 +0100 +++ kdebase/kcontrol/konqhtml/advancedTabDialog.cpp 2011-12-09 23:46:28.239256986 +0100 @@ -58,7 +58,6 @@ layout->addSpacing( 20 ); layout->addStretch(); - connect(m_advancedWidget->m_pNewTabsInBackground, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); connect(m_advancedWidget->m_pOpenAfterCurrentPage, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); connect(m_advancedWidget->m_pTabConfirm, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); connect(m_advancedWidget->m_pTabCloseActivatePrevious, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); @@ -76,7 +75,6 @@ void advancedTabDialog::load() { m_pConfig->setGroup("FMSettings"); - m_advancedWidget->m_pNewTabsInBackground->setChecked( ! (m_pConfig->readBoolEntry( "NewTabsInFront", false )) ); m_advancedWidget->m_pOpenAfterCurrentPage->setChecked( m_pConfig->readBoolEntry( "OpenAfterCurrentPage", false ) ); m_advancedWidget->m_pPermanentCloseButton->setChecked( m_pConfig->readBoolEntry( "PermanentCloseButton", false ) ); m_advancedWidget->m_pKonquerorTabforExternalURL->setChecked( m_pConfig->readBoolEntry( "KonquerorTabforExternalURL", false ) ); @@ -92,7 +90,6 @@ void advancedTabDialog::save() { m_pConfig->setGroup("FMSettings"); - m_pConfig->writeEntry( "NewTabsInFront", !(m_advancedWidget->m_pNewTabsInBackground->isChecked()) ); m_pConfig->writeEntry( "OpenAfterCurrentPage", m_advancedWidget->m_pOpenAfterCurrentPage->isChecked() ); m_pConfig->writeEntry( "PermanentCloseButton", m_advancedWidget->m_pPermanentCloseButton->isChecked() ); m_pConfig->writeEntry( "KonquerorTabforExternalURL", m_advancedWidget->m_pKonquerorTabforExternalURL->isChecked() ); diff -Nuar kcontrol.ORI/konqhtml/advancedTabOptions.ui kcontrol/konqhtml/advancedTabOptions.ui --- kdebase/kcontrol.ORI/konqhtml/advancedTabOptions.ui 2011-12-09 23:45:04.674267416 +0100 +++ kdebase/kcontrol/konqhtml/advancedTabOptions.ui 2011-12-09 23:56:01.440255647 +0100 @@ -62,6 +62,17 @@ + m_pNewTabsInBackground + + + O&pen new tabs in the background + + + This will open a new tab in the background, instead of in the foreground. + + + + m_pOpenAfterCurrentPage diff -Nuar konqueror.ORI/konq_guiclients.cc konqueror/konq_guiclients.cc --- kdebase/konqueror.ORI/konq_guiclients.cc 2011-12-09 23:44:28.950255993 +0100 +++ kdebase/konqueror/konq_guiclients.cc 2011-12-09 23:49:31.432261289 +0100 @@ -115,6 +115,11 @@ openInTabElement.setAttribute( "group", "tabhandling" ); menu.appendChild( openInTabElement ); + TQDomElement openInTabFrontElement = m_doc.createElement( "action" ); + openInTabFrontElement.setAttribute( "name", "openintabfront" ); + openInTabFrontElement.setAttribute( "group", "tabhandling" ); + menu.appendChild( openInTabFrontElement ); + TQDomElement separatorElement = m_doc.createElement( "separator" ); separatorElement.setAttribute( "group", "tabhandling" ); menu.appendChild( separatorElement ); diff -Nuar konqueror.ORI/konq_mainwindow.cc konqueror/konq_mainwindow.cc --- kdebase/konqueror.ORI/konq_mainwindow.cc 2011-12-09 23:44:29.030265039 +0100 +++ kdebase/konqueror/konq_mainwindow.cc 2011-12-09 23:54:27.518255409 +0100 @@ -2727,6 +2727,14 @@ openURL( 0L, popupItems.getFirst()->url() ); } +void KonqMainWindow::slotPopupNewTabAtFront() +{ + KConfig *config = KGlobal::config(); + KConfigGroupSaver cs( config, TQString::fromLatin1("FMSettings") ); + bool openAfterCurrentPage = config->readBoolEntry( "OpenAfterCurrentPage", false ); + popupNewTab(true, openAfterCurrentPage); +} + void KonqMainWindow::slotPopupNewTab() { bool openAfterCurrentPage = KonqSettings::openAfterCurrentPage(); @@ -2735,7 +2743,7 @@ if (KApplication::keyboardMouseState() & Qt::ShiftButton) newTabsInFront = !newTabsInFront; - popupNewTab(newTabsInFront, openAfterCurrentPage); + popupNewTab(false, openAfterCurrentPage); } void KonqMainWindow::slotPopupNewTabRight() @@ -2755,16 +2763,12 @@ KFileItemListIterator it ( popupItems ); KonqOpenURLRequest req; req.newTab = true; - req.newTabInFront = false; + req.newTabInFront = infront; req.openAfterCurrentPage = openAfterCurrentPage; req.args = popupUrlArgs; for ( ; it.current(); ++it ) { - if ( infront && it.atLast() ) - { - req.newTabInFront = true; - } openURL( 0L, (*it)->url(), TQString::null, req ); } } @@ -4783,8 +4787,14 @@ else tab_new_x = "tab_new_bg" ; - actNewTab = new KAction( i18n( "Open in &New Tab" ), tab_new_x, 0, this, TQT_SLOT( slotPopupNewTab() ), konqyMenuClient->actionCollection(), "openintab" ); - actNewTab->setToolTip( i18n( "Open the document in a new tab" ) ); + KAction *actNewTab = new KAction( i18n( "Open in &Background Tab" ), "tab_new_bg", 0, this, TQT_SLOT( slotPopupNewTab() ), actionCollection(), "openintab" ); + actNewTab->setStatusText( i18n( "Open the document in a new background tab" ) ); + KAction *actNewTabFront = new KAction( i18n( "Open in &New Tab" ), "tab_new", 0, this, TQT_SLOT( slotPopupNewTabAtFront() ), actionCollection(), "openintabfront" ); + actNewTabFront->setStatusText( i18n( "Open the document in a new foreground tab" ) ); + actNewTab = new KAction( i18n( "Open in &Background Tab" ), tab_new_x, 0, this, TQT_SLOT( slotPopupNewTab() ), konqyMenuClient->actionCollection(), "openintab" ); + actNewTabFront = new KAction( i18n( "Open in &New Tab" ), tab_new_x, 0, this, TQT_SLOT( slotPopupNewTabAtFront() ), konqyMenuClient->actionCollection(), "openintabfront" ); + actNewTab->setToolTip( i18n( "Open the document in a new background tab" ) ); + actNewTabFront->setToolTip( i18n( "Open the document in a new foreground tab" ) ); doTabHandling = true; } diff -Nuar konqueror.ORI/konq_mainwindow.h konqueror/konq_mainwindow.h --- kdebase/konqueror.ORI/konq_mainwindow.h 2011-12-09 23:44:28.941260682 +0100 +++ kdebase/konqueror/konq_mainwindow.h 2011-12-09 23:54:57.772255487 +0100 @@ -444,6 +444,7 @@ void slotPopupNewWindow(); void slotPopupThisWindow(); void slotPopupNewTab(); + void slotPopupNewTabAtFront(); void slotPopupNewTabRight(); void slotPopupPasteTo(); void slotRemoveView();