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/viewmodesettings.h | |
| 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/viewmodesettings.h')
| -rw-r--r-- | src/settings/viewmodes/viewmodesettings.h | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/src/settings/viewmodes/viewmodesettings.h b/src/settings/viewmodes/viewmodesettings.h index 2e5299792..5d2b6e0e2 100644 --- a/src/settings/viewmodes/viewmodesettings.h +++ b/src/settings/viewmodes/viewmodesettings.h @@ -7,8 +7,18 @@ #ifndef VIEWMODESETTINGS_H #define VIEWMODESETTINGS_H +#include "kitemviews/kstandarditemlistview.h" +#include "viewsettingstab.h" +#include "views/dolphinview.h" + #include <QString> +#include <variant> + +class CompactModeSettings; +class DetailsModeSettings; +class IconsModeSettings; + /** * @short Helper class for accessing similar properties of IconsModeSettings, * CompactModeSettings and DetailsModeSettings. @@ -16,26 +26,20 @@ class ViewModeSettings { public: - enum ViewMode - { - IconsMode, - CompactMode, - DetailsMode - }; + explicit ViewModeSettings(DolphinView::Mode mode); + explicit ViewModeSettings(ViewSettingsTab::Mode mode); + explicit ViewModeSettings(KStandardItemListView::ItemLayout itemLayout); - explicit ViewModeSettings(ViewMode mode); - virtual ~ViewModeSettings(); - - void setIconSize(int size) const; + void setIconSize(int iconSize); int iconSize() const; - void setPreviewSize(int size) const; + void setPreviewSize(int previewSize); int previewSize() const; - void setUseSystemFont(bool flag); + void setUseSystemFont(bool useSystemFont); bool useSystemFont() const; - void setFontFamily(const QString& fontFamily); + void setFontFamily(const QString &fontFamily); QString fontFamily() const; void setFontSize(qreal fontSize); @@ -47,11 +51,13 @@ public: void setFontWeight(int fontWeight); int fontWeight() const; + void useDefaults(bool useDefaults); + void readConfig(); void save(); private: - ViewMode m_mode; + std::variant<IconsModeSettings *, CompactModeSettings *, DetailsModeSettings *> m_viewModeSettingsVariant; }; #endif |
