2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 * SPDX-FileCopyrightText: 2021 Felix Ernst <fe.a.ernst@gmail.com>
5 * SPDX-License-Identifier: GPL-2.0-or-later
8 #include "viewmodesettings.h"
10 #include "dolphin_compactmodesettings.h"
11 #include "dolphin_detailsmodesettings.h"
12 #include "dolphin_iconsmodesettings.h"
14 ViewModeSettings::ViewModeSettings(DolphinView::Mode mode
)
17 case DolphinView::IconsView
: m_viewModeSettingsVariant
= IconsModeSettings::self(); return;
18 case DolphinView::CompactView
: m_viewModeSettingsVariant
= CompactModeSettings::self(); return;
19 case DolphinView::DetailsView
: m_viewModeSettingsVariant
= DetailsModeSettings::self(); return;
25 ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode
)
28 case ViewSettingsTab::IconsMode
: m_viewModeSettingsVariant
= IconsModeSettings::self(); return;
29 case ViewSettingsTab::CompactMode
: m_viewModeSettingsVariant
= CompactModeSettings::self(); return;
30 case ViewSettingsTab::DetailsMode
: m_viewModeSettingsVariant
= DetailsModeSettings::self(); return;
36 ViewModeSettings::ViewModeSettings(KStandardItemListView::ItemLayout itemLayout
)
39 case KStandardItemListView::IconsLayout
: m_viewModeSettingsVariant
= IconsModeSettings::self(); return;
40 case KStandardItemListView::CompactLayout
: m_viewModeSettingsVariant
= CompactModeSettings::self(); return;
41 case KStandardItemListView::DetailsLayout
: m_viewModeSettingsVariant
= DetailsModeSettings::self(); return;
47 void ViewModeSettings::setIconSize(int iconSize
)
49 std::visit([iconSize
](auto &&v
) {
50 v
->setIconSize(iconSize
);
51 }, m_viewModeSettingsVariant
);
54 int ViewModeSettings::iconSize() const
56 return std::visit([](auto &&v
) {
58 }, m_viewModeSettingsVariant
);
61 void ViewModeSettings::setPreviewSize(int previewSize
)
63 std::visit([previewSize
](auto &&v
) {
64 v
->setPreviewSize(previewSize
);
65 }, m_viewModeSettingsVariant
);
68 int ViewModeSettings::previewSize() const
70 return std::visit([](auto &&v
) {
71 return v
->previewSize();
72 }, m_viewModeSettingsVariant
);
75 void ViewModeSettings::setUseSystemFont(bool useSystemFont
)
77 std::visit([useSystemFont
](auto &&v
) {
78 v
->setUseSystemFont(useSystemFont
);
79 }, m_viewModeSettingsVariant
);
82 bool ViewModeSettings::useSystemFont() const
84 return std::visit([](auto &&v
) {
85 return v
->useSystemFont();
86 }, m_viewModeSettingsVariant
);
89 void ViewModeSettings::setFontFamily(const QString
&fontFamily
)
91 std::visit([&fontFamily
](auto &&v
) {
92 v
->setFontFamily(fontFamily
);
93 }, m_viewModeSettingsVariant
);
96 QString
ViewModeSettings::fontFamily() const
98 return std::visit([](auto &&v
) {
99 return v
->fontFamily();
100 }, m_viewModeSettingsVariant
);
103 void ViewModeSettings::setFontSize(qreal fontSize
)
105 std::visit([fontSize
](auto &&v
) {
106 v
->setFontSize(fontSize
);
107 }, m_viewModeSettingsVariant
);
110 qreal
ViewModeSettings::fontSize() const
112 return std::visit([](auto &&v
) {
113 return v
->fontSize();
114 }, m_viewModeSettingsVariant
);
117 void ViewModeSettings::setItalicFont(bool italic
)
119 std::visit([italic
](auto &&v
) {
120 v
->setItalicFont(italic
);
121 }, m_viewModeSettingsVariant
);
124 bool ViewModeSettings::italicFont() const
126 return std::visit([](auto &&v
) {
127 return v
->italicFont();
128 }, m_viewModeSettingsVariant
);
131 void ViewModeSettings::setFontWeight(int fontWeight
)
133 std::visit([fontWeight
](auto &&v
) {
134 v
->setFontWeight(fontWeight
);
135 }, m_viewModeSettingsVariant
);
138 int ViewModeSettings::fontWeight() const
140 return std::visit([](auto &&v
) {
141 return v
->fontWeight();
142 }, m_viewModeSettingsVariant
);
145 void ViewModeSettings::useDefaults(bool useDefaults
)
147 std::visit([useDefaults
](auto &&v
) {
148 v
->useDefaults(useDefaults
);
149 }, m_viewModeSettingsVariant
);
152 void ViewModeSettings::readConfig()
154 std::visit([](auto &&v
) {
156 }, m_viewModeSettingsVariant
);
159 void ViewModeSettings::save()
161 std::visit([](auto &&v
) {
163 }, m_viewModeSettingsVariant
);