Unity 8
System.h
1 /*
2  * Copyright (C) 2014 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 
32  bool wizardEnabled() const;
33  void setWizardEnabled(bool enabled);
34 
35 public Q_SLOTS:
36  void updateSessionLanguage(const QString &locale);
37 
38 Q_SIGNALS:
39  void wizardEnabledChanged();
40 
41 private Q_SLOTS:
42  void watcherFileChanged();
43 
44 private:
45  Q_DISABLE_COPY(System)
46 
47  static QString wizardEnabledPath();
48  static void setSessionVariable(const QString &variable, const QString &value);
49 
50  QFileSystemWatcher m_fsWatcher;
51 };
52 
53 #endif