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
18class QWidget;
19class KConfigDialogManager;
20class KCoreConfigSkeleton;
21
22class KConfigDialogManagerPrivate
23{
24public:
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
33public:
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

source code of kconfigwidgets/src/kconfigdialogmanager_p.h