]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/dolphinsettingsdialog.h
DolphinStatusbar: Fix background and margins for non-Breeze styles
[dolphin.git] / src / settings / dolphinsettingsdialog.h
1 /*
2 * SPDX-FileCopyrightText: 2006 Peter Penz <peter.penz@gmx.at>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef DOLPHINSETTINGSDIALOG_H
8 #define DOLPHINSETTINGSDIALOG_H
9
10 #include <KActionCollection>
11 #include <KPageDialog>
12
13 class QUrl;
14 class SettingsPageBase;
15
16 /**
17 * @brief Settings dialog for Dolphin.
18 *
19 * Contains the pages for Startup, View Modes, Navigation, Services, General, and Trash.
20 */
21 class DolphinSettingsDialog : public KPageDialog
22 {
23 Q_OBJECT
24
25 public:
26 explicit DolphinSettingsDialog(const QUrl &url, QWidget *parent = nullptr, KActionCollection *actions = {});
27 ~DolphinSettingsDialog() override;
28
29 KPageWidgetItem *trashSettings;
30
31 Q_SIGNALS:
32 void settingsChanged();
33
34 private Q_SLOTS:
35 /** Enables the Apply button. */
36 void enableApply();
37 void applySettings();
38 void restoreDefaults();
39
40 protected:
41 void closeEvent(QCloseEvent *event) override;
42
43 private:
44 static SettingsPageBase *createTrashSettingsPage(QWidget *parent);
45
46 QList<SettingsPageBase *> m_pages;
47 bool m_unsavedChanges;
48 };
49
50 #endif