From: Méven Car Date: Wed, 23 Aug 2023 11:11:20 +0000 (+0200) Subject: Re-Allow to set settings in Settings-> View-> General page X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/ff852b97f110691cda4c2f63f8d0f6bf8759fe2f Re-Allow to set settings in Settings-> View-> General page Regressed in 489b56b68bb29e81337e115c490eea4403001b71 Simplify implementation by sharing making class ViewSettingsPage implement SettingsPageBase sharing implementation with other tabs in viewsettingspage --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce078278a..cd9abec81 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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 diff --git a/src/settings/kcm/kcmdolphinviewmodes.cpp b/src/settings/kcm/kcmdolphinviewmodes.cpp index 867faf69e..962f0f112 100644 --- a/src/settings/kcm/kcmdolphinviewmodes.cpp +++ b/src/settings/kcm/kcmdolphinviewmodes.cpp @@ -67,7 +67,7 @@ void DolphinViewModesConfigModule::save() void DolphinViewModesConfigModule::defaults() { for (ViewSettingsTab *tab : qAsConst(m_tabs)) { - tab->restoreDefaultSettings(); + tab->restoreDefaults(); } reparseConfiguration(); } diff --git a/src/settings/viewmodes/viewsettingspage.cpp b/src/settings/viewmodes/viewsettingspage.cpp index 8e101c3d2..5e740640d 100644 --- a/src/settings/viewmodes/viewsettingspage.cpp +++ b/src/settings/viewmodes/viewsettingspage.cpp @@ -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; } } diff --git a/src/settings/viewmodes/viewsettingspage.h b/src/settings/viewmodes/viewsettingspage.h index 76743252b..eae2a6427 100644 --- a/src/settings/viewmodes/viewsettingspage.h +++ b/src/settings/viewmodes/viewsettingspage.h @@ -36,7 +36,7 @@ public: private: ContentDisplayTab *contentDisplayTab; QTabWidget *tabWidget; - QList m_tabs; + QList m_tabs; }; #endif diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index ae80a2558..5aca58ba1 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -26,7 +26,7 @@ #include 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); diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h index 6be8fc3b5..fd4cc85a7 100644 --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -7,7 +7,7 @@ #ifndef VIEWSETTINGSTAB_H #define VIEWSETTINGSTAB_H -#include +#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();