1/*
2 SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-only
5*/
6
7#ifndef KCMULTIDIALOG_P_H
8#define KCMULTIDIALOG_P_H
9
10#include "kcmodule.h"
11#include "kcmultidialog.h"
12#include <QList>
13#include <QStringList>
14
15class KCModuleProxy;
16class KPageWidgetItem;
17
18class KCMultiDialogPrivate
19{
20public:
21 KCMultiDialogPrivate(KCMultiDialog *parent)
22 : currentModule(nullptr)
23 , q(parent)
24 {
25 }
26
27 KCModule *currentModule;
28
29 struct CreatedModule {
30 KCModule *kcm;
31 KPageWidgetItem *item;
32 QStringList componentNames;
33 bool firstShow = true;
34 };
35
36 typedef QList<CreatedModule> ModuleList;
37 ModuleList modules;
38
39 void slotCurrentPageChanged(KPageWidgetItem *current, KPageWidgetItem *previous);
40 void clientChanged();
41 void dialogClosed();
42 void updateHeader(bool use, const QString &message);
43
44 KCMultiDialog *q;
45
46 void init();
47 void apply();
48 bool resolveChanges(KCModule *currentProxy);
49 bool moduleSave(KCModule *module);
50};
51
52#endif // KCMULTIDIALOG_P_H
53

source code of kcmutils/src/kcmultidialog_p.h