2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #ifndef VIEWMODESETTINGS_H
8 #define VIEWMODESETTINGS_H
10 #include "kitemviews/kstandarditemlistview.h"
11 #include "viewsettingstab.h"
12 #include "views/dolphinview.h"
18 class CompactModeSettings
;
19 class DetailsModeSettings
;
20 class IconsModeSettings
;
23 * @short Helper class for accessing similar properties of IconsModeSettings,
24 * CompactModeSettings and DetailsModeSettings.
26 class ViewModeSettings
29 explicit ViewModeSettings(DolphinView::Mode mode
);
30 explicit ViewModeSettings(ViewSettingsTab::Mode mode
);
31 explicit ViewModeSettings(KStandardItemListView::ItemLayout itemLayout
);
33 void setIconSize(int iconSize
);
36 void setPreviewSize(int previewSize
);
37 int previewSize() const;
39 void setUseSystemFont(bool useSystemFont
);
40 bool useSystemFont() const;
42 void setFontFamily(const QString
&fontFamily
);
43 QString
fontFamily() const;
45 void setFontSize(qreal fontSize
);
46 qreal
fontSize() const;
48 void setItalicFont(bool italic
);
49 bool italicFont() const;
51 void setFontWeight(int fontWeight
);
52 int fontWeight() const;
54 void useDefaults(bool useDefaults
);
60 std::variant
<IconsModeSettings
*, CompactModeSettings
*, DetailsModeSettings
*> m_viewModeSettingsVariant
;