]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewpropertiesdialog.h
Build with QT_NO_KEYWORDS
[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 slotShowPreviewChanged();
50 void slotShowHiddenFilesChanged();
51 void slotItemChanged(QListWidgetItem *item);
52 void markAsDirty(bool isDirty);
53
54 Q_SIGNALS:
55 void isDirtyChanged(bool isDirty);
56
57 private:
58 void applyViewProperties();
59 void loadSettings();
60
61 private:
62 bool m_isDirty;
63 DolphinView* m_dolphinView;
64 ViewProperties* m_viewProps;
65
66 QComboBox* m_viewMode;
67 QComboBox* m_sortOrder;
68 QComboBox* m_sorting;
69 QCheckBox* m_sortFoldersFirst;
70 QCheckBox* m_previewsShown;
71 QCheckBox* m_showInGroups;
72 QCheckBox* m_showHiddenFiles;
73 QRadioButton* m_applyToCurrentFolder;
74 QRadioButton* m_applyToSubFolders;
75 QRadioButton* m_applyToAllFolders;
76 QCheckBox* m_useAsDefault;
77 QListWidget* m_listWidget;
78 };
79
80 #endif