1/*
2 SPDX-FileCopyrightText: 2019 KDE Developers
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef KATE_CONFIG_PAGE_H
8#define KATE_CONFIG_PAGE_H
9
10#include <ktexteditor/configpage.h>
11
12class KFontRequester;
13class KUrlRequester;
14class QAbstractButton;
15class QAbstractSlider;
16class QSpinBox;
17class QComboBox;
18class QGroupBox;
19class QLineEdit;
20class QDoubleSpinBox;
21
22class KateConfigPage : public KTextEditor::ConfigPage
23{
24public:
25 explicit KateConfigPage(QWidget *parent = nullptr, const char *name = nullptr);
26 ~KateConfigPage() override;
27 virtual void reload() = 0;
28
29public:
30 bool hasChanged()
31 {
32 return m_changed;
33 }
34
35 void observeChanges(KateConfigPage *page) const;
36 void observeChanges(KUrlRequester *requester) const;
37 void observeChanges(QAbstractButton *button) const;
38 void observeChanges(QAbstractSlider *slider) const;
39 void observeChanges(QSpinBox *spinBox) const;
40 void observeChanges(QDoubleSpinBox *spinBox) const;
41 void observeChanges(QComboBox *comboBox) const;
42 void observeChanges(QGroupBox *groupBox) const;
43 void observeChanges(QLineEdit *lineEdit) const;
44 void observeChanges(KFontRequester *chooser) const;
45
46protected:
47 void slotChanged();
48
49private:
50 void somethingHasChanged();
51
52protected:
53 bool m_changed = false;
54};
55
56#endif
57

source code of ktexteditor/src/dialogs/kateconfigpage.h