@@ -26,6 +26,7 @@ AccountsService::AccountsService(QObject* parent)
26 m_service(new AccountsServiceDBusAdaptor(this)),
26 m_service(new AccountsServiceDBusAdaptor(this)),
27 m_user(qgetenv("USER")),
27 m_user(qgetenv("USER")),
28 m_demoEdges(false),
28 m_demoEdges(false),
29+ m_interactiveWhileLocked(false),
29 m_statsWelcomeScreen(false),
30 m_statsWelcomeScreen(false),
30 m_passwordDisplayHint(Keyboard),
31 m_passwordDisplayHint(Keyboard),
31 m_failedLogins(0)
32 m_failedLogins(0)
@@ -47,6 +48,7 @@ void AccountsService::setUser(const QString &user)
47 Q_EMIT userChanged();
48 Q_EMIT userChanged();
49 updateDemoEdges();
50 updateDemoEdges();
51+ updateInteractiveWhileLocked();
50 updateBackgroundFile();
52 updateBackgroundFile();
51 updateStatsWelcomeScreen();
53 updateStatsWelcomeScreen();
52 updatePasswordDisplayHint();
54 updatePasswordDisplayHint();
@@ -64,6 +66,11 @@ void AccountsService::setDemoEdges(bool demoEdges)
64 m_service->setUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges", demoEdges);
66 m_service->setUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges", demoEdges);
69+bool AccountsService::interactiveWhileLocked() const
71+ return m_interactiveWhileLocked;
67QString AccountsService::backgroundFile() const
74QString AccountsService::backgroundFile() const
69 return m_backgroundFile;
76 return m_backgroundFile;
@@ -88,6 +95,15 @@ void AccountsService::updateDemoEdges()
98+void AccountsService::updateInteractiveWhileLocked()
100+ auto interactiveWhileLocked = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "InteractiveWhileLocked").toBool();
101+ if (m_interactiveWhileLocked != interactiveWhileLocked) {
102+ m_interactiveWhileLocked = interactiveWhileLocked;
103+ Q_EMIT interactiveWhileLockedChanged();
91void AccountsService::updateBackgroundFile()
107void AccountsService::updateBackgroundFile()
93 auto backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
109 auto backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
@@ -145,6 +161,9 @@ void AccountsService::propertiesChanged(const QString &user, const QString &inte
145 if (changed.contains("demo-edges")) {
161 if (changed.contains("demo-edges")) {
146 updateDemoEdges();
162 updateDemoEdges();
164+ if (changed.contains("InteractiveWhileLocked")) {
165+ updateInteractiveWhileLocked();
148 } else if (interface == "com.canonical.unity.AccountsService.Private") {
167 } else if (interface == "com.canonical.unity.AccountsService.Private") {
149 if (changed.contains("FailedLogins")) {
168 if (changed.contains("FailedLogins")) {
150 updateFailedLogins();
169 updateFailedLogins();