Re-Allow to set settings in Settings-> View-> General page

Regressed in 489b56b68b

Simplify implementation by sharing making class ViewSettingsPage implement SettingsPageBase sharing implementation with other tabs in viewsettingspage
This commit is contained in:
Méven Car 2023-08-23 13:11:20 +02:00
parent 8891258ef6
commit ff852b97f1
6 changed files with 14 additions and 18 deletions

View 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

View file

@ -67,7 +67,7 @@ void DolphinViewModesConfigModule::save()
void DolphinViewModesConfigModule::defaults()
{
for (ViewSettingsTab *tab : qAsConst(m_tabs)) {
tab->restoreDefaultSettings();
tab->restoreDefaults();
}
reparseConfiguration();
}

View 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;
}
}

View file

@ -36,7 +36,7 @@ public:
private:
ContentDisplayTab *contentDisplayTab;
QTabWidget *tabWidget;
QList<ViewSettingsTab *> m_tabs;
QList<SettingsPageBase *> m_tabs;
};
#endif

View 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);

View 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();