diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mainwindow.cpp | 8 | ||||
-rw-r--r-- | src/rekonq.kcfg | 3 | ||||
-rw-r--r-- | src/settings/settings_general.ui | 13 | ||||
-rw-r--r-- | src/settings/settingsdialog.cpp | 11 | ||||
-rw-r--r-- | src/settings/settingsdialog.h | 1 |
5 files changed, 31 insertions, 5 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 083bb810..84d79c40 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -963,10 +963,14 @@ void MainWindow::viewPageSource() void MainWindow::homePage(Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers) { + KUrl homeUrl = ReKonfig::useNewTabPage() + ? KUrl( QL1S("about:home") ) + : KUrl( ReKonfig::homePage() ); + if (mouseButtons == Qt::MidButton || keyboardModifiers == Qt::ControlModifier) - Application::instance()->loadUrl(KUrl(ReKonfig::homePage()), Rekonq::SettingOpenTab); + Application::instance()->loadUrl( homeUrl, Rekonq::SettingOpenTab); else - currentTab()->view()->load(QUrl(ReKonfig::homePage())); + currentTab()->view()->load( homeUrl ); } diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg index 86e47534..fa4a236d 100644 --- a/src/rekonq.kcfg +++ b/src/rekonq.kcfg @@ -60,6 +60,9 @@ <entry name="homePage" type="String"> <default>http://www.kde.org/</default> </entry> + <entry name="useNewTabPage" type="Bool"> + <default>false</default> + </entry> <entry name="kgetDownload" type="Bool"> <default>false</default> </entry> diff --git a/src/settings/settings_general.ui b/src/settings/settings_general.ui index ccc3fa20..f7771cbc 100644 --- a/src/settings/settings_general.ui +++ b/src/settings/settings_general.ui @@ -79,7 +79,7 @@ <string>Home Page</string> </property> <layout class="QFormLayout" name="formLayout_2"> - <item row="0" column="0"> + <item row="1" column="0"> <widget class="QLabel" name="label_2"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> @@ -101,7 +101,7 @@ </property> </widget> </item> - <item row="0" column="1"> + <item row="1" column="1"> <widget class="KLineEdit" name="kcfg_homePage"> <property name="enabled"> <bool>true</bool> @@ -114,7 +114,7 @@ </property> </widget> </item> - <item row="1" column="1"> + <item row="2" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_3"> <item> <widget class="QPushButton" name="setHomeToCurrentPageButton"> @@ -138,6 +138,13 @@ </item> </layout> </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="kcfg_useNewTabPage"> + <property name="text"> + <string>Use New Tab Page</string> + </property> + </widget> + </item> </layout> </widget> </item> diff --git a/src/settings/settingsdialog.cpp b/src/settings/settingsdialog.cpp index d2d5c0d0..3f701c5b 100644 --- a/src/settings/settingsdialog.cpp +++ b/src/settings/settingsdialog.cpp @@ -151,6 +151,10 @@ SettingsDialog::SettingsDialog(QWidget *parent) connect(d->generalUi.setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT(setHomeToCurrentPage())); + // new tab page + disableHomeSettings(ReKonfig::useNewTabPage()); + connect(d->generalUi.kcfg_useNewTabPage, SIGNAL(toggled(bool)), this, SLOT(disableHomeSettings(bool))); + // update buttons connect(d->adBlockWidg, SIGNAL(changed(bool)), this, SLOT(updateButtons())); connect(d->networkWidg, SIGNAL(changed(bool)), this, SLOT(updateButtons())); @@ -239,3 +243,10 @@ void SettingsDialog::setHomeToCurrentPage() d->generalUi.kcfg_homePage->setText(webTab->url().prettyUrl()); } } + + +void SettingsDialog::disableHomeSettings(bool b) +{ + d->generalUi.kcfg_homePage->setEnabled(!b); + d->generalUi.setHomeToCurrentPageButton->setEnabled(!b); +} diff --git a/src/settings/settingsdialog.h b/src/settings/settingsdialog.h index 25b2fe9b..cade78e3 100644 --- a/src/settings/settingsdialog.h +++ b/src/settings/settingsdialog.h @@ -59,6 +59,7 @@ private slots: void saveSettings(); void setHomeToCurrentPage(); + void disableHomeSettings(bool); }; #endif // SETTINGS_DIALOG_H |