]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewmodes/viewsettingstab.h
Build with QT_NO_KEYWORDS
[dolphin.git] / src / settings / viewmodes / viewsettingstab.h
1 /*
2 * SPDX-FileCopyrightText: 2008-2011 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef VIEWSETTINGSTAB_H
8 #define VIEWSETTINGSTAB_H
9
10 #include "settings/viewmodes/viewmodesettings.h"
11
12 #include <QWidget>
13
14 class DolphinFontRequester;
15 class QComboBox;
16 class QCheckBox;
17 class QSlider;
18 class QSpinBox;
19 class QRadioButton;
20
21 /**
22 * @brief Represents one tab of the view-settings page.
23 */
24 class ViewSettingsTab : public QWidget
25 {
26 Q_OBJECT
27
28 public:
29 enum Mode
30 {
31 IconsMode,
32 CompactMode,
33 DetailsMode
34 };
35
36 explicit ViewSettingsTab(Mode mode, QWidget* parent = nullptr);
37 ~ViewSettingsTab() override;
38
39 void applySettings();
40 void restoreDefaultSettings();
41
42 Q_SIGNALS:
43 void changed();
44
45 private Q_SLOTS:
46
47 void slotDefaultSliderMoved(int value);
48 void slotPreviewSliderMoved(int value);
49 private:
50 void loadSettings();
51 void showToolTip(QSlider* slider, int value);
52
53 ViewModeSettings::ViewMode viewMode() const;
54
55 private:
56 Mode m_mode;
57 QSlider* m_defaultSizeSlider;
58 QSlider* m_previewSizeSlider;
59
60 DolphinFontRequester* m_fontRequester;
61 QComboBox* m_widthBox;
62 QComboBox* m_maxLinesBox;
63 QCheckBox* m_expandableFolders;
64 QRadioButton* m_numberOfItems;
65 QRadioButton* m_sizeOfContents;
66 QSpinBox* m_recursiveDirectorySizeLimit;
67 QRadioButton* m_useRelatetiveDates;
68 QRadioButton* m_useShortDates;
69 };
70
71 #endif