on xenial help sign in
Split the one setting into two
commitb3578c10caeca221f079924d45c2b48b0bded2f5 authorMichael Terry <michael.terry@canonical.com> dateTue 19 Aug 2014, 11:03 (12 years ago) parent11358e0
7 files changed+92−40
plugins/AccountsService/AccountsService.cpp+30−11 plugins/AccountsService/AccountsService.h+14−7 plugins/AccountsService/com.canonical.unity.AccountsService.xml+5−1 qml/Shell.qml+2−2 tests/mocks/AccountsService/AccountsService.cpp+18−6 tests/mocks/AccountsService/AccountsService.h+16−8 tests/qmltests/tst_ShellWithPin.qml+7−5
plugins/AccountsService/AccountsService.cpp+30−11
@@ -26,7 +26,8 @@ AccountsService::AccountsService(QObject* parent)
2626 m_service(new AccountsServiceDBusAdaptor(this)),
2727 m_user(qgetenv("USER")),
2828 m_demoEdges(false),
29− m_interactiveWhileLocked(false),
29+ m_enableLauncherWhileLocked(false),
30+ m_enableIndicatorsWhileLocked(false),
3031 m_statsWelcomeScreen(false),
3132 m_passwordDisplayHint(Keyboard),
3233 m_failedLogins(0)
@@ -48,7 +49,8 @@ void AccountsService::setUser(const QString &user)
4849 Q_EMIT userChanged();
4950
5051 updateDemoEdges();
51− updateInteractiveWhileLocked();
52+ updateEnableLauncherWhileLocked();
53+ updateEnableIndicatorsWhileLocked();
5254 updateBackgroundFile();
5355 updateStatsWelcomeScreen();
5456 updatePasswordDisplayHint();
@@ -66,9 +68,14 @@ void AccountsService::setDemoEdges(bool demoEdges)
6668 m_service->setUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges", demoEdges);
6769}
6870
69−bool AccountsService::interactiveWhileLocked() const
71+bool AccountsService::enableLauncherWhileLocked() const
7072{
71− return m_interactiveWhileLocked;
73+ return m_enableLauncherWhileLocked;
74+}
75+
76+bool AccountsService::enableIndicatorsWhileLocked() const
77+{
78+ return m_enableIndicatorsWhileLocked;
7279}
7380
7481QString AccountsService::backgroundFile() const
@@ -95,12 +102,21 @@ void AccountsService::updateDemoEdges()
95102 }
96103}
97104
98−void AccountsService::updateInteractiveWhileLocked()
105+void AccountsService::updateEnableLauncherWhileLocked()
106+{
107+ auto enableLauncherWhileLocked = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "EnableLauncherWhileLocked").toBool();
108+ if (m_enableLauncherWhileLocked != enableLauncherWhileLocked) {
109+ m_enableLauncherWhileLocked = enableLauncherWhileLocked;
110+ Q_EMIT enableLauncherWhileLockedChanged();
111+ }
112+}
113+
114+void AccountsService::updateEnableIndicatorsWhileLocked()
99115{
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();
116+ auto enableIndicatorsWhileLocked = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "EnableIndicatorsWhileLocked").toBool();
117+ if (m_enableIndicatorsWhileLocked != enableIndicatorsWhileLocked) {
118+ m_enableIndicatorsWhileLocked = enableIndicatorsWhileLocked;
119+ Q_EMIT enableIndicatorsWhileLockedChanged();
104120 }
105121}
106122
@@ -161,8 +177,11 @@ void AccountsService::propertiesChanged(const QString &user, const QString &inte
161177 if (changed.contains("demo-edges")) {
162178 updateDemoEdges();
163179 }
164− if (changed.contains("InteractiveWhileLocked")) {
165− updateInteractiveWhileLocked();
180+ if (changed.contains("EnableLauncherWhileLocked")) {
181+ updateEnableLauncherWhileLocked();
182+ }
183+ if (changed.contains("EnableIndicatorsWhileLocked")) {
184+ updateEnableIndicatorsWhileLocked();
166185 }
167186 } else if (interface == "com.canonical.unity.AccountsService.Private") {
168187 if (changed.contains("FailedLogins")) {
plugins/AccountsService/AccountsService.h+14−7
@@ -36,9 +36,12 @@ class AccountsService: public QObject
3636 READ demoEdges
3737 WRITE setDemoEdges
3838 NOTIFY demoEdgesChanged)
39− Q_PROPERTY (bool interactiveWhileLocked
40− READ interactiveWhileLocked
41− NOTIFY interactiveWhileLockedChanged)
39+ Q_PROPERTY (bool enableLauncherWhileLocked
40+ READ enableLauncherWhileLocked
41+ NOTIFY enableLauncherWhileLockedChanged)
42+ Q_PROPERTY (bool enableIndicatorsWhileLocked
43+ READ enableIndicatorsWhileLocked
44+ NOTIFY enableIndicatorsWhileLockedChanged)
4245 Q_PROPERTY (QString backgroundFile
4346 READ backgroundFile
4447 NOTIFY backgroundFileChanged)
@@ -65,7 +68,8 @@ public:
6568 void setUser(const QString &user);
6669 bool demoEdges() const;
6770 void setDemoEdges(bool demoEdges);
68− bool interactiveWhileLocked() const;
71+ bool enableLauncherWhileLocked() const;
72+ bool enableIndicatorsWhileLocked() const;
6973 QString backgroundFile() const;
7074 bool statsWelcomeScreen() const;
7175 PasswordDisplayHint passwordDisplayHint() const;
@@ -75,7 +79,8 @@ public:
7579Q_SIGNALS:
7680 void userChanged();
7781 void demoEdgesChanged();
78− void interactiveWhileLockedChanged();
82+ void enableLauncherWhileLockedChanged();
83+ void enableIndicatorsWhileLockedChanged();
7984 void backgroundFileChanged();
8085 void statsWelcomeScreenChanged();
8186 void passwordDisplayHintChanged();
@@ -87,7 +92,8 @@ private Q_SLOTS:
8792
8893private:
8994 void updateDemoEdges();
90− void updateInteractiveWhileLocked();
95+ void updateEnableLauncherWhileLocked();
96+ void updateEnableIndicatorsWhileLocked();
9197 void updateBackgroundFile();
9298 void updateStatsWelcomeScreen();
9399 void updatePasswordDisplayHint();
@@ -96,7 +102,8 @@ private:
96102 AccountsServiceDBusAdaptor *m_service;
97103 QString m_user;
98104 bool m_demoEdges;
99− bool m_interactiveWhileLocked;
105+ bool m_enableLauncherWhileLocked;
106+ bool m_enableIndicatorsWhileLocked;
100107 QString m_backgroundFile;
101108 bool m_statsWelcomeScreen;
102109 PasswordDisplayHint m_passwordDisplayHint;
plugins/AccountsService/com.canonical.unity.AccountsService.xml+5−1
@@ -9,7 +9,11 @@
99 <annotation name="org.freedesktop.Accounts.Authentication.ChangeAny"
1010 value="com.ubuntu.AccountsService.GreeterChangeAny"/>
1111
12− <property name="InteractiveWhileLocked" type="b" access="readwrite">
12+ <property name="EnableLauncherWhileLocked" type="b" access="readwrite">
13+ <annotation name="org.freedesktop.Accounts.DefaultValue" value="true"/>
14+ </property>
15+
16+ <property name="EnableIndicatorsWhileLocked" type="b" access="readwrite">
1317 <annotation name="org.freedesktop.Accounts.DefaultValue" value="true"/>
1418 </property>
1519
qml/Shell.qml+2−2
@@ -496,7 +496,7 @@ Item {
496496 anchors.fill: parent //because this draws indicator menus
497497 indicators {
498498 hides: [launcher]
499− available: edgeDemo.panelEnabled && (!shell.locked || AccountsService.interactiveWhileLocked) && greeter.fakeActiveForApp === ""
499+ available: edgeDemo.panelEnabled && (!shell.locked || AccountsService.enableIndicatorsWhileLocked) && greeter.fakeActiveForApp === ""
500500 contentEnabled: edgeDemo.panelContentEnabled
501501 width: parent.width > units.gu(60) ? units.gu(40) : parent.width
502502 panelHeight: units.gu(3)
@@ -520,7 +520,7 @@ Item {
520520 anchors.bottom: parent.bottom
521521 width: parent.width
522522 dragAreaWidth: shell.edgeSize
523− available: edgeDemo.launcherEnabled && (!shell.locked || AccountsService.interactiveWhileLocked) && greeter.fakeActiveForApp === ""
523+ available: edgeDemo.launcherEnabled && (!shell.locked || AccountsService.enableLauncherWhileLocked) && greeter.fakeActiveForApp === ""
524524
525525 onShowDashHome: showHome()
526526 onDash: showDash()
tests/mocks/AccountsService/AccountsService.cpp+18−6
@@ -22,7 +22,8 @@
2222
2323AccountsService::AccountsService(QObject* parent)
2424 : QObject(parent),
25− m_interactiveWhileLocked(true),
25+ m_enableLauncherWhileLocked(true),
26+ m_enableIndicatorsWhileLocked(true),
2627 m_backgroundFile(qmlDirectory() + "graphics/phone_background.jpg"),
2728 m_statsWelcomeScreen(true),
2829 m_failedLogins(0)
@@ -51,15 +52,26 @@ void AccountsService::setDemoEdges(bool demoEdges)
5152 Q_UNUSED(demoEdges)
5253}
5354
54−bool AccountsService::interactiveWhileLocked() const
55+bool AccountsService::enableLauncherWhileLocked() const
5556{
56− return m_interactiveWhileLocked;
57+ return m_enableLauncherWhileLocked;
5758}
5859
59−void AccountsService::setInteractiveWhileLocked(bool interactiveWhileLocked)
60+void AccountsService::setEnableLauncherWhileLocked(bool enableLauncherWhileLocked)
6061{
61− m_interactiveWhileLocked = interactiveWhileLocked;
62− Q_EMIT interactiveWhileLockedChanged();
62+ m_enableLauncherWhileLocked = enableLauncherWhileLocked;
63+ Q_EMIT enableLauncherWhileLockedChanged();
64+}
65+
66+bool AccountsService::enableIndicatorsWhileLocked() const
67+{
68+ return m_enableIndicatorsWhileLocked;
69+}
70+
71+void AccountsService::setEnableIndicatorsWhileLocked(bool enableIndicatorsWhileLocked)
72+{
73+ m_enableIndicatorsWhileLocked = enableIndicatorsWhileLocked;
74+ Q_EMIT enableIndicatorsWhileLockedChanged();
6375}
6476
6577QString AccountsService::backgroundFile() const
tests/mocks/AccountsService/AccountsService.h+16−8
@@ -36,10 +36,14 @@ class AccountsService: public QObject
3636 READ demoEdges
3737 WRITE setDemoEdges
3838 NOTIFY demoEdgesChanged)
39− Q_PROPERTY (bool interactiveWhileLocked
40− READ interactiveWhileLocked
41− WRITE setInteractiveWhileLocked // only available in mock
42− NOTIFY interactiveWhileLockedChanged)
39+ Q_PROPERTY (bool enableLauncherWhileLocked
40+ READ enableLauncherWhileLocked
41+ WRITE setEnableLauncherWhileLocked // only available in mock
42+ NOTIFY enableLauncherWhileLockedChanged)
43+ Q_PROPERTY (bool enableIndicatorsWhileLocked
44+ READ enableIndicatorsWhileLocked
45+ WRITE setEnableIndicatorsWhileLocked // only available in mock
46+ NOTIFY enableIndicatorsWhileLockedChanged)
4347 Q_PROPERTY (QString backgroundFile
4448 READ backgroundFile
4549 WRITE setBackgroundFile // only available in mock
@@ -68,8 +72,10 @@ public:
6872 void setUser(const QString &user);
6973 bool demoEdges() const;
7074 void setDemoEdges(bool demoEdges);
71− bool interactiveWhileLocked() const;
72− void setInteractiveWhileLocked(bool interactiveWhileLocked);
75+ bool enableLauncherWhileLocked() const;
76+ void setEnableLauncherWhileLocked(bool enableLauncherWhileLocked);
77+ bool enableIndicatorsWhileLocked() const;
78+ void setEnableIndicatorsWhileLocked(bool enableIndicatorsWhileLocked);
7379 QString backgroundFile() const;
7480 void setBackgroundFile(const QString &backgroundFile);
7581 bool statsWelcomeScreen() const;
@@ -81,14 +87,16 @@ public:
8187Q_SIGNALS:
8288 void userChanged();
8389 void demoEdgesChanged();
84− void interactiveWhileLockedChanged();
90+ void enableLauncherWhileLockedChanged();
91+ void enableIndicatorsWhileLockedChanged();
8592 void backgroundFileChanged();
8693 void statsWelcomeScreenChanged();
8794 void passwordDisplayHintChanged();
8895 void failedLoginsChanged();
8996
9097private:
91− bool m_interactiveWhileLocked;
98+ bool m_enableLauncherWhileLocked;
99+ bool m_enableIndicatorsWhileLocked;
92100 QString m_backgroundFile;
93101 QString m_user;
94102 bool m_statsWelcomeScreen;
tests/qmltests/tst_ShellWithPin.qml+7−5
@@ -75,7 +75,8 @@ Item {
7575 swipeAwayGreeter()
7676 shell.failedLoginsDelayAttempts = -1
7777 shell.maxFailedLogins = -1
78− AccountsService.interactiveWhileLocked = true
78+ AccountsService.enableLauncherWhileLocked = true
79+ AccountsService.enableIndicatorsWhileLocked = true
7980 }
8081
8182 function cleanup() {
@@ -131,12 +132,13 @@ Item {
131132
132133 function test_disabledEdges() {
133134 var launcher = findChild(shell, "launcher")
134− var indicators = findChild(shell, "indicators")
135135 tryCompare(launcher, "available", true)
136− tryCompare(indicators, "available", true)
137−
138− AccountsService.interactiveWhileLocked = false
136+ AccountsService.enableLauncherWhileLocked = false
139137 tryCompare(launcher, "available", false)
138+
139+ var indicators = findChild(shell, "indicators")
140+ tryCompare(indicators, "available", true)
141+ AccountsService.enableIndicatorsWhileLocked = false
140142 tryCompare(indicators, "available", false)
141143 }
142144