1 | /* |
2 | This file is part of the KDE libraries |
3 | SPDX-FileCopyrightText: 2003 Benjamin C Meyer <ben+kdelibs at meyerhome dot net> |
4 | SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org> |
5 | SPDX-FileCopyrightText: 2017 Friedrich W. H. Kossebau <kossebau@kde.org> |
6 | SPDX-FileCopyrightText: 2020 Kevin Ottens <kevin.ottens@enioka.com> |
7 | |
8 | SPDX-License-Identifier: LGPL-2.0-or-later |
9 | */ |
10 | |
11 | #ifndef KCONFIGDIALOGMANAGER_P_H |
12 | #define KCONFIGDIALOGMANAGER_P_H |
13 | |
14 | #include <QHash> |
15 | #include <QSet> |
16 | #include <QString> |
17 | |
18 | class QWidget; |
19 | class KConfigDialogManager; |
20 | class KCoreConfigSkeleton; |
21 | |
22 | class KConfigDialogManagerPrivate |
23 | { |
24 | public: |
25 | KConfigDialogManagerPrivate(KConfigDialogManager *qq); |
26 | |
27 | void setDefaultsIndicatorsVisible(bool enabled); |
28 | |
29 | void onWidgetModified(); |
30 | void updateWidgetIndicator(const QString &configId, QWidget *widget); |
31 | void updateAllWidgetIndicators(); |
32 | |
33 | public: |
34 | KConfigDialogManager *const q; |
35 | |
36 | /** |
37 | * KConfigSkeleton object used to store settings |
38 | */ |
39 | KCoreConfigSkeleton *m_conf = nullptr; |
40 | |
41 | /** |
42 | * Dialog being managed |
43 | */ |
44 | QWidget *m_dialog = nullptr; |
45 | |
46 | QHash<QString, QWidget *> knownWidget; |
47 | QHash<QString, QWidget *> buddyWidget; |
48 | QSet<QWidget *> allExclusiveGroupBoxes; |
49 | bool insideGroupBox : 1; |
50 | bool trackChanges : 1; |
51 | bool defaultsIndicatorsVisible : 1; |
52 | }; |
53 | |
54 | #endif // KCONFIGDIALOGMANAGER_P_H |
55 | |