~aacid/unity8/fix_testDash

« back to all changes in this revision

Viewing changes to plugins/Wizard/System.h

  • Committer: CI Train Bot
  • Author(s): Michael Terry
  • Date: 2014-12-04 20:54:46 UTC
  • mfrom: (1432.3.19 wizard-plugin)
  • Revision ID: ci-train-bot@canonical.com-20141204205446-pbuftf6d5yt854oj
Convert the welcome wizard from a separate executable into a qml plugin (with a small C++ plugin for support).

- This changes the path for adding customized wizard pages (drops system-settings namespacing).  I checked with cwayne, that support isn't being used yet.  So that's safe to adjust while we're here.

- I did not change the path for the 'has the wizard run yet' marker, since that is being used in the wild.  But I added a comment as to why we're using the phrase "ubuntu-system-settings" in that filename.

- I fleshed out unity8's support for changing the language on the fly, since that's now done in-process.  I believe I caught all cases (anything that used a qml binding to i18n worked automatically, just had to catch the cases that were pulling from outside sources like infographics).

- If an incoming call happens during the wizard, we just bail out of it and the edge demo. I'm not sure what the ideal behavior is, but this is at least reasonable. There's nothing in the wizard that *needs* to be done.

- Making the wizard a plugin lets us drop the gap between the end of the wizard and the start of the shell.  Yay! 
Approved by: Andrea Cimitan

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * This file is part of system-settings
3
 
 *
4
2
 * Copyright (C) 2014 Canonical Ltd.
5
3
 *
6
4
 * This program is free software: you can redistribute it and/or modify it
16
14
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
17
15
 */
18
16
 
 
17
#ifndef WIZARD_SYSTEM_H
 
18
#define WIZARD_SYSTEM_H
 
19
 
 
20
#include <QFileSystemWatcher>
19
21
#include <QObject>
20
22
#include <QString>
21
23
 
22
 
class QDBusInterface;
23
 
class QDBusPendingCallWatcher;
24
 
 
25
24
class System : public QObject
26
25
{
27
26
    Q_OBJECT
28
 
    Q_PROPERTY(bool hereEnabled READ hereEnabled WRITE setHereEnabled NOTIFY hereEnabledChanged)
29
 
    Q_PROPERTY(QString hereLicensePath READ hereLicensePath NOTIFY hereLicensePathChanged)
 
27
    Q_PROPERTY(bool wizardEnabled READ wizardEnabled WRITE setWizardEnabled NOTIFY wizardEnabledChanged)
30
28
 
31
29
public:
32
30
    System();
33
31
 
34
 
    bool hereEnabled() const;
35
 
    void setHereEnabled(bool enabled);
36
 
 
37
 
    QString hereLicensePath() const;
 
32
    bool wizardEnabled() const;
 
33
    void setWizardEnabled(bool enabled);
38
34
 
39
35
public Q_SLOTS:
40
 
    void updateSessionLanguage();
 
36
    void updateSessionLanguage(const QString &locale);
41
37
 
42
38
Q_SIGNALS:
43
 
    void hereEnabledChanged();
44
 
    void hereLicensePathChanged();
45
 
 
46
 
private Q_SLOTS:
47
 
    void propertiesChanged(const QString &interface, const QVariantMap &changed, const QStringList &invalid);
48
 
    void getHereEnabledFinished(QDBusPendingCallWatcher *watcher);
49
 
    void getHereLicensePathFinished(QDBusPendingCallWatcher *watcher);
 
39
    void wizardEnabledChanged();
50
40
 
51
41
private:
52
42
    Q_DISABLE_COPY(System)
53
43
 
54
 
    QDBusInterface *m_accounts;
55
 
    bool m_hereEnabled;
56
 
    QString m_hereLicensePath;
 
44
    static QString wizardEnabledPath();
 
45
    static void setSessionVariable(const QString &variable, const QString &value);
 
46
 
 
47
    QFileSystemWatcher m_fsWatcher;
57
48
};
 
49
 
 
50
#endif