]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewpropertiesdialog.h
Add clang-format and format code as in Frameworks
[dolphin.git] / src / settings / viewpropertiesdialog.h
1 /*
2 * SPDX-FileCopyrightText: 2006 Peter Penz <peter.penz@gmx.at>
3 * SPDX-FileCopyrightText: 2018 Elvis Angelaccio <elvis.angelaccio@kde.org>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8 #ifndef VIEWPROPERTIESDIALOG_H
9 #define VIEWPROPERTIESDIALOG_H
10
11 #include "dolphin_export.h"
12
13 #include <QDialog>
14
15 class QCheckBox;
16 class QListWidget;
17 class QListWidgetItem;
18 class QComboBox;
19 class QPushButton;
20 class QRadioButton;
21 class ViewProperties;
22 class DolphinView;
23
24 /**
25 * @brief Dialog for changing the current view properties of a directory.
26 *
27 * It is possible to specify the view mode, the sorting order, whether hidden files
28 * and previews should be shown. The properties can be assigned to the current folder,
29 * or recursively to all sub folders.
30 */
31 class DOLPHIN_EXPORT ViewPropertiesDialog : public QDialog
32 {
33 Q_OBJECT
34
35 public:
36 explicit ViewPropertiesDialog(DolphinView *dolphinView);
37 ~ViewPropertiesDialog() override;
38
39 public Q_SLOTS:
40 void accept() override;
41
42 private Q_SLOTS:
43 void slotApply();
44 void slotViewModeChanged(int index);
45 void slotSortingChanged(int index);
46 void slotSortOrderChanged(int index);
47 void slotGroupedSortingChanged();
48 void slotSortFoldersFirstChanged();
49 void slotSortHiddenLastChanged();
50 void slotShowPreviewChanged();
51 void slotShowHiddenFilesChanged();
52 void slotItemChanged(QListWidgetItem *item);
53 void markAsDirty(bool isDirty);
54
55 Q_SIGNALS:
56 void isDirtyChanged(bool isDirty);
57
58 private:
59 void applyViewProperties();
60 void loadSettings();
61
62 private:
63 bool m_isDirty;
64 DolphinView *m_dolphinView;
65 ViewProperties *m_viewProps;
66
67 QComboBox *m_viewMode;
68 QComboBox *m_sortOrder;
69 QComboBox *m_sorting;
70 QCheckBox *m_sortFoldersFirst;
71 QCheckBox *m_sortHiddenLast;
72 QCheckBox *m_previewsShown;
73 QCheckBox *m_showInGroups;
74 QCheckBox *m_showHiddenFiles;
75 QRadioButton *m_applyToCurrentFolder;
76 QRadioButton *m_applyToSubFolders;
77 QRadioButton *m_applyToAllFolders;
78 QCheckBox *m_useAsDefault;
79 QListWidget *m_listWidget;
80 };
81
82 #endif