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 setViewFont(const QFont
&font
);
43 QFont
viewFont() const;
45 void useDefaults(bool useDefaults
);
51 explicit ViewModeSettings();
53 std::variant
<IconsModeSettings
*, CompactModeSettings
*, DetailsModeSettings
*> m_viewModeSettingsVariant
;