@@ -18,6 +18,7 @@
18#define WIZARD_SYSTEM_H
18#define WIZARD_SYSTEM_H
20#include <QFileSystemWatcher>
20#include <QFileSystemWatcher>
21+#include <QVersionNumber>
21#include <QObject>
22#include <QObject>
22#include <QString>
23#include <QString>
@@ -30,7 +31,48 @@ public:
31 ~System() = default;
32 ~System() = default;
35+ * Checks whether the wizard is enabled for first-run or otherwise
33 bool wizardEnabled() const;
37 bool wizardEnabled() const;
40+ * Returns the update version(s) that the wizard has not yet run for.
41+ * Will be empty if the current wizard version is the same version that has
42+ * already run or if the OOBE (first-time) wizard is set to run.
43+ * The special value [QVersionNumber(0)] denotes that the first-time setup
45+ * The special value [] denotes that the wizard should not be run.
47+ std::vector<QVersionNumber> versionsToShow() const;
50+ * Returns the possible update versions
52+ std::vector<QVersionNumber> wizardUpdates() const
54+ // Add a new QVersionNumber to this array for every new set of pages you
55+ // would like to add to the wizard. The wizard will check for every
56+ // version between its last run and its current version (::currentVersion())
58+ QVersionNumber(1, 0, 0)
63+ * The update version for the Wizard in this version of Unity8. Bump this
64+ * version and add your new value to ::wizardUpdates(), then set the
65+ * showOnVersions property for the pages you would like to run on the current
66+ * update to the new value.
68+ QVersionNumber currentVersion() const
70+ return QVersionNumber(1, 0, 0);
74+ * Set that the OOBE (first-run) wizard should be run
34 void setWizardEnabled(bool enabled);
76 void setWizardEnabled(bool enabled);
36public Q_SLOTS:
78public Q_SLOTS: