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 "views/dolphinview.h"
12 #include "viewsettingstab.h"
16 class CompactModeSettings
;
17 class DetailsModeSettings
;
18 class IconsModeSettings
;
21 * @short Helper class for accessing similar properties of IconsModeSettings,
22 * CompactModeSettings and DetailsModeSettings.
24 class ViewModeSettings
27 explicit ViewModeSettings(DolphinView::Mode mode
);
28 explicit ViewModeSettings(ViewSettingsTab::Mode mode
);
29 explicit ViewModeSettings(KStandardItemListView::ItemLayout itemLayout
);
31 void setIconSize(int iconSize
);
34 void setPreviewSize(int previewSize
);
35 int previewSize() const;
37 void setUseSystemFont(bool useSystemFont
);
38 bool useSystemFont() const;
40 void setViewFont(const QFont
&font
);
41 QFont
viewFont() const;
43 void useDefaults(bool useDefaults
);
49 explicit ViewModeSettings();
51 std::variant
<IconsModeSettings
*, CompactModeSettings
*, DetailsModeSettings
*> m_viewModeSettingsVariant
;