on xenial help sign in
Allow turning on/off the edge demo live
4887058Michael Terry
Components/EdgeDemo.qml+24−18
@@ -43,15 +43,12 @@ Item {
43 }
43 }
44
44
45 function hideEdgeDemoInShell() {
45 function hideEdgeDemoInShell() {
46− var user = LightDM.Users.data(greeter.currentIndex, LightDM.UserRoles.NameRole);
47 AccountsService.demoEdges = false;
46 AccountsService.demoEdges = false;
48− d.showEdgeDemo = false;
49 stopDemo();
47 stopDemo();
50 }
48 }
51
49
52 function hideEdgeDemoInGreeter() {
50 function hideEdgeDemoInGreeter() {
53 // TODO: AccountsService.demoEdges = false as lightdm user
51 // TODO: AccountsService.demoEdges = false as lightdm user
54− d.showEdgeDemoInGreeter = false;
55 }
52 }
56
53
57 function hideEdgeDemos() {
54 function hideEdgeDemos() {
@@ -71,6 +68,24 @@ Item {
71 if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
68 if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
72 }
69 }
73
70
71+ function startDemo() {
72+ if (!d.overlay) {
73+ d.overlay = Qt.createComponent("EdgeDemoOverlay.qml")
74+ }
75+
76+ launcherEnabled = false;
77+ dashEnabled = false;
78+ panelEnabled = false;
79+ panelContentEnabled = false;
80+
81+ // Begin with either greeter or dash, depending on which is visible
82+ if (greeter && greeter.shown) {
83+ startRightEdgeDemo()
84+ } else {
85+ startTopEdgeDemo()
86+ }
87+ }
88+
74 QtObject {
89 QtObject {
75 id: d
90 id: d
76 property Component overlay
91 property Component overlay
@@ -79,22 +94,18 @@ Item {
79 property QtObject bottomEdgeDemo
94 property QtObject bottomEdgeDemo
80 property QtObject leftEdgeDemo
95 property QtObject leftEdgeDemo
81 property QtObject finalEdgeDemo
96 property QtObject finalEdgeDemo
82− property bool showEdgeDemo: false
97+ property bool showEdgeDemo: AccountsService.demoEdges
83− property bool showEdgeDemoInGreeter: d.showEdgeDemo // TODO: AccountsService.demoEdges as lightdm user
98+ property bool showEdgeDemoInGreeter: AccountsService.demoEdges // TODO: AccountsService.demoEdges as lightdm user
84
99
85− onShowEdgeDemoInGreeterChanged: {
100+ onShowEdgeDemoChanged: {
86− if (!d.overlay && d.showEdgeDemoInGreeter) {
101+ stopDemo()
87− d.overlay = Qt.createComponent("EdgeDemoOverlay.qml")
102+ if (d.showEdgeDemo) {
88− startRightEdgeDemo()
103+ startDemo()
89 }
104 }
90 }
105 }
91 }
106 }
92
107
93 function startRightEdgeDemo() {
108 function startRightEdgeDemo() {
94− launcherEnabled = false;
95− demo.dashEnabled = false;
96− demo.panelEnabled = false;
97− demo.panelContentEnabled = false;
98 if (demo.greeter) {
109 if (demo.greeter) {
99 d.rightEdgeDemo = d.overlay.createObject(demo.greeter, {
110 d.rightEdgeDemo = d.overlay.createObject(demo.greeter, {
100 "edge": "right",
111 "edge": "right",
@@ -123,11 +134,6 @@ Item {
123
134
124 onUnlocked: hide()
135 onUnlocked: hide()
125 onShownChanged: if (!greeter.shown) hide()
136 onShownChanged: if (!greeter.shown) hide()
126−
127− onSelected: {
128− var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole)
129− d.showEdgeDemo = AccountsService.demoEdges
130− }
131 }
137 }
132
138
133 function startTopEdgeDemo() {
139 function startTopEdgeDemo() {