]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/dolphinsettingsdialog.h
Merge branch 'release/20.08' into master
[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 <KPageDialog>
11
12 class QUrl;
13 class SettingsPageBase;
14
15 /**
16 * @brief Settings dialog for Dolphin.
17 *
18 * Contains the pages for Startup, View Modes, Navigation, Services, General, and Trash.
19 */
20 class DolphinSettingsDialog : public KPageDialog
21 {
22 Q_OBJECT
23
24 public:
25 explicit DolphinSettingsDialog(const QUrl& url, QWidget* parent = nullptr);
26 ~DolphinSettingsDialog() override;
27
28 signals:
29 void settingsChanged();
30
31 private slots:
32 /** Enables the Apply button. */
33 void enableApply();
34 void applySettings();
35 void restoreDefaults();
36
37 protected:
38 void closeEvent(QCloseEvent* event) override;
39
40 private:
41 static SettingsPageBase *createTrashSettingsPage(QWidget *parent);
42
43 QList<SettingsPageBase*> m_pages;
44 bool m_unsavedChanges;
45 };
46
47 #endif