]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Make the settings dialog work in the frameworks branch
authorFrank Reininghaus <frank78ac@googlemail.com>
Thu, 5 Jun 2014 22:51:15 +0000 (00:51 +0200)
committerFrank Reininghaus <frank78ac@googlemail.com>
Thu, 5 Jun 2014 22:51:15 +0000 (00:51 +0200)
The KF5 version of KPageDialog has no virtual slot
"slotButtonClicked(int button)". Its kdelibs 4.x counterpart had such
a slot, which was connected automatically to the corresponding signal.

This slot was overriden by

DolphinSettingsDialog::slotButtonClicked(int button)

which was responsible for applying the changed setting and restoring
the default values if the corresponding button was clicked.

The lack of the buttonClicked(int) signal and the corresponding slot
caused the problem that clicking a button in the settings dialog had no
effect.

This patch makes the functions applySettings() and restoreDefaults()
functions slots, and connects them directly to the "clicked" signal of
the corresponding buttons.

BUG: 335709
REVIEW: 118576

src/settings/dolphinsettingsdialog.cpp
src/settings/dolphinsettingsdialog.h

index 8df2996b3a97e36af01eccc20977f4c713fd3d19..f248335e9a916913223c424d89bb2e9b88cc56ad 100644 (file)
@@ -53,6 +53,10 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
     box->button(QDialogButtonBox::Ok)->setDefault(true);
     setButtonBox(box);
 
+    connect(box->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, this, &DolphinSettingsDialog::applySettings);
+    connect(box->button(QDialogButtonBox::Apply), &QAbstractButton::clicked, this, &DolphinSettingsDialog::applySettings);
+    connect(box->button(QDialogButtonBox::RestoreDefaults), &QAbstractButton::clicked, this, &DolphinSettingsDialog::restoreDefaults);
+
     // Startup
     StartupSettingsPage* startupSettingsPage = new StartupSettingsPage(url, this);
     KPageWidgetItem* startupSettingsFrame = addPage(startupSettingsPage,
@@ -114,18 +118,6 @@ DolphinSettingsDialog::~DolphinSettingsDialog()
     //saveDialogSize(dialogConfig);
 }
 
-void DolphinSettingsDialog::slotButtonClicked(int button)
-{
-    if ((button == QDialogButtonBox::Ok) || (button == QDialogButtonBox::Apply)) {
-        applySettings();
-    } else if (button == QDialogButtonBox::RestoreDefaults) {
-        restoreDefaults();
-    }
-
-#pragma message("TODO: port")
-    //KPageDialog::slotButtonClicked(button);
-}
-
 void DolphinSettingsDialog::enableApply()
 {
     buttonBox()->button(QDialogButtonBox::Apply)->setEnabled(true);
index 2de19501709c19e7cd85b37f1be7d41a31a4dbe1..56d924c7d2640f1ea5c53349a0c532cc979936da 100644 (file)
@@ -42,15 +42,9 @@ public:
 signals:
     void settingsChanged();
 
-protected slots:
-    /** @see KDialog::slotButtonClicked() */
-    virtual void slotButtonClicked(int button);
-
 private slots:
     /** Enables the Apply button. */
     void enableApply();
-
-private:
     void applySettings();
     void restoreDefaults();