]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/settingspagebase.h
Output of licensedigger + manual cleanup afterwards.
[dolphin.git] / src / settings / settingspagebase.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 SETTINGSPAGEBASE_H
8 #define SETTINGSPAGEBASE_H
9
10 #include <QWidget>
11
12 /**
13 * @brief Base class for the settings pages of the Dolphin settings dialog.
14 */
15 class SettingsPageBase : public QWidget
16 {
17 Q_OBJECT
18
19 public:
20 explicit SettingsPageBase(QWidget* parent = nullptr);
21 ~SettingsPageBase() override;
22
23 /**
24 * Must be implemented by a derived class to
25 * persistently store the settings.
26 */
27 virtual void applySettings() = 0;
28
29 /**
30 * Must be implemented by a derived class to
31 * restored the settings to default values.
32 */
33 virtual void restoreDefaults() = 0;
34
35 signals:
36 /** Is emitted if a setting has been changed. */
37 void changed();
38 };
39
40 #endif