--- kdebase-3.1.93/konqueror/konq_main.cc-- 2003-11-26 15:41:14.000000000 -0500 +++ kdebase-3.1.93/konqueror/konq_main.cc 2003-11-26 15:50:18.000000000 -0500 @@ -86,14 +86,14 @@ extern "C" int kdemain( int argc, char * { QStringList profiles = KGlobal::dirs()->findAllResources("data", "konqueror/profiles/*", false, true); profiles.sort(); - for(QStringList::ConstIterator it = profiles.begin(); + for(QStringList::ConstIterator it = profiles.begin(); it != profiles.end(); ++it) { QString file = *it; file = file.mid(file.findRev('/')+1); printf("%s\n", QFile::encodeName(file).data()); } - + return 0; } if (args->isSet("profile")) @@ -146,6 +146,8 @@ extern "C" int kdemain( int argc, char * { KURL::List urlList; KonqMainWindow * mainwin = 0L; + KConfigGroupSaver group( app.config(), "FMSettings" ); + bool bUseTab = app.config()->readBoolEntry( "UseTab", true ); for ( int i = 0; i < args->count(); i++ ) { // KonqMisc::konqFilteredURL doesn't cope with local files... A bit of hackery below @@ -162,12 +164,17 @@ extern "C" int kdemain( int argc, char * urlargs.serviceType = QString::fromLocal8Bit(args->getOption("mimetype")); kdDebug(1202) << "main() : setting serviceType to " << urlargs.serviceType << endl; } - if ( !mainwin ) - mainwin =KonqMisc::createNewWindow( urlToOpen, urlargs ); + if ( bUseTab ) + { + if ( !mainwin ) + mainwin =KonqMisc::createNewWindow( urlToOpen, urlargs ); + else + urlList += urlToOpen; + } else - urlList += urlToOpen; + KonqMisc::createNewWindow( urlToOpen, urlargs ); } - if ( mainwin ) + if ( bUseTab && mainwin ) mainwin->openMultiURL( urlList ); } } --- kdebase-3.1.93/konqueror/konq_mainwindow.h-- 2003-11-26 15:41:14.000000000 -0500 +++ kdebase-3.1.93/konqueror/konq_mainwindow.h 2003-11-26 15:50:18.000000000 -0500 @@ -700,7 +700,7 @@ private: bool m_urlCompletionStarted; bool m_bBackRightClick; - + bool m_bUseTab; static bool s_preloaded; static KonqMainWindow* s_preloadedWindow; static int s_initialMemoryUsage; --- kdebase-3.1.93/kcontrol/konqhtml/htmlopts.cpp-- 2003-11-26 15:41:04.000000000 -0500 +++ kdebase-3.1.93/kcontrol/konqhtml/htmlopts.cpp 2003-11-26 15:49:27.000000000 -0500 @@ -60,6 +60,11 @@ KMiscHTMLOptions::KMiscHTMLOptions(KConf QGroupBox *bgTabbedBrowsing = new QGroupBox( 0, Qt::Vertical, i18n("Tabbed Browsing"), this ); QVBoxLayout *laygroup = new QVBoxLayout(bgTabbedBrowsing->layout(), KDialog::spacingHint() ); + m_pUseTab = new QCheckBox( i18n( "Use tabs in konqueror" ), bgTabbedBrowsing ); + connect(m_pUseTab, SIGNAL(clicked()), this, SLOT(slotChanged())); + connect(m_pUseTab, SIGNAL(toggled ( bool )), this, SLOT( slotUseTabChanged( bool) ) ); + laygroup->addWidget(m_pUseTab); + m_pShowMMBInTabs = new QCheckBox( i18n( "Open &links in new tab instead of in new window" ), bgTabbedBrowsing ); QWhatsThis::add( m_pShowMMBInTabs, i18n("This will open a new tab instead of a new window in various situations, " "such as choosing a link or a folder with the middle mouse button.") ); @@ -72,7 +77,7 @@ KMiscHTMLOptions::KMiscHTMLOptions(KConf laygroup->addWidget(m_pDynamicTabbarHide); QHBoxLayout *laytab = new QHBoxLayout(laygroup, KDialog::spacingHint()); - QPushButton *advancedTabButton = new QPushButton( i18n( "Advanced Options..."), bgTabbedBrowsing ); + advancedTabButton = new QPushButton( i18n( "Advanced Options..."), bgTabbedBrowsing ); laytab->addWidget(advancedTabButton); laytab->addStretch(); connect(advancedTabButton, SIGNAL(clicked()), this, SLOT(launchAdvancedTabDialog())); @@ -221,6 +226,16 @@ void KMiscHTMLOptions::load() m_pConfig->setGroup("FMSettings"); m_pShowMMBInTabs->setChecked( m_pConfig->readBoolEntry( "MMBOpensTab", false ) ); m_pDynamicTabbarHide->setChecked( ! (m_pConfig->readBoolEntry( "AlwaysTabbedMode", false )) ); + bool _b = m_pConfig->readBoolEntry( "UseTab", true ); + m_pUseTab->setChecked( _b ); + slotUseTabChanged( _b ); +} + +void KMiscHTMLOptions::slotUseTabChanged( bool _b) +{ + m_pShowMMBInTabs->setEnabled(_b); + m_pDynamicTabbarHide->setEnabled(_b); + advancedTabButton->setEnabled( _b ); } void KMiscHTMLOptions::defaults() @@ -273,6 +288,7 @@ void KMiscHTMLOptions::save() m_pConfig->setGroup("FMSettings"); m_pConfig->writeEntry( "MMBOpensTab", m_pShowMMBInTabs->isChecked() ); m_pConfig->writeEntry( "AlwaysTabbedMode", !(m_pDynamicTabbarHide->isChecked()) ); + m_pConfig->writeEntry( "UseTab", m_pUseTab->isChecked()); m_pConfig->sync(); QByteArray data; --- kdebase-3.1.93/kcontrol/konqhtml/htmlopts.h-- 2003-11-26 15:41:04.000000000 -0500 +++ kdebase-3.1.93/kcontrol/konqhtml/htmlopts.h 2003-11-26 15:49:27.000000000 -0500 @@ -28,6 +28,7 @@ #include <kcmodule.h> class QRadioButton; class KIntNumInput; +class QPushButton; class KMiscHTMLOptions : public KCModule { @@ -44,7 +45,7 @@ public: private slots: void slotChanged(); void launchAdvancedTabDialog(); - + void slotUseTabChanged( bool); private: KConfig* m_pConfig; QString m_groupname; @@ -58,7 +59,9 @@ private: QCheckBox* m_pShowMMBInTabs; QCheckBox* m_pFormCompletionCheckBox; QCheckBox* m_pDynamicTabbarHide; + QCheckBox* m_pUseTab; KIntNumInput* m_pMaxFormCompletionItems; + QPushButton *advancedTabButton; }; #endif --- kdebase-3.2.1/konqueror/konq_mainwindow.cc-- 2004-04-02 19:01:08.166728048 +0200 +++ kdebase-3.2.1/konqueror/konq_mainwindow.cc 2004-04-02 19:13:52.401628602 +0200 @@ -160,6 +160,7 @@ KonqMainWindow::KonqMainWindow( const KU m_paBookmarkBar = 0L; m_pURLCompletion = 0L; m_goBuffer = 0; + m_bUseTab = false; m_bViewModeToggled = false; @@ -183,6 +184,8 @@ KonqMainWindow::KonqMainWindow( const KU SLOT( slotFillBookmarksList(KExtendedBookmarkOwner::QStringPairList &) ) ); KConfig *config = KGlobal::config(); + KConfigGroupSaver cs( config, QString::fromLatin1("FMSettings") ); + m_bUseTab = config->readBoolEntry( "UseTab", true ); // init history-manager, load history, get completion object if ( !s_pCompletion ) { @@ -1012,7 +1015,7 @@ void KonqMainWindow::slotCreateNewWindow KConfig *config = KGlobal::config(); KConfigGroupSaver cs( config, QString::fromLatin1("FMSettings") ); - if ( args.newTab() || (config->readBoolEntry( "MMBOpensTab", false ) && + if ( m_bUseTab && (args.newTab() || (config->readBoolEntry( "MMBOpensTab", false ) )&& const_cast<KParts::URLArgs*>(&args)->metaData()["forcenewwindow"]=="") ) { KonqOpenURLRequest req; req.newTab = true; @@ -1049,7 +1052,7 @@ void KonqMainWindow::slotCreateNewWindow KConfig *config = KGlobal::config(); KConfigGroupSaver cs( config, QString::fromLatin1("FMSettings") ); - if ( config->readBoolEntry( "MMBOpensTab", false ) && config->readBoolEntry( "PopupsWithinTabs", true ) ) { + if ( m_bUseTab && config->readBoolEntry( "MMBOpensTab", false ) && config->readBoolEntry( "PopupsWithinTabs", true ) ) { bool aftercurrentpage = config->readBoolEntry( "OpenAfterCurrentPage", false ); bool newtabsinfront = config->readBoolEntry( "NewTabsInFront", false ); KonqView* newView = m_pViewManager->addTab(QString::null, QString::null, false, aftercurrentpage); @@ -3224,10 +3227,13 @@ void KonqMainWindow::initActions() connect( m_paBack->popupMenu(), SIGNAL( aboutToShow() ), this, SLOT( slotBackAboutToShow() ) ); connect( m_paBack->popupMenu(), SIGNAL( activated( int ) ), this, SLOT( slotBackActivated( int ) ) ); + if ( m_bUseTab ) +{ + m_paForward = new KToolBarPopupAction( backForward.second, KStdAccel::shortcut(KStdAccel::Forward), this, SLOT( slotForward() ), actionCollection(), "forward" ); connect( m_paForward->popupMenu(), SIGNAL( aboutToShow() ), this, SLOT( slotForwardAboutToShow() ) ); connect( m_paForward->popupMenu(), SIGNAL( activated( int ) ), this, SLOT( slotForwardActivated( int ) ) ); - + } m_paHistory = new KonqBidiHistoryAction( i18n("History"), actionCollection(), "history" ); connect( m_paHistory, SIGNAL( menuAboutToShow() ), this, SLOT( slotGoMenuAboutToShow() ) ); connect( m_paHistory, SIGNAL( activated( int ) ), this, SLOT( slotGoHistoryActivated( int ) ) ); @@ -3257,6 +3263,9 @@ void KonqMainWindow::initActions() m_paConfigureSpellChecking = new KAction( i18n("Configure Spell Checking..."), "spellcheck", 0,this, SLOT( slotConfigureSpellChecking()), actionCollection(), "configurespellcheck"); + if ( m_bUseTab ) +{ + // Window menu m_paSplitViewHor = new KAction( i18n( "Split View &Left/Right" ), "view_left_right", CTRL+SHIFT+Key_L, this, SLOT( slotSplitViewHorizontal() ), actionCollection(), "splitviewh" ); m_paSplitViewVer = new KAction( i18n( "Split View &Top/Bottom" ), "view_top_bottom", CTRL+SHIFT+Key_T, this, SLOT( slotSplitViewVertical() ), actionCollection(), "splitviewv" ); @@ -3271,7 +3280,7 @@ void KonqMainWindow::initActions() m_paMoveTabLeft = new KAction( i18n("Move Tab Left"), 0 , CTRL+SHIFT+Key_Left,this, SLOT( slotMoveTabLeft()),actionCollection(),"tab_move_left"); m_paMoveTabRight = new KAction( i18n("Move Tab Right"), 0 , CTRL+SHIFT+Key_Right,this, SLOT( slotMoveTabRight()),actionCollection(),"tab_move_right"); - + } #ifndef NDEBUG m_paDumpDebugInfo = new KAction( i18n( "Dump Debug Info" ), "view_dump_debug_info", 0, this, SLOT( slotDumpDebugInfo() ), actionCollection(), "dumpdebuginfo" ); #endif @@ -3425,12 +3434,14 @@ void KonqMainWindow::slotFillContextMenu QValueList<KURL>::Iterator it = list.begin(); for (; it != list.end(); ++it ) popupItems.append( new KFileItem( (*it), QString::null, KFileItem::Unknown) ); - pm->insertItem( i18n( "Open Folder in Tabs" ), this, SLOT( slotPopupNewTab() ) ); + if ( m_bUseTab ) + pm->insertItem( i18n( "Open Folder in Tabs" ), this, SLOT( slotPopupNewTab() ) ); } else { popupItems.append( new KFileItem( bk.url(), QString::null, KFileItem::Unknown) ); - pm->insertItem( i18n( "Open in New Tab" ), this, SLOT( slotPopupNewTab() ) ); + if ( m_bUseTab ) + pm->insertItem( i18n( "Open in New Tab" ), this, SLOT( slotPopupNewTab() ) ); pm->insertItem( i18n( "Open in New Window" ), this, SLOT( slotPopupNewWindow() ) ); } } @@ -3503,12 +3514,14 @@ void KonqMainWindow::updateViewActions() m_paLockView->setEnabled( viewCount() > 1 ); m_paLockView->setChecked( m_currentView && m_currentView->isLockedLocation() ); + if ( m_bUseTab ) // Can remove view if we'll still have a main view after that m_paRemoveView->setEnabled( mainViewsCount() > 1 || ( m_currentView && m_currentView->isToggleView() ) ); KonqFrameBase* docContainer = m_pViewManager->docContainer(); - + if ( m_bUseTab ) + { if ( docContainer == 0L && !(currentView() && currentView()->frame())) { m_paAddTab->setEnabled( false ); @@ -3550,7 +3563,7 @@ void KonqMainWindow::updateViewActions() } } - + } // Can split a view if it's not a toggle view (because a toggle view can be here only once) bool isNotToggle = m_currentView && !m_currentView->isToggleView(); m_paSplitViewHor->setEnabled( isNotToggle ); @@ -3762,7 +3775,8 @@ void KonqMainWindow::disableActionsNoVie m_paLockView->setChecked( false ); m_paSplitViewVer->setEnabled( false ); m_paSplitViewHor->setEnabled( false ); - m_paRemoveView->setEnabled( false ); + if ( m_bUseTab ) + m_paRemoveView->setEnabled( false ); m_paLinkView->setEnabled( false ); if (m_toggleViewGUIClient) { @@ -4025,8 +4039,12 @@ void KonqMainWindow::slotPopupMenu( KXML { actNewWindow = new KAction( i18n( "Open in New &Window" ), "window_new", 0, this, SLOT( slotPopupNewWindow() ), konqyMenuClient->actionCollection(), "newview" ); actNewWindow->setStatusText( i18n( "Open the document in a new window" ) ); - actNewTab = new KAction( i18n( "Open in &New Tab" ), "tab_new", 0, this, SLOT( slotPopupNewTab() ), konqyMenuClient->actionCollection(), "openintab" ); - actNewTab->setStatusText( i18n( "Open the document in a new tab" ) ); + if ( m_bUseTab ) + { + + actNewTab = new KAction( i18n( "Open in &New Tab" ), "tab_new", 0, this, SLOT( slotPopupNewTab() ), konqyMenuClient->actionCollection(), "openintab" ); + actNewTab->setStatusText( i18n( "Open the document in a new tab" ) ); + } } if (currentView->isHierarchicalView())