File indexing completed on 2025-01-05 04:54:24

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
0004     SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-only
0007 */
0008 
0009 #pragma once
0010 
0011 #include "kontactkcmultidialog_p.h"
0012 #include "kontactsettingsdialog.h"
0013 
0014 #include <QString>
0015 
0016 class KontactSettingsDialogPrivate : public KontactKCMultiDialogPrivate
0017 {
0018     friend class PageNode;
0019     Q_DECLARE_PUBLIC(KontactSettingsDialog)
0020 protected:
0021     KontactSettingsDialogPrivate(KontactSettingsDialog *parent);
0022 
0023     QStringList registeredComponents;
0024     QList<QPair<KPluginMetaData, QList<KPluginMetaData>>> componentsMetaData;
0025     bool firstshow = true;
0026 
0027     KPageWidgetItem *createPageItem(KPageWidgetItem *parentItem, const QString &name, const QString &comment, const QString &iconName);
0028 
0029 private:
0030     /**
0031      * @internal
0032      * This method is called only once. The KCMultiDialog is not created
0033      * until it's really needed. So if some method needs to access d->dlg it
0034      * checks for 0 and if it's not created this method will do it.
0035      */
0036     void createDialogFromServices();
0037 };