File indexing completed on 2024-05-12 05:36:16
0001 // SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 #pragma once 0005 0006 #include <QObject> 0007 #include <QQmlEngine> 0008 #include <QQuickItem> 0009 0010 #include <KPackage/PackageLoader> 0011 #include <KPluginMetaData> 0012 0013 class Wizard : public QObject 0014 { 0015 Q_OBJECT 0016 Q_PROPERTY(QList<QQuickItem *> steps READ steps CONSTANT) 0017 Q_PROPERTY(bool testingMode READ testingMode NOTIFY testingModeChanged) 0018 0019 public: 0020 Wizard(QObject *parent = nullptr, QQmlEngine *engine = nullptr); 0021 0022 void load(); 0023 0024 void setTestingMode(bool testingMode); 0025 bool testingMode(); 0026 0027 QList<QQuickItem *> steps(); 0028 0029 public Q_SLOTS: 0030 void wizardFinished(); 0031 0032 Q_SIGNALS: 0033 void testingModeChanged(); 0034 0035 private: 0036 QList<std::pair<KPluginMetaData *, KPackage::Package>> m_modulePackages; 0037 QList<QQuickItem *> m_moduleItems; 0038 0039 bool m_testingMode; 0040 QQmlEngine *m_engine; 0041 };