diff --git a/doc/kcontrol/tdehtml/index.docbook b/doc/kcontrol/tdehtml/index.docbook index 9f706188a..a07cceee9 100644 --- a/doc/kcontrol/tdehtml/index.docbook +++ b/doc/kcontrol/tdehtml/index.docbook @@ -34,12 +34,18 @@ integrated web browser of &tde;. -Behavior +Web Behavior -The first option you can enable on this page is Enable -completion of forms. If you check this box, &konqueror; will -try to remember what you answer to form questions, and will try to fill -in forms for you with the answers you previously used. +The first group of options control bookmarks. With Ask for +name and folder when adding bookmarks, you can change the title +of the bookmark and select a folder to store the bookmark. With +Show only marked bookmarks in bookmark folder you +can change the way &konqueror; shows bookmarks in the bookmark toolbar. + +The next group of options control form completion. The first option +is Enable completion of forms. If you check this box, +&konqueror; will try to remember what you answer to form questions, and will +try to fill in forms for you with the answers you previously used. You can configure the number of form items &konqueror; remembers with the slider below labelled Maximum @@ -54,28 +60,6 @@ will change (usually to a hand) whenever it moves over a hyperlink. This makes it easy to identify links, especially when they are in the form of images. -&konqueror; defaults to a single window per page, but has the -capability to open multiple tabs inside a -single window. &konqueror; also, by default, has a &MMB; shortcut to -open any link in a new window. If you enable Open links in -new tab instead of in new window you can &MMB; click on a -link to have it open in a new tab. - -If you are using tabbed browsing, you can choose if a newly -opened tab becomes the active (front) tab, or goes to -the back. On a slow internet connection, or while browsing a page -that has a list of headlines or other links in a list, you may like to -have the new tabs load in the background while you continue reading. -In this case, leave this setting disabled. If you prefer to go -straight to the new page, leaving the old one in the background to -return to later, enable it. - -If you close a window in &konqueror; that has multiple tabs -open, &konqueror; will ask you if you're sure that you meant to close -it. You can toggle on and off this behavior with the -Confirm when closing windows with multiple tabs -checkbox. - As a convenience feature, if you enable Right click goes back in history, then clicking an empty area (&ie; not a link) in the &konqueror; window will act as if you pressed the @@ -91,23 +75,23 @@ and then load the images if you need them. Enabling Allow automatic delayed reloading/redirecting allows websites to send you to -another page without your interaction. In many cases, this is a -convenience. For example, the website has moved to a new -URL. Many webmasters in this situation will put up +another page without your interaction. In many cases, this is a +convenience. For example, the website has moved to a new +URL. Many webmasters in this situation will put up a page on the old site, telling you that it has moved and you may like to change your bookmark, and then automatically move you along to the -new website. However, such features can be confusing, or annoying, +new website. However, such features can be confusing, or annoying, when misused, and so you may wish to disable it. The next setting is Underline links:. You can -choose to underline links Always. If this option +choose to underline links Always. If this option is selected, any text on web pages that acts as a link will be shown in an underlined font. While many web pages do use color to distinguish text that acts as a link, underlining makes it very easy to spot links. If you don't like underlined links, you can choose -Never, so that no links are underlined. Or you +Never, so that no links are underlined. Or you can choose a middle ground, Hover, so that links are underlined when the mouse cursor is resting over them, and not underlined the rest of the time. @@ -115,13 +99,41 @@ underlined the rest of the time. Many web pages use animated gif images, and these can be very annoying, and in some cases, quite a drain on your system resources. The Animations option lets you choose when -animations are enabled. The default is enabled, but you can set this +animations are enabled. The default is enabled, but you can set this to disabled, or to run the animation only once, even if the file itself contains instructions that the animation should run more times, or continuously. + + +User Interface + +&konqueror; defaults to a single window per page, but has the +ability to open multiple tabs inside a +single window. By default, &konqueror; has a &MMB; shortcut to +open any link in a new window. If you enable Open links in +new tab instead of in new window you can &MMB; click on a +link to have it open in a new tab. + +If you are using tabbed browsing, you can choose if a newly +opened tab becomes the active (front) tab, or goes to +the back. On a slow internet connection, or while browsing a page +that has a list of headlines or other links in a list, you may like to +have the new tabs load in the background while you continue reading. +In this case, leave this setting disabled. If you prefer to go +straight to the new page, leaving the old one in the background to +return to later, enable it. + +If you close a window in &konqueror; that has multiple tabs +open, &konqueror; will ask you if you're sure that you meant to close +it. You can toggle on and off this behavior with the +Confirm when closing windows with multiple tabs +checkbox. + + + Fonts @@ -131,7 +143,7 @@ of fonts. Although the shapes and sizes of fonts are often part of the design of a web page, you can select some default settings for &konqueror; to use. -The first thing you can set here is the font size. There are two +The first thing you can set here is the font size. There are two settings which work together to allow you a comfortable browsing experience. @@ -140,10 +152,10 @@ This means, even if the font size is set specifically in the page you are viewing, &konqueror; will ignore that instruction and never show smaller fonts than you set here. -Next you can set a Medium Font Size. This is +Next you can set a Medium Font Size. This is not only the default size of text, used when the page doesn't specify sizes, but it is also used as the base size that relative font sizes are -calculated against. That is, the HTML instruction +calculated against. That is, the HTML instruction smaller, it means smaller than the size you set for this option. @@ -151,11 +163,11 @@ option. using the up/down spin control (or just typing) next to the option label. -These options are independent of each other. Pages that do not +These options are independent of each other. Pages that do not set a font size, or ask for the default, will display with the size you set from Medium Font Size, while any pages that ask for a size smaller than your Minimum Font -Size setting will instead show that size. The one does not +Size setting will instead show that size. The one does not affect the other. The remaining options are for the fonts to be associated with @@ -170,16 +182,16 @@ through all of the fonts.) each Charset, by changing the character set in the first drop down box, and then selecting a font for each category below. This would take quite some time, so you may just want to set up the -fonts for your default character set. Most English speaking users will +fonts for your default character set. Most English speaking users will use iso8859-1 --> Below this, you can set a Font size adjustment for this -encoding. Sometimes the fonts you want to use for a +encoding. Sometimes the fonts you want to use for a particular encoding or language are much larger or smaller than average, so you can use this setting to bring them into line. You can set a default encoding that &konqueror; should assume -pages are when rendering them. The default setting is Use +pages are when rendering them. The default setting is Use language encoding, but you can change it to any encoding available in the list. @@ -230,7 +242,7 @@ diagnosing problems with &Java; applications. transports for network connections. Use security -manager is normally enabled by default. This setting will +manager is normally enabled by default. This setting will cause the JVM to run with a Security Manager in place. This will keep applets from being able to read and write to your file system, creating arbitrary sockets, and other actions which could be used to compromise @@ -241,9 +253,9 @@ more permissions. The Shutdown Applet Server when inactive checkbox allows you to save resources by closing the &Java; Applet Server when it is not in use, rather than leaving it running in the -background. Leaving this disabled may make &Java; applets start up +background. Leaving this disabled may make &Java; applets start up faster, but it will use system resources when you are not using a -&Java; applet. If you enable this, you can set a timeout. +&Java; applet. If you enable this, you can set a timeout. You can either opt to have &konqueror; automatically detect the &Java; installation on your system, or specify the path to the @@ -288,13 +300,13 @@ current list to a compressed archive file, click the when a page uses JavaScript for specific actions. You can individually enable or disable the ability of JavaScript -to manipulate your windows by moving, resizing or changing focus. You +to manipulate your windows by moving, resizing or changing focus. You can also disable JavaScript from changing the status bar text, so that for instance, you can always see where links will take you when clicked.The choices for these options are Allow and Ignore. -For opening a new window, there is even more control. You can +For opening a new window, there is even more control. You can set &konqueror; to Allow all such requests, Ask each time a request is made, or Deny all popup requests. @@ -336,8 +348,8 @@ as comments and can be used to clarify or label a set of filters. Plugins The first setting here is Enable Plugins -globally. If you disable this checkbox, then &konqueror; -will not use any plugins. If you enable it, then any installed and +globally. If you disable this checkbox, then &konqueror; +will not use any plugins. If you enable it, then any installed and configured plugins that it can find will be used by &konqueror; You can also restrict &konqueror; to Only allow HTTP diff --git a/kcontrol/konqhtml/CMakeLists.txt b/kcontrol/konqhtml/CMakeLists.txt index 097ba8221..26cd535f5 100644 --- a/kcontrol/konqhtml/CMakeLists.txt +++ b/kcontrol/konqhtml/CMakeLists.txt @@ -26,6 +26,7 @@ link_directories( install( FILES tdehtml_behavior.desktop tdehtml_java_js.desktop tdehtml_fonts.desktop tdehtml_filter.desktop + tdehtml_userinterface.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install( @@ -42,12 +43,11 @@ install( tde_add_kpart( kcm_konqhtml AUTOMOC SOURCES - advancedTabDialog.cpp htmlopts.cpp jsopts.cpp - javaopts.cpp pluginopts.cpp appearance.cpp - khttpoptdlg.cpp policydlg.cpp main.cpp + userInterOpts.ui userInterOpts_impl.cpp userInterConfig.cpp + htmlopts.cpp jsopts.cpp javaopts.cpp pluginopts.cpp + appearance.cpp khttpoptdlg.cpp policydlg.cpp main.cpp jspolicies.cpp nsconfigwidget.ui policies.cpp - domainlistview.cpp advancedTabOptions.ui - filteropts.cpp + domainlistview.cpp filteropts.cpp LINK tdehtml-shared DESTINATION ${PLUGIN_INSTALL_DIR} ) diff --git a/kcontrol/konqhtml/Makefile.am b/kcontrol/konqhtml/Makefile.am index 151e22aff..c1f276444 100644 --- a/kcontrol/konqhtml/Makefile.am +++ b/kcontrol/konqhtml/Makefile.am @@ -5,17 +5,17 @@ METASOURCES = AUTO kde_module_LTLIBRARIES = kcm_konqhtml.la -kcm_konqhtml_la_SOURCES = advancedTabDialog.cpp htmlopts.cpp jsopts.cpp \ +kcm_konqhtml_la_SOURCES = userInterOpts.ui userInterOpts_impl.cpp \ + userInterConfig.cpp htmlopts.cpp jsopts.cpp \ javaopts.cpp pluginopts.cpp appearance.cpp \ khttpoptdlg.cpp policydlg.cpp main.cpp \ jspolicies.cpp nsconfigwidget.ui policies.cpp \ - domainlistview.cpp advancedTabOptions.ui \ - filteropts.cpp + domainlistview.cpp filteropts.cpp kcm_konqhtml_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined kcm_konqhtml_la_LIBADD = -ltdehtml -ltdeui -xdg_apps_DATA = tdehtml_behavior.desktop tdehtml_java_js.desktop tdehtml_fonts.desktop tdehtml_filter.desktop +xdg_apps_DATA = tdehtml_behavior.desktop tdehtml_java_js.desktop tdehtml_fonts.desktop tdehtml_filter.desktop tdehtml_userinterface.desktop messages: rc.cpp $(XGETTEXT) *.cpp -o $(podir)/kcmkonqhtml.pot diff --git a/kcontrol/konqhtml/advancedTabDialog.cpp b/kcontrol/konqhtml/advancedTabDialog.cpp deleted file mode 100644 index 10e62fd53..000000000 --- a/kcontrol/konqhtml/advancedTabDialog.cpp +++ /dev/null @@ -1,150 +0,0 @@ -/* - * advancedTabDialog.cpp - * - * Copyright (c) 2002 Aaron J. Seigo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - - -------------------------------------------------------------- - Additional changes: - - 2013/10/16 Michele Calgaro - * centralized "tabbed browsing" options in this dialog - */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "advancedTabDialog.h" -#include "advancedTabOptions.h" -#include "main.h" - -advancedTabDialog::advancedTabDialog(TQWidget* parent, TDEConfig* config, const char* name) - : KDialogBase(KDialogBase::Plain, - i18n("Advanced Options"), - KDialogBase::Ok | - KDialogBase::Apply | - KDialogBase::Cancel, - KDialogBase::Ok, - parent, - name, - true, true), - m_pConfig(config) -{ - connect(this, TQT_SIGNAL(applyClicked()), - this, TQT_SLOT(save())); - connect(this, TQT_SIGNAL(okClicked()), - this, TQT_SLOT(save())); - actionButton(Apply)->setEnabled(false); - TQFrame* page = plainPage(); - TQVBoxLayout* layout = new TQVBoxLayout(page); - m_advancedWidget = new advancedTabOptions(page); - layout->addWidget(m_advancedWidget); - layout->addSpacing( 20 ); - layout->addStretch(); - - connect(m_advancedWidget->m_pShowMMBInTabs, TQT_SIGNAL(clicked()), TQT_SLOT(changed())); - connect(m_advancedWidget->m_pDynamicTabbarHide, TQT_SIGNAL(clicked()), TQT_SLOT(changed())); - connect(m_advancedWidget->m_pDynamicTabbarCycle, TQT_SIGNAL(clicked()), TQT_SLOT(changed())); - 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())); - connect(m_advancedWidget->m_pPermanentCloseButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); - connect(m_advancedWidget->m_pHoverCloseButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); - connect(m_advancedWidget->m_pKonquerorTabforExternalURL, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); - connect(m_advancedWidget->m_pPopupsWithinTabs, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed())); - - load(); -} - -advancedTabDialog::~advancedTabDialog() -{ -} - -void advancedTabDialog::load() -{ - m_pConfig->setGroup("FMSettings"); - m_advancedWidget->m_pShowMMBInTabs->setChecked( m_pConfig->readBoolEntry( "MMBOpensTab", false ) ); - m_advancedWidget->m_pDynamicTabbarHide->setChecked( !(m_pConfig->readBoolEntry( "AlwaysTabbedMode", false )) ); - m_advancedWidget->m_pDynamicTabbarCycle->setChecked( m_pConfig->readBoolEntry( "TabsCycleWheel", true ) ); - 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_pHoverCloseButton->setChecked( m_pConfig->readBoolEntry( "HoverCloseButton", false ) ); - m_advancedWidget->m_pKonquerorTabforExternalURL->setChecked( m_pConfig->readBoolEntry( "KonquerorTabforExternalURL", false ) ); - m_advancedWidget->m_pPopupsWithinTabs->setChecked( m_pConfig->readBoolEntry( "PopupsWithinTabs", false ) ); - m_advancedWidget->m_pTabCloseActivatePrevious->setChecked( m_pConfig->readBoolEntry( "TabCloseActivatePrevious", false ) ); - - m_pConfig->setGroup("Notification Messages"); - m_advancedWidget->m_pTabConfirm->setChecked( !m_pConfig->hasKey("MultipleTabConfirm") ); - - if ( m_advancedWidget->m_pPermanentCloseButton->isChecked() ) - m_advancedWidget->m_pHoverCloseButton->setEnabled(false); - else - m_advancedWidget->m_pHoverCloseButton->setEnabled(true); - actionButton(Apply)->setEnabled(false); -} - -void advancedTabDialog::save() -{ - m_pConfig->setGroup("FMSettings"); - m_pConfig->writeEntry( "MMBOpensTab", (m_advancedWidget->m_pShowMMBInTabs->isChecked()) ); - m_pConfig->writeEntry( "AlwaysTabbedMode", ( !(m_advancedWidget->m_pDynamicTabbarHide->isChecked())) ); - m_pConfig->writeEntry( "TabsCycleWheel", (m_advancedWidget->m_pDynamicTabbarCycle->isChecked()) ); - 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( "HoverCloseButton", m_advancedWidget->m_pHoverCloseButton->isChecked() ); - m_pConfig->writeEntry( "KonquerorTabforExternalURL", m_advancedWidget->m_pKonquerorTabforExternalURL->isChecked() ); - m_pConfig->writeEntry( "PopupsWithinTabs", m_advancedWidget->m_pPopupsWithinTabs->isChecked() ); - m_pConfig->writeEntry( "TabCloseActivatePrevious", m_advancedWidget->m_pTabCloseActivatePrevious->isChecked() ); - m_pConfig->sync(); - - // It only matters whether the key is present, its value has no meaning - m_pConfig->setGroup("Notification Messages"); - if ( m_advancedWidget->m_pTabConfirm->isChecked() ) m_pConfig->deleteEntry( "MultipleTabConfirm" ); - else m_pConfig->writeEntry( "MultipleTabConfirm", true ); - - TQByteArray data; - if ( !TDEApplication::kApplication()->dcopClient()->isAttached() ) - kapp->dcopClient()->attach(); - TDEApplication::kApplication()->dcopClient()->send( "konqueror*", "KonquerorIface", "reparseConfiguration()", data ); - - if ( m_advancedWidget->m_pPermanentCloseButton->isChecked() ) - m_advancedWidget->m_pHoverCloseButton->setEnabled(false); - else - m_advancedWidget->m_pHoverCloseButton->setEnabled(true); - actionButton(Apply)->setEnabled(false); -} - -void advancedTabDialog::changed() -{ - if ( m_advancedWidget->m_pPermanentCloseButton->isChecked() ) - m_advancedWidget->m_pHoverCloseButton->setEnabled(false); - else - m_advancedWidget->m_pHoverCloseButton->setEnabled(true); - actionButton(Apply)->setEnabled(true); -} - -#include "advancedTabDialog.moc" diff --git a/kcontrol/konqhtml/advancedTabOptions.ui b/kcontrol/konqhtml/advancedTabOptions.ui deleted file mode 100644 index cd8331d27..000000000 --- a/kcontrol/konqhtml/advancedTabOptions.ui +++ /dev/null @@ -1,199 +0,0 @@ - -advancedTabOptions - - - advancedTabOptions - - - - 0 - 0 - 644 - 208 - - - - - unnamed - - - 0 - - - - TextLabel3 - - - <b>Tab Options</b> - - - - - Line1 - - - HLine - - - Sunken - - - Horizontal - - - - - layout - - - - unnamed - - - - m_pShowMMBInTabs - - - Open &links in new tab instead of in new window - - - 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. - - - - - m_pDynamicTabbarHide - - - &Hide the tab bar when only one tab is open - - - This will display the tab bar only if there are two or more tabs. Otherwise it will always be displayed. - - - - - m_pDynamicTabbarCycle - - - C&ycle tabs with mouse wheel - - - This will cycle through tabs when there are two or more tabs using the mouse wheel. - - - - - 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 - - - Open &new tab after current tab - - - This will open a new tab opened from a page after the current tab, instead of after the last tab. - - - - - m_pTabConfirm - - - Confirm &when closing windows with multiple tabs - - - This will ask you whether you are sure you want to close a window when it has multiple tabs opened in it. - - - - - m_pPermanentCloseButton - - - &Show close button instead of website icon - - - This will display close buttons inside each tab instead of websites' icons. - - - - - m_pHoverCloseButton - - - &Show close button instead of website icon with mouse hover - - - This will display a close button inside each tab instead of websites' icons when the mouse pointer hovers the icon. - - - - - m_pPopupsWithinTabs - - - Open pop&ups in new tab instead of in new window - - - Whether or not JavaScript popups if allowed shall open in a new tab or in a new window. - - - - - m_pTabCloseActivatePrevious - - - Activate previous used tab when closing the current tab - - - When checking this the previous used or opened tab will be activated when you close the current active tab instead of the one right to the current tab. - - - - - m_pKonquerorTabforExternalURL - - - Open as tab in existing Konqueror when URL is called externally - - - When you click a URL in another TDE program or call kfmclient to open a URL, the current desktop will be searched for a non-minimized Konqueror and, if found, the URL opened as a new tab within it. Otherwise a new Konqueror window will be opened with the required URL. - - - - - - - spacer - - - Vertical - - - Expanding - - - - 20 - 0 - - - - - - - kdialog.h - - - - diff --git a/kcontrol/konqhtml/htmlopts.cpp b/kcontrol/konqhtml/htmlopts.cpp index 5ba1a8d9b..99bdb25a4 100644 --- a/kcontrol/konqhtml/htmlopts.cpp +++ b/kcontrol/konqhtml/htmlopts.cpp @@ -16,7 +16,6 @@ #include #include "htmlopts.h" -#include "advancedTabDialog.h" #include // include default values directly from konqueror #include // get default for DEFAULT_CHANGECURSOR @@ -83,19 +82,6 @@ KMiscHTMLOptions::KMiscHTMLOptions(TDEConfig *config, TQString group, TQWidget * lay->addMultiCellWidget( bgForm, row, row, 0, 1 ); row++; - // Tabbed Browsing - - TQGroupBox *bgTabbedBrowsing = new TQGroupBox( 0, Qt::Vertical, i18n("Tabbed Browsing"), this ); - TQHBoxLayout *laytab = new TQHBoxLayout(bgTabbedBrowsing->layout(), KDialog::spacingHint()); - - TQPushButton *advancedTabButton = new TQPushButton( i18n( "Show &tab options"), bgTabbedBrowsing ); - laytab->addWidget(advancedTabButton); - laytab->addStretch(); - connect(advancedTabButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(launchAdvancedTabDialog())); - - lay->addMultiCellWidget( bgTabbedBrowsing, row, row, 0, 1 ); - row++; - // Mouse behavior TQVGroupBox *bgMouse = new TQVGroupBox( i18n("Mouse Beha&vior"), this ); @@ -386,7 +372,6 @@ void KMiscHTMLOptions::save() emit changed(false); } - void KMiscHTMLOptions::slotChanged() { m_pMaxFormCompletionItems->setEnabled( m_pFormCompletionCheckBox->isChecked() ); @@ -394,10 +379,3 @@ void KMiscHTMLOptions::slotChanged() } -void KMiscHTMLOptions::launchAdvancedTabDialog() -{ - advancedTabDialog* dialog = new advancedTabDialog(this, m_pConfig, "advancedTabDialog"); - dialog->exec(); -} - - diff --git a/kcontrol/konqhtml/htmlopts.h b/kcontrol/konqhtml/htmlopts.h index c318d0628..bdfa3cd81 100644 --- a/kcontrol/konqhtml/htmlopts.h +++ b/kcontrol/konqhtml/htmlopts.h @@ -48,7 +48,6 @@ public: private slots: void slotChanged(); - void launchAdvancedTabDialog(); private: TDEConfig* m_pConfig; diff --git a/kcontrol/konqhtml/main.cpp b/kcontrol/konqhtml/main.cpp index 7c248ec70..2f71a7bc5 100644 --- a/kcontrol/konqhtml/main.cpp +++ b/kcontrol/konqhtml/main.cpp @@ -36,6 +36,7 @@ #include "appearance.h" #include "htmlopts.h" #include "filteropts.h" +#include "userInterConfig.h" #include "main.h" #include @@ -67,11 +68,17 @@ extern "C" return new KPluginOptions(c, "Java/JavaScript Settings", parent, name); } - KDE_EXPORT TDECModule *create_tdehtml_filter(TQWidget *parent, const char *name ) - { - TDEConfig *c = new TDEConfig( "tdehtmlrc", false, false ); - return new KCMFilter(c, "Filter Settings", parent, name); - } + KDE_EXPORT TDECModule *create_tdehtml_filter(TQWidget *parent, const char *name ) + { + TDEConfig *c = new TDEConfig( "tdehtmlrc", false, false ); + return new KCMFilter(c, "Filter Settings", parent, name); + } + + KDE_EXPORT TDECModule *create_tdehtml_userinterface(TQWidget *parent, const char *name ) + { + TDEConfig *c = new TDEConfig( "konquerorrc", false, false ); + return new userInterConfig(c, "FMSettings", parent, name); + } } diff --git a/kcontrol/konqhtml/tdehtml_userinterface.desktop b/kcontrol/konqhtml/tdehtml_userinterface.desktop new file mode 100644 index 000000000..333cb036c --- /dev/null +++ b/kcontrol/konqhtml/tdehtml_userinterface.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Type=Application +DocPath=kcontrol/tdehtml/index.html#userinterface +Icon=konqueror +Exec=tdecmshell tdehtml_userinterface + + +X-TDE-Library=konqhtml +X-TDE-FactoryName=tdehtml_userinterface + +Name=User Interface +Name[it]=Interfaccia utente +Comment=Configure user interface options +Comment[it]=Configura opzioni dell'interfaccia utente +Keywords=konqueror,kfm,user,interface,tabbed,browsing +Keywords[it]=konqueror,kfm,utente,interfaccia,linguette,navigazione + +Categories=Qt;TDE;X-TDE-settings-webbrowsing; diff --git a/kcontrol/konqhtml/userInterConfig.cpp b/kcontrol/konqhtml/userInterConfig.cpp new file mode 100644 index 000000000..4e18c6d38 --- /dev/null +++ b/kcontrol/konqhtml/userInterConfig.cpp @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2005 Stefan Nikolaus + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + */ + +#include +#include + +#include +#include + +#include "userInterOpts_impl.h" +#include "main.h" + +#include "userInterConfig.h" +#include "userInterConfig.moc" + +userInterConfig::userInterConfig(TDEConfig *config, TQString groupName, + TQWidget *parent, const char *name) + : TDECModule(parent, "kcmkonqhtml") +{ + TQVBoxLayout *layout = new TQVBoxLayout(this); + m_widget = new userInterOpts(config, groupName, this, name); + layout->addWidget(m_widget); + layout->addStretch(); + + connect(m_widget, TQT_SIGNAL(changed()), + this, TQT_SLOT(changed())); + + load(); + TQTimer::singleShot(0, this, TQT_SLOT(notChanged())); +} + +void userInterConfig::notChanged() +{ + emit changed(false); +} + +void userInterConfig::load() +{ + m_widget->load(); + TDECModule::load(); +} + +void userInterConfig::save() +{ + m_widget->save(); + TDECModule::save(); +} + +void userInterConfig::defaults() +{ + m_widget->defaults(); + TDECModule::defaults(); + + // TDEConfigDialogManager may queue an changed(false) signal, + // so we make sure, that the module is labeled as changed, + // while we manage some of the widgets ourselves + TQTimer::singleShot(0, this, TQT_SLOT(changed())); +} diff --git a/kcontrol/konqhtml/userInterConfig.h b/kcontrol/konqhtml/userInterConfig.h new file mode 100644 index 000000000..b87879e45 --- /dev/null +++ b/kcontrol/konqhtml/userInterConfig.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2005 Stefan Nikolaus + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + */ + +#ifndef __USER_INTER_CONFIG_H__ +#define __USER_INTER_CONFIG_H__ + +#include + +class userInterOpts; + +class userInterConfig : public TDECModule +{ + Q_OBJECT + +public: + userInterConfig(TDEConfig *config, TQString group, + TQWidget *parent = 0, const char *name = 0); + + void load(); + void save(); + void defaults(); + +public slots: + void notChanged(); + +private: + userInterOpts *m_widget; +}; + +#endif // __USER_INTER_CONFIG_H__ diff --git a/kcontrol/konqhtml/userInterOpts.ui b/kcontrol/konqhtml/userInterOpts.ui new file mode 100644 index 000000000..8a6ebc3fe --- /dev/null +++ b/kcontrol/konqhtml/userInterOpts.ui @@ -0,0 +1,195 @@ + +userInterOptsBase + + + userInterOptsBase + + + + 0 + 0 + 644 + 208 + + + + + unnamed + + + 0 + + + + m_group_1 + + + + 1 + 4 + 0 + 0 + + + + Tabbed Browsing + + + + unnamed + + + + layout + + + + unnamed + + + + m_pShowMMBInTabs + + + Open &links in new tab instead of in new window + + + 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. + + + + + m_pDynamicTabbarHide + + + &Hide the tab bar when only one tab is open + + + This will display the tab bar only if there are two or more tabs. Otherwise it will always be displayed. + + + + + m_pDynamicTabbarCycle + + + C&ycle tabs with mouse wheel + + + This will cycle through tabs when there are two or more tabs using the mouse wheel. + + + + + 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 + + + Open &new tab after current tab + + + This will open a new tab opened from a page after the current tab, instead of after the last tab. + + + + + m_pTabConfirm + + + Confirm &when closing windows with multiple tabs + + + This will ask you whether you are sure you want to close a window when it has multiple tabs opened in it. + + + + + m_pPermanentCloseButton + + + &Show close button instead of website icon + + + This will display close buttons inside each tab instead of websites' icons. + + + + + m_pHoverCloseButton + + + &Show close button instead of website icon with mouse hover + + + This will display a close button inside each tab instead of websites' icons when the mouse pointer hovers the icon. + + + + + m_pPopupsWithinTabs + + + Open pop&ups in new tab instead of in new window + + + Whether or not JavaScript popups if allowed shall open in a new tab or in a new window. + + + + + m_pKonquerorTabforExternalURL + + + Open as tab in existing Konqueror when URL is called externally + + + When you click a URL in another TDE program or call kfmclient to open a URL, the current desktop will be searched for a non-minimized Konqueror and, if found, the URL opened as a new tab within it. Otherwise a new Konqueror window will be opened with the required URL. + + + + + m_pTabCloseActivatePrevious + + + Activate previous used tab when closing the current tab + + + When checking this the previous used or opened tab will be activated when you close the current active tab instead of the one right to the current tab. + + + + + + + + + spacer + + + Vertical + + + Expanding + + + + 20 + 16 + + + + + + + + diff --git a/kcontrol/konqhtml/userInterOpts_impl.cpp b/kcontrol/konqhtml/userInterOpts_impl.cpp new file mode 100644 index 000000000..efe3c7343 --- /dev/null +++ b/kcontrol/konqhtml/userInterOpts_impl.cpp @@ -0,0 +1,127 @@ +/* + * userInterOpts.cpp + * + * Copyright (c) 2002 Aaron J. Seigo + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "main.h" +#include "userInterOpts_impl.h" +#include "userInterOpts_impl.moc" + +userInterOpts::userInterOpts(TDEConfig *config, TQString groupName, + TQWidget* parent, const char* name) + : userInterOptsBase(parent, name), m_pConfig(config), m_groupName(groupName) +{ + // connections + connect(m_pShowMMBInTabs, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pDynamicTabbarHide, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pDynamicTabbarCycle, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pNewTabsInBackground, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pOpenAfterCurrentPage, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pTabConfirm, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pPermanentCloseButton, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pHoverCloseButton, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pKonquerorTabforExternalURL, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pPopupsWithinTabs, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); + connect(m_pTabCloseActivatePrevious, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotChanged())); +} + +void userInterOpts::load() +{ + load(false); +} + +void userInterOpts::load(bool useDefaults) +{ + m_pConfig->setReadDefaults(useDefaults); + m_pConfig->setGroup(m_groupName); + + m_pShowMMBInTabs->setChecked( m_pConfig->readBoolEntry( "MMBOpensTab", false ) ); + m_pDynamicTabbarHide->setChecked( !(m_pConfig->readBoolEntry( "AlwaysTabbedMode", false )) ); + m_pDynamicTabbarCycle->setChecked( m_pConfig->readBoolEntry( "TabsCycleWheel", true ) ); + m_pNewTabsInBackground->setChecked( ! (m_pConfig->readBoolEntry( "NewTabsInFront", false )) ); + m_pOpenAfterCurrentPage->setChecked( m_pConfig->readBoolEntry( "OpenAfterCurrentPage", false ) ); + m_pPermanentCloseButton->setChecked( m_pConfig->readBoolEntry( "PermanentCloseButton", false ) ); + m_pHoverCloseButton->setChecked( m_pConfig->readBoolEntry( "HoverCloseButton", false ) ); + m_pKonquerorTabforExternalURL->setChecked( m_pConfig->readBoolEntry( "KonquerorTabforExternalURL", false ) ); + m_pPopupsWithinTabs->setChecked( m_pConfig->readBoolEntry( "PopupsWithinTabs", false ) ); + m_pTabCloseActivatePrevious->setChecked( m_pConfig->readBoolEntry( "TabCloseActivatePrevious", false ) ); + + m_pConfig->setGroup("Notification Messages"); + m_pTabConfirm->setChecked( !m_pConfig->hasKey("MultipleTabConfirm") ); + + if ( m_pPermanentCloseButton->isChecked() ) + m_pHoverCloseButton->setEnabled(false); + else + m_pHoverCloseButton->setEnabled(true); +} + +void userInterOpts::save() +{ + m_pConfig->setGroup(m_groupName); + + m_pConfig->writeEntry( "MMBOpensTab", (m_pShowMMBInTabs->isChecked()) ); + m_pConfig->writeEntry( "AlwaysTabbedMode", ( !(m_pDynamicTabbarHide->isChecked())) ); + m_pConfig->writeEntry( "TabsCycleWheel", (m_pDynamicTabbarCycle->isChecked()) ); + m_pConfig->writeEntry( "NewTabsInFront", !(m_pNewTabsInBackground->isChecked()) ); + m_pConfig->writeEntry( "OpenAfterCurrentPage", m_pOpenAfterCurrentPage->isChecked() ); + m_pConfig->writeEntry( "PermanentCloseButton", m_pPermanentCloseButton->isChecked() ); + m_pConfig->writeEntry( "HoverCloseButton", m_pHoverCloseButton->isChecked() ); + m_pConfig->writeEntry( "KonquerorTabforExternalURL", m_pKonquerorTabforExternalURL->isChecked() ); + m_pConfig->writeEntry( "PopupsWithinTabs", m_pPopupsWithinTabs->isChecked() ); + m_pConfig->writeEntry( "TabCloseActivatePrevious", m_pTabCloseActivatePrevious->isChecked() ); + m_pConfig->sync(); + + // It only matters whether the key is present, its value has no meaning + m_pConfig->setGroup("Notification Messages"); + if ( m_pTabConfirm->isChecked() ) m_pConfig->deleteEntry( "MultipleTabConfirm" ); + else m_pConfig->writeEntry( "MultipleTabConfirm", true ); + + TQByteArray data; + if ( !TDEApplication::kApplication()->dcopClient()->isAttached() ) + kapp->dcopClient()->attach(); + TDEApplication::kApplication()->dcopClient()->send( "konqueror*", "KonquerorIface", "reparseConfiguration()", data ); + + if ( m_pPermanentCloseButton->isChecked() ) + m_pHoverCloseButton->setEnabled(false); + else + m_pHoverCloseButton->setEnabled(true); +} + +void userInterOpts::defaults() +{ + load(true); +} + +void userInterOpts::slotChanged() +{ + emit changed(); +} + + diff --git a/kcontrol/konqhtml/advancedTabDialog.h b/kcontrol/konqhtml/userInterOpts_impl.h similarity index 57% rename from kcontrol/konqhtml/advancedTabDialog.h rename to kcontrol/konqhtml/userInterOpts_impl.h index 8951b01e1..763b640b9 100644 --- a/kcontrol/konqhtml/advancedTabDialog.h +++ b/kcontrol/konqhtml/userInterOpts_impl.h @@ -1,5 +1,5 @@ /* - * advancedTabDialog.h + * userInterOpts_impl.h * * Copyright (c) 2002 Aaron J. Seigo * @@ -17,29 +17,33 @@ * along with this program; if not, write to the Free Software */ -#ifndef __ADVANCEDTABDIALOG_H -#define __ADVANCEDTABDIALOG_H +#ifndef __USERINTERFACE_OPTIONS_IMPL_H +#define __USERINTERFACE_OPTIONS_IMPL_H -#include - -class advancedTabOptions; - -class advancedTabDialog : public KDialogBase +#include "userInterOpts.h" + +class userInterOpts : public userInterOptsBase { - Q_OBJECT - - public: - advancedTabDialog(TQWidget* parent, TDEConfig *config, const char* name); - ~advancedTabDialog(); - - protected slots: - void load(); - void save(); - void changed(); - - private: - TDEConfig* m_pConfig; - advancedTabOptions* m_advancedWidget; + Q_OBJECT + + public: + userInterOpts(TDEConfig *config, TQString groupName, + TQWidget* parent =0, const char* name =0); + + void load(); + void load(bool useDefaults); + void save(); + void defaults(); + + signals: + void changed(); + + protected: + TDEConfig *m_pConfig; + TQString m_groupName; + + private slots: + void slotChanged(); }; #endif diff --git a/konqueror/konq_mainwindow.cc b/konqueror/konq_mainwindow.cc index 90e6c0c54..ecd78b7cf 100644 --- a/konqueror/konq_mainwindow.cc +++ b/konqueror/konq_mainwindow.cc @@ -3875,8 +3875,8 @@ void KonqMainWindow::initActions() m_configureModules << "kde-filebehavior.desktop" << "kde-fileappearance.desktop" << "kde-filepreviews.desktop" << "tde-filetypes.desktop" << - "tde-tdehtml_behavior.desktop" << "tde-tdehtml_java_js.desktop" << - "tde-tdehtml_filter.desktop" << + "tde-tdehtml_behavior.desktop" << "tde-tdehtml_userinterface.desktop" << + "tde-tdehtml_java_js.desktop" << "tde-tdehtml_filter.desktop" << "tde-tdehtml_fonts.desktop" << "tde-ebrowsing.desktop" << "tde-kcmhistory.desktop" << "tde-cookies.desktop" << "tde-cache.desktop" << "tde-proxy.desktop" << "tde-kcmcss.desktop" <<