on d21d2ed help sign in
74 lines 2.1 kB history raw
1/*
2 * Copyright (C) 2014-2016 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
6 * by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranties of
10 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11 * PURPOSE. See the GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#ifndef WIZARD_SYSTEM_H
18#define WIZARD_SYSTEM_H
20#include <QFileSystemWatcher>
21#include <QVersionNumber>
22#include <QObject>
23#include <QString>
25class System : public QObject
27 Q_OBJECT
28 Q_PROPERTY(bool wizardEnabled READ wizardEnabled WRITE setWizardEnabled NOTIFY wizardEnabledChanged)
29 Q_PROPERTY(QString version READ version NOTIFY versionChanged)
30 Q_PROPERTY(bool isUpdate READ isUpdate NOTIFY isUpdateChanged)
32public:
33 System();
34 ~System() = default;
36 /**
37 * Checks whether the wizard is enabled for first-run or otherwise.
38 */
39 bool wizardEnabled() const;
41 QString version() const;
42 bool isUpdate() const;
44 void setWizardEnabled(bool enabled);
46public Q_SLOTS:
47 void updateSessionLocale(const QString &locale);
48 /**
49 * Mark the wizard to skip all the pages and just show the last (welcome to ubuntu) page
50 */
51 void skipUntilFinishedPage();
53Q_SIGNALS:
54 void wizardEnabledChanged();
55 void versionChanged();
56 void isUpdateChanged();
58private Q_SLOTS:
59 void watcherFileChanged();
61private:
62 Q_DISABLE_COPY(System)
64 static QString wizardEnabledPath();
65 static QString currentFrameworkPath();
66 static void setSessionVariable(const QString &variable, const QString &value);
67 static QString readCurrentFramework();
68 static QString readWizardEnabled();
69 static bool wizardPathExists();
71 QFileSystemWatcher m_fsWatcher;
72};
74#endif