// SPDX-FileCopyrightText: 2023 Devin Lin // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include #include #include "initialstartmodule.h" class Wizard : public QObject { Q_OBJECT Q_PROPERTY(QList steps READ steps NOTIFY stepsChanged) Q_PROPERTY(int stepsCount READ stepsCount NOTIFY stepsChanged) Q_PROPERTY(bool testingMode READ testingMode NOTIFY testingModeChanged) public: Wizard(QObject *parent = nullptr, QQmlEngine *engine = nullptr); void load(); void setTestingMode(bool testingMode); bool testingMode(); QList steps(); int stepsCount(); public Q_SLOTS: void wizardFinished(); Q_SIGNALS: void stepsChanged(); void testingModeChanged(); private Q_SLOTS: void determineAvailableModuleItems(); private: QList> m_modulePackages; QList m_availableModuleItems; QList m_moduleItems; bool m_testingMode; QQmlEngine *m_engine; };