Unity 8
System.h
1 /*
2  * Copyright (C) 2014-2015 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  */
16 
17 #ifndef WIZARD_SYSTEM_H
18 #define WIZARD_SYSTEM_H
19 
20 #include <QFileSystemWatcher>
21 #include <QObject>
22 #include <QString>
23 
24 class System : public QObject
25 {
26  Q_OBJECT
27  Q_PROPERTY(bool wizardEnabled READ wizardEnabled WRITE setWizardEnabled NOTIFY wizardEnabledChanged)
28 
29 public:
30  System();
31  ~System() = default;
32 
33  bool wizardEnabled() const;
34  void setWizardEnabled(bool enabled);
35 
36 public Q_SLOTS:
37  void updateSessionLocale(const QString &locale);
38 
39 Q_SIGNALS:
40  void wizardEnabledChanged();
41 
42 private Q_SLOTS:
43  void watcherFileChanged();
44 
45 private:
46  Q_DISABLE_COPY(System)
47 
48  static QString wizardEnabledPath();
49  static void setSessionVariable(const QString &variable, const QString &value);
50 
51  QFileSystemWatcher m_fsWatcher;
52 };
53 
54 #endif