diff options
| author | Felix Ernst <[email protected]> | 2021-08-07 15:48:02 +0200 |
|---|---|---|
| committer | Nate Graham <[email protected]> | 2021-11-03 16:02:46 +0000 |
| commit | 81c32c18a5ea52c026ab8566b299601e48efa0b5 (patch) | |
| tree | 666a5a46e76c5c503e378ae3d4d31232fbac0580 /src/settings/viewmodes/viewsettingstab.cpp | |
| parent | 1118413c6307435c7eb5b639a49580ebb888e612 (diff) | |
Port ViewModeSettings from macros to std::variant
Macros should be avoided if possible. Instead this commit replaces
the usage of macros with an std::variant of the ViewModeSettings.
As part of this cleanup, code that belongs to the VideModeSettings
class is moved there. Some parameters are also renamed to be more
in line with typical naming conventions.
Diffstat (limited to 'src/settings/viewmodes/viewsettingstab.cpp')
| -rw-r--r-- | src/settings/viewmodes/viewsettingstab.cpp | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index 0fd2dca3a..7ea8d5809 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -11,6 +11,7 @@ #include "dolphin_iconsmodesettings.h" #include "dolphinfontrequester.h" #include "global.h" +#include "settings/viewmodes/viewmodesettings.h" #include "views/zoomlevelinfo.h" #include <KLocalizedString> @@ -206,7 +207,7 @@ void ViewSettingsTab::applySettings() break; } - ViewModeSettings settings(viewMode()); + ViewModeSettings settings(m_mode); const int iconSize = ZoomLevelInfo::iconSizeForZoomLevel(m_defaultSizeSlider->value()); const int previewSize = ZoomLevelInfo::iconSizeForZoomLevel(m_previewSizeSlider->value()); @@ -224,17 +225,10 @@ void ViewSettingsTab::applySettings() void ViewSettingsTab::restoreDefaultSettings() { - KConfigSkeleton* settings = nullptr; - switch (m_mode) { - case IconsMode: settings = IconsModeSettings::self(); break; - case CompactMode: settings = CompactModeSettings::self(); break; - case DetailsMode: settings = DetailsModeSettings::self(); break; - default: Q_ASSERT(false); break; - } - - settings->useDefaults(true); + ViewModeSettings settings(m_mode); + settings.useDefaults(true); loadSettings(); - settings->useDefaults(false); + settings.useDefaults(false); } void ViewSettingsTab::loadSettings() @@ -266,7 +260,7 @@ void ViewSettingsTab::loadSettings() break; } - const ViewModeSettings settings(viewMode()); + const ViewModeSettings settings(m_mode); const QSize iconSize(settings.iconSize(), settings.iconSize()); m_defaultSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(iconSize)); @@ -285,23 +279,6 @@ void ViewSettingsTab::loadSettings() m_fontRequester->setCustomFont(font); } -ViewModeSettings::ViewMode ViewSettingsTab::viewMode() const -{ - ViewModeSettings::ViewMode mode; - - switch (m_mode) { - case ViewSettingsTab::IconsMode: mode = ViewModeSettings::IconsMode; break; - case ViewSettingsTab::CompactMode: mode = ViewModeSettings::CompactMode; break; - case ViewSettingsTab::DetailsMode: mode = ViewModeSettings::DetailsMode; break; - default: mode = ViewModeSettings::IconsMode; - Q_ASSERT(false); - break; - } - - return mode; -} - - void ViewSettingsTab::slotDefaultSliderMoved(int value) { showToolTip(m_defaultSizeSlider, value); |
