]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewmodes/viewmodesettings.h
fix: service-menu-installer ignoring symlinks on un-install
[dolphin.git] / src / settings / viewmodes / viewmodesettings.h
1 /*
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef VIEWMODESETTINGS_H
8 #define VIEWMODESETTINGS_H
9
10 #include "kitemviews/kstandarditemlistview.h"
11 #include "viewsettingstab.h"
12 #include "views/dolphinview.h"
13
14 #include <QString>
15
16 #include <variant>
17
18 class CompactModeSettings;
19 class DetailsModeSettings;
20 class IconsModeSettings;
21
22 /**
23 * @short Helper class for accessing similar properties of IconsModeSettings,
24 * CompactModeSettings and DetailsModeSettings.
25 */
26 class ViewModeSettings
27 {
28 public:
29 explicit ViewModeSettings(DolphinView::Mode mode);
30 explicit ViewModeSettings(ViewSettingsTab::Mode mode);
31 explicit ViewModeSettings(KStandardItemListView::ItemLayout itemLayout);
32
33 void setIconSize(int iconSize);
34 int iconSize() const;
35
36 void setPreviewSize(int previewSize);
37 int previewSize() const;
38
39 void setUseSystemFont(bool useSystemFont);
40 bool useSystemFont() const;
41
42 void setFontFamily(const QString &fontFamily);
43 QString fontFamily() const;
44
45 void setFontSize(qreal fontSize);
46 qreal fontSize() const;
47
48 void setItalicFont(bool italic);
49 bool italicFont() const;
50
51 void setFontWeight(int fontWeight);
52 int fontWeight() const;
53
54 void useDefaults(bool useDefaults);
55
56 void readConfig();
57 void save();
58
59 private:
60 std::variant<IconsModeSettings *, CompactModeSettings *, DetailsModeSettings *> m_viewModeSettingsVariant;
61 };
62
63 #endif