]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Re-Allow to set settings in Settings-> View-> General page
authorMéven Car <meven@kde.org>
Wed, 23 Aug 2023 11:11:20 +0000 (13:11 +0200)
committerMéven Car <meven@kde.org>
Wed, 23 Aug 2023 12:26:09 +0000 (14:26 +0200)
Regressed in 489b56b68bb29e81337e115c490eea4403001b71

Simplify implementation by sharing making class ViewSettingsPage implement SettingsPageBase sharing implementation with other tabs in viewsettingspage

src/CMakeLists.txt
src/settings/kcm/kcmdolphinviewmodes.cpp
src/settings/viewmodes/viewsettingspage.cpp
src/settings/viewmodes/viewsettingspage.h
src/settings/viewmodes/viewsettingstab.cpp
src/settings/viewmodes/viewsettingstab.h

index ce078278aa7f2618668c8f6bdd04d5ab1bd259e9..cd9abec81daef9ede99603c130200924bd995cab 100644 (file)
@@ -505,6 +505,7 @@ if(NOT WIN32)
         settings/viewmodes/dolphinfontrequester.cpp
         settings/viewmodes/viewmodesettings.cpp
         settings/viewmodes/viewsettingstab.cpp
+        settings/settingspagebase.cpp
         views/zoomlevelinfo.cpp
         settings/kcm/kcmdolphinviewmodes.h
         settings/viewmodes/dolphinfontrequester.h
index 867faf69ed931d15d1de3611ca19fdad59b34644..962f0f11258a61b2d98b987e19fed3b5d33564b7 100644 (file)
@@ -67,7 +67,7 @@ void DolphinViewModesConfigModule::save()
 void DolphinViewModesConfigModule::defaults()
 {
     for (ViewSettingsTab *tab : qAsConst(m_tabs)) {
-        tab->restoreDefaultSettings();
+        tab->restoreDefaults();
     }
     reparseConfiguration();
 }
index 8e101c3d2a2a038f0537d778af979bbb9600d1c8..5e740640ddf8c0dcb7e81e455724a4518d77c12f 100644 (file)
@@ -50,6 +50,8 @@ ViewSettingsPage::ViewSettingsPage(const QUrl &url, QWidget *parent)
     tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details"));
     connect(detailsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
 
+    m_tabs.append(generalViewPage);
+    m_tabs.append(contentDisplayTab);
     m_tabs.append(iconsTab);
     m_tabs.append(compactTab);
     m_tabs.append(detailsTab);
@@ -63,23 +65,16 @@ ViewSettingsPage::~ViewSettingsPage()
 
 void ViewSettingsPage::applySettings()
 {
-    contentDisplayTab->applySettings();
-
-    for (ViewSettingsTab *tab : qAsConst(m_tabs)) {
+    for (SettingsPageBase *tab : qAsConst(m_tabs)) {
         tab->applySettings();
     }
 }
 
 void ViewSettingsPage::restoreDefaults()
 {
-    if (tabWidget->currentWidget() == contentDisplayTab) {
-        contentDisplayTab->restoreDefaults();
-        return;
-    }
-
-    for (ViewSettingsTab *tab : qAsConst(m_tabs)) {
+    for (SettingsPageBase *tab : qAsConst(m_tabs)) {
         if (tabWidget->currentWidget() == tab) {
-            tab->restoreDefaultSettings();
+            tab->restoreDefaults();
             return;
         }
     }
index 76743252b6ce86931366d4c2be9abac54b385de2..eae2a64278a8601e7d94ea681d84d24de3176c28 100644 (file)
@@ -36,7 +36,7 @@ public:
 private:
     ContentDisplayTab *contentDisplayTab;
     QTabWidget *tabWidget;
-    QList<ViewSettingsTab *> m_tabs;
+    QList<SettingsPageBase *> m_tabs;
 };
 
 #endif
index ae80a25580cc6c4598b7fa46ab80c11fa6d89ed0..5aca58ba1e7f9fc29559fe6f16746e6b2d7a9a00 100644 (file)
@@ -26,7 +26,7 @@
 #include <QSpinBox>
 
 ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent)
-    : QWidget(parent)
+    : SettingsPageBase(parent)
     , m_mode(mode)
     , m_defaultSizeSlider(nullptr)
     , m_previewSizeSlider(nullptr)
@@ -186,7 +186,7 @@ void ViewSettingsTab::applySettings()
     settings.save();
 }
 
-void ViewSettingsTab::restoreDefaultSettings()
+void ViewSettingsTab::restoreDefaults()
 {
     ViewModeSettings settings(m_mode);
     settings.useDefaults(true);
index 6be8fc3b5bdb4882df0aaa5a08dd10e41d3dbd6b..fd4cc85a74fc1a4b25e149140373a963c982175a 100644 (file)
@@ -7,7 +7,7 @@
 #ifndef VIEWSETTINGSTAB_H
 #define VIEWSETTINGSTAB_H
 
-#include <QWidget>
+#include "settings/settingspagebase.h"
 
 class DolphinFontRequester;
 class QComboBox;
@@ -19,7 +19,7 @@ class QRadioButton;
 /**
  * @brief Represents one tab of the view-settings page.
  */
-class ViewSettingsTab : public QWidget
+class ViewSettingsTab : public SettingsPageBase
 {
     Q_OBJECT
 
@@ -29,8 +29,8 @@ public:
     explicit ViewSettingsTab(Mode mode, QWidget *parent = nullptr);
     ~ViewSettingsTab() override;
 
-    void applySettings();
-    void restoreDefaultSettings();
+    void applySettings() override;
+    void restoreDefaults() override;
 
 Q_SIGNALS:
     void changed();