┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/viewmodes/viewmodesettings.h
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2021-08-07 15:48:02 +0200
committerNate Graham <[email protected]>2021-11-03 16:02:46 +0000
commit81c32c18a5ea52c026ab8566b299601e48efa0b5 (patch)
tree666a5a46e76c5c503e378ae3d4d31232fbac0580 /src/settings/viewmodes/viewmodesettings.h
parent1118413c6307435c7eb5b639a49580ebb888e612 (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.h34
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