on xenial help sign in
merged with prompt session branch
commit18bed51e37a290cc8cd3689fd5af9a0a05e567c8 authorNick Dedekind <nicholas.dedekind@gmail.com> dateSat 19 Jul 2014, 08:47 (12 years ago) parent832b730c5f5062
17 files changed+172−125
data/unity8.conf+3 debian/changelog+8 po/gl.po+4−4 po/ko.po+1−1 po/nl.po+11−9 po/pt.po+23−23 po/pt_BR.po+1−1 qml/Panel/Indicators.qml+1 qml/Panel/Indicators/MenuItemFactory.qml−6 qml/Panel/Indicators/MessageMenuItemFactory.qml−3 qml/Panel/Panel.qml−22 qml/Shell.qml−4 qml/Stages/PhoneStage.qml+22−30 qml/Stages/SpreadDelegate.qml+2−6 qml/Stages/SurfaceContainer.qml+95 qml/Stages/TabletStage.qml+1−2 tests/qmltests/Panel/tst_Panel.qml−14
data/unity8.conf+3
@@ -44,6 +44,8 @@ pre-start script
4444 rm "$MIR_SERVER_FILE"
4545 fi
4646
47+ initctl set-env --global MIR_SERVER_PROMPT_FILE=1
48+
4749 initctl emit scope-ui-starting
4850 initctl emit --no-wait indicator-services-start
4951end script
@@ -53,4 +55,5 @@ exec ${BINARY:-unity8} $ARGS
5355post-stop script
5456 initctl set-env --global MIR_SOCKET=$UNITY_MIR_SOCKET
5557 initctl unset-env --global UNITY_MIR_SOCKET
58+ initctl unset-env --global MIR_SERVER_PROMPT_FILE
5659end script
debian/changelog+8
@@ -12,6 +12,14 @@ unity8 (8.00) UNRELEASED; urgency=medium
1212
1313 -- Gerry Boland <gerry.boland@canonical.com> Thu, 10 Jul 2014 10:34:18 +0100
1414
15+unity8 (7.90+14.10.20140717.3-0ubuntu1) utopic; urgency=low
16+
17+ [ Nick Dedekind ]
18+ * Added environment variable to upstart conf for mir trusted socket
19+ * Removed indicator menu dismissal on menu activation (LP: #1337771)
20+
21+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 17 Jul 2014 16:35:52 +0000
22+
1523unity8 (7.90+14.10.20140717.1-0ubuntu1) utopic; urgency=low
1624
1725 [ Michał Sawicz ]
po/gl.po+4−4
@@ -8,14 +8,14 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-07-07 12:15+0100\n"
11−"PO-Revision-Date: 2014-07-09 12:17+0000\n"
11+"PO-Revision-Date: 2014-07-17 19:55+0000\n"
1212"Last-Translator: Marcos Lans <Unknown>\n"
1313"Language-Team: Galician <gl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-07-10 07:29+0000\n"
18−"X-Generator: Launchpad (build 17100)\n"
17+"X-Launchpad-Export-Date: 2014-07-18 05:28+0000\n"
18+"X-Generator: Launchpad (build 17114)\n"
1919
2020#: plugins/Unity/Launcher/launcheritem.cpp:43
2121#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -52,7 +52,7 @@ msgstr "Pechar"
5252
5353#: qml/Components/EdgeDemo.qml:172
5454msgid "Swipe up again to close the settings screen"
55−msgstr "Esvare o dedo cara a arriba para pechar os axustes"
55+msgstr "Esvare o dedo de novo cara a arriba para pechar os axustes"
5656
5757#: qml/Components/EdgeDemo.qml:199
5858msgid "Left edge"
po/ko.po+1−1
@@ -14,7 +14,7 @@ msgstr ""
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-07-17 06:38+0000\n"
17+"X-Launchpad-Export-Date: 2014-07-18 05:28+0000\n"
1818"X-Generator: Launchpad (build 17114)\n"
1919
2020#: plugins/Unity/Launcher/launcheritem.cpp:43
po/nl.po+11−9
@@ -8,23 +8,23 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-07-07 12:15+0100\n"
11−"PO-Revision-Date: 2014-07-15 14:11+0000\n"
12−"Last-Translator: Hannie Dumoleyn <Unknown>\n"
11+"PO-Revision-Date: 2014-07-17 19:21+0000\n"
12+"Last-Translator: Pjotr12345 <Unknown>\n"
1313"Language-Team: Dutch <nl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-07-16 07:27+0000\n"
18−"X-Generator: Launchpad (build 17112)\n"
17+"X-Launchpad-Export-Date: 2014-07-18 05:28+0000\n"
18+"X-Generator: Launchpad (build 17114)\n"
1919
2020#: plugins/Unity/Launcher/launcheritem.cpp:43
2121#: plugins/Unity/Launcher/launcheritem.cpp:73
2222msgid "Pin shortcut"
23−msgstr ""
23+msgstr "Snelkoppeling vastzetten"
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
2626msgid "Unpin shortcut"
27−msgstr ""
27+msgstr "Snelkoppeling losmaken"
2828
2929#: qml/Components/EdgeDemoOverlay.qml:151
3030msgid "Skip intro"
@@ -36,7 +36,7 @@ msgstr "Rechterrand"
3636
3737#: qml/Components/EdgeDemo.qml:114
3838msgid "Try swiping from the right edge to unlock the phone"
39−msgstr ""
39+msgstr "Veeg vanuit de rechterrand om het scherm te ontgrendelen"
4040
4141#: qml/Components/EdgeDemo.qml:145
4242msgid "Top edge"
@@ -44,7 +44,7 @@ msgstr "Bovenrand"
4444
4545#: qml/Components/EdgeDemo.qml:146
4646msgid "Try swiping from the top edge to access the indicators"
47−msgstr ""
47+msgstr "Veeg vanuit de bovenrand om de indicatoren te bekijken"
4848
4949#: qml/Components/EdgeDemo.qml:171
5050msgid "Close"
@@ -71,6 +71,8 @@ msgid ""
7171"You have now mastered the edge gestures and can start using the "
7272"phone<br><br>Tap on the screen to start"
7373msgstr ""
74+"Nu u de bewegingen vanuit de randen onder de knie heeft, kunt u beginnen met "
75+"het gebruiken van de telefoon<br><br>Tik op het scherm om te beginnen"
7476
7577#: qml/Components/Lockscreen.qml:214
7678msgid "Emergency Call"
@@ -163,7 +165,7 @@ msgstr "Wachtwoord tonen"
163165
164166#: qml/Notifications/NotificationMenuItemFactory.qml:103
165167msgid "Please enter SIM PIN"
166−msgstr "Voer SIM PIN in"
168+msgstr "Voer SIM-pincode in"
167169
168170#: qml/Panel/Indicators/MenuItemFactory.qml:583
169171msgid "In queue…"
po/pt.po+23−23
@@ -8,23 +8,23 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-07-07 12:15+0100\n"
11−"PO-Revision-Date: 2014-01-14 19:18+0000\n"
12−"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
11+"PO-Revision-Date: 2014-07-18 00:00+0000\n"
12+"Last-Translator: Nuno André <Unknown>\n"
1313"Language-Team: Portuguese <pt@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-07-09 06:37+0000\n"
18−"X-Generator: Launchpad (build 17100)\n"
17+"X-Launchpad-Export-Date: 2014-07-18 05:28+0000\n"
18+"X-Generator: Launchpad (build 17114)\n"
1919
2020#: plugins/Unity/Launcher/launcheritem.cpp:43
2121#: plugins/Unity/Launcher/launcheritem.cpp:73
2222msgid "Pin shortcut"
23−msgstr ""
23+msgstr "Afixar atalho"
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
2626msgid "Unpin shortcut"
27−msgstr ""
27+msgstr "Remover atalho"
2828
2929#: qml/Components/EdgeDemoOverlay.qml:151
3030msgid "Skip intro"
@@ -64,7 +64,7 @@ msgstr ""
6464
6565#: qml/Components/EdgeDemo.qml:227
6666msgid "Well done"
67−msgstr ""
67+msgstr "Muito bem"
6868
6969#: qml/Components/EdgeDemo.qml:228
7070msgid ""
@@ -74,7 +74,7 @@ msgstr ""
7474
7575#: qml/Components/Lockscreen.qml:214
7676msgid "Emergency Call"
77−msgstr ""
77+msgstr "Chamada de emergência"
7878
7979#: qml/Components/Lockscreen.qml:231
8080msgid "OK"
@@ -82,16 +82,16 @@ msgstr ""
8282
8383#: qml/Components/PageHeader.qml:366
8484msgid "Recent searches"
85−msgstr ""
85+msgstr "Pesquisas recentes"
8686
8787#: qml/Components/PassphraseLockscreen.qml:60
8888#, qt-format
8989msgid "Hello %1"
90−msgstr ""
90+msgstr "Olá %1"
9191
9292#: qml/Components/PassphraseLockscreen.qml:60
9393msgid "Hello"
94−msgstr ""
94+msgstr "Olá"
9595
9696#: qml/Components/PinLockscreen.qml:198
9797msgid "CANCEL"
@@ -103,11 +103,11 @@ msgstr ""
103103
104104#: qml/Components/SeeMore.qml:35
105105msgid "See more"
106−msgstr ""
106+msgstr "Ver mais"
107107
108108#: qml/Components/SeeMore.qml:58
109109msgid "See less"
110−msgstr ""
110+msgstr "Ver menos"
111111
112112#: qml/Dash/DashApps.qml:37
113113msgid "Recent"
@@ -115,11 +115,11 @@ msgstr ""
115115
116116#: qml/Dash/Previews/PreviewActionCombo.qml:34
117117msgid "More..."
118−msgstr ""
118+msgstr "Mais..."
119119
120120#: qml/Dash/Previews/PreviewActionCombo.qml:34
121121msgid "Less..."
122−msgstr ""
122+msgstr "Menos..."
123123
124124#: qml/Dash/Previews/PreviewRatingInput.qml:82
125125msgid "Rate this"
@@ -131,7 +131,7 @@ msgstr ""
131131
132132#: qml/Dash/Previews/PreviewRatingInput.qml:168
133133msgid "Send"
134−msgstr ""
134+msgstr "Enviar"
135135
136136#: qml/Greeter/Greeter.qml:157
137137msgid "Swipe to unlock"
@@ -139,11 +139,11 @@ msgstr ""
139139
140140#: qml/Hud/HudParametrizedActionsPage.qml:132
141141msgid "Confirm"
142−msgstr ""
142+msgstr "Confirmar"
143143
144144#: qml/Hud/Hud.qml:61 qml/Hud/Hud.qml:99 qml/Hud/Hud.qml:372
145145msgid "Type or say a command"
146−msgstr ""
146+msgstr "Digite ou diga um comando"
147147
148148#: qml/Hud/Hud.qml:84
149149msgid "Loading. Please Wait..."
@@ -151,11 +151,11 @@ msgstr ""
151151
152152#: qml/Hud/Hud.qml:89
153153msgid "Speak Now..."
154−msgstr ""
154+msgstr "Fale agora..."
155155
156156#: qml/Hud/Hud.qml:94
157157msgid "Speaking..."
158−msgstr ""
158+msgstr "A falar..."
159159
160160#: qml/Notifications/NotificationMenuItemFactory.qml:91
161161msgid "Show password"
@@ -163,7 +163,7 @@ msgstr ""
163163
164164#: qml/Notifications/NotificationMenuItemFactory.qml:103
165165msgid "Please enter SIM PIN"
166−msgstr ""
166+msgstr "Por favor insira o PIN"
167167
168168#: qml/Panel/Indicators/MenuItemFactory.qml:583
169169msgid "In queue…"
@@ -175,11 +175,11 @@ msgstr ""
175175
176176#: qml/Panel/Indicators/MenuItemFactory.qml:589
177177msgid "Paused, tap to resume"
178−msgstr ""
178+msgstr "Parado, toque para continuar"
179179
180180#: qml/Panel/Indicators/MenuItemFactory.qml:591
181181msgid "Canceled"
182−msgstr ""
182+msgstr "Cancelado"
183183
184184#: qml/Panel/Indicators/MenuItemFactory.qml:593
185185msgid "Finished"
po/pt_BR.po+1−1
@@ -14,7 +14,7 @@ msgstr ""
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-07-17 06:38+0000\n"
17+"X-Launchpad-Export-Date: 2014-07-18 05:28+0000\n"
1818"X-Generator: Launchpad (build 17114)\n"
1919
2020#: plugins/Unity/Launcher/launcheritem.cpp:43
qml/Panel/Indicators.qml+1
@@ -264,6 +264,7 @@ Showable {
264264 indicators.calculateCurrentItem(touchX, false);
265265 } else {
266266 indicators.state = "commit";
267+ indicatorRow.currentItemOffset = 0;
267268 }
268269 }
269270
qml/Panel/Indicators/MenuItemFactory.qml−6
@@ -140,7 +140,6 @@ Item {
140140
141141 onTriggered: {
142142 menuModel.activate(menuIndex);
143− shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
144143 }
145144 }
146145 }
@@ -186,7 +185,6 @@ Item {
186185
187186 onTriggered: {
188187 menuModel.activate(menuIndex);
189− shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
190188 }
191189 }
192190 }
@@ -205,7 +203,6 @@ Item {
205203
206204 onTriggered: {
207205 menuModel.activate(menuIndex);
208− shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
209206 }
210207 }
211208 }
@@ -226,7 +223,6 @@ Item {
226223
227224 onTriggered: {
228225 menuModel.activate(menuIndex);
229− shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
230226 }
231227 }
232228 }
@@ -367,7 +363,6 @@ Item {
367363 }
368364 onTriggered: {
369365 menuModel.activate(menuIndex);
370− shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
371366 }
372367
373368 function loadAttributes() {
@@ -412,7 +407,6 @@ Item {
412407 }
413408 onClicked: {
414409 menuModel.activate(menuIndex, true);
415− shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
416410 }
417411 onDismissed: {
418412 menuModel.activate(menuIndex, false);
qml/Panel/Indicators/MessageMenuItemFactory.qml−3
@@ -95,7 +95,6 @@ Item {
9595
9696 onAppActivated: {
9797 menuModel.activate(menuIndex, true);
98− shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
9998 }
10099 onDismissed: {
101100 menuModel.activate(menuIndex, false);
@@ -144,7 +143,6 @@ Item {
144143
145144 onAppActivated: {
146145 menuModel.activate(menuIndex, true);
147− shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
148146 }
149147 onDismissed: {
150148 menuModel.activate(menuIndex, false);
@@ -204,7 +202,6 @@ Item {
204202
205203 onAppActivated: {
206204 menuModel.activate(menuIndex, true);
207− shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
208205 }
209206 onDismissed: {
210207 menuModel.activate(menuIndex, false);
qml/Panel/Panel.qml−22
@@ -27,28 +27,6 @@ Item {
2727 property alias callHint: __callHint
2828 property bool fullscreenMode: false
2929
30− function hideIndicatorMenu(delay) {
31− if (delay !== undefined) {
32− hideTimer.interval = delay;
33− hideTimer.start();
34− } else {
35− indicators.hide();
36− }
37− }
38−
39− Timer {
40− id: hideTimer
41− running: false
42− onTriggered: {
43− indicators.hide();
44− }
45− }
46−
47− Connections {
48− target: indicators
49− onShownChanged: hideTimer.stop()
50− }
51−
5230 Rectangle {
5331 id: darkenedArea
5432 property real darkenedOpacity: 0.6
qml/Shell.qml−4
@@ -639,10 +639,6 @@ Item {
639639 stages.hide()
640640 }
641641
642− function hideIndicatorMenu(delay) {
643− panel.hideIndicatorMenu(delay);
644− }
645−
646642 Item {
647643 id: overlay
648644 z: 10
qml/Stages/PhoneStage.qml+22−30
@@ -30,11 +30,10 @@ Item {
3030 property bool interactive
3131
3232 // State information propagated to the outside
33− property bool fullscreen: priv.focusedApplication ? priv.focusedApplication.fullscreen : false
34− property bool locked: spreadView.phase == 2
33+ readonly property bool locked: spreadView.phase == 2
3534
3635 function select(appId) {
37− spreadView.snapTo(priv.indexOf(appId))
36+ spreadView.snapTo(priv.indexOf(appId));
3837 }
3938
4039 onWidthChanged: {
@@ -54,21 +53,13 @@ Item {
5453 }
5554 }
5655
57− onFocusedApplicationIdChanged: {
58− if (ApplicationManager.focusedApplicationId.length > 0) {
59− var application = priv.focusedApplication;
60− root.fullscreen = application.fullscreen;
61− var appIndex = priv.indexOf(application.appId);
62− }
63− }
64−
6556 onApplicationAdded: {
6657 if (spreadView.phase == 2) {
6758 spreadView.snapTo(ApplicationManager.count - 1);
6859 } else {
6960 spreadView.phase = 0;
70− spreadView.contentX = -spreadView.shift
71− priv.switchToApp(appId)
61+ spreadView.contentX = -spreadView.shift;
62+ priv.switchToApp(appId);
7263 }
7364 }
7465
@@ -90,8 +81,7 @@ Item {
9081
9182 function switchToApp(appId) {
9283 if (priv.focusedAppId) {
93− root.fullscreen = ApplicationManager.findApplication(appId).fullscreen;
94− spreadView.focusChanging = true
84+ spreadView.focusChanging = true;
9585 ApplicationManager.focusApplication(appId);
9686 } else {
9787 ApplicationManager.focusApplication(appId);
@@ -182,9 +172,9 @@ Item {
182172 snapAnimation.targetContentX = -shift;
183173 snapAnimation.start();
184174 } else if (shiftedContentX < positionMarker2 * width) {
185− snapTo(1)
175+ snapTo(1);
186176 } else if (shiftedContentX < positionMarker3 * width) {
187− snapTo(1)
177+ snapTo(1);
188178 } else if (phase < 2){
189179 // Add 1 pixel to make sure we definitely hit positionMarker4 even with rounding errors of the animation.
190180 snapAnimation.targetContentX = width * positionMarker4 + 1 - shift;
@@ -197,7 +187,6 @@ Item {
197187 index = 0;
198188 }
199189 spreadView.selectedIndex = index;
200− root.fullscreen = ApplicationManager.get(index).fullscreen;
201190 // If we're not in full spread mode yet, always unwind to start pos
202191 // otherwise unwind up to progress 0 of the selected index
203192 if (spreadView.phase < 2) {
@@ -224,7 +213,7 @@ Item {
224213 if (spreadView.selectedIndex >= 0) {
225214 ApplicationManager.focusApplication(ApplicationManager.get(spreadView.selectedIndex).appId);
226215
227− spreadView.selectedIndex = -1
216+ spreadView.selectedIndex = -1;
228217 spreadView.phase = 0;
229218 spreadView.contentX = -spreadView.shift;
230219 }
@@ -244,7 +233,7 @@ Item {
244233 }
245234 onWidthChanged: {
246235 if (spreadView.closingIndex >= 0) {
247− spreadView.contentX = Math.min(spreadView.contentX, width - spreadView.width - spreadView.shift)
236+ spreadView.contentX = Math.min(spreadView.contentX, width - spreadView.width - spreadView.shift);
248237 }
249238 }
250239
@@ -280,7 +269,7 @@ Item {
280269 UbuntuNumberAnimation {
281270 onRunningChanged: {
282271 if (!running) {
283− spreadView.closingIndex = -1
272+ spreadView.closingIndex = -1;
284273 }
285274 }
286275 }
@@ -292,23 +281,27 @@ Item {
292281 duration: UbuntuAnimation.FastDuration
293282 onRunningChanged: {
294283 if (!running) {
295− spreadView.focusChanging = false
284+ spreadView.focusChanging = false;
296285 }
297286 }
298287 }
299288 }
300289
301290 // Each tile has a different progress value running from 0 to 1.
302− // A progress value of 0 means the tile is at the right edge. 1 means the tile has reched the left edge.
291+ // 0: means the tile is at the right edge.
292+ // 1: means the tile has finished the main animation towards the left edge.
293+ // >1: after the main animation has finished, tiles will continue to move very slowly to the left
303294 progress: {
304295 var tileProgress = (spreadView.shiftedContentX - behavioredIndex * spreadView.tileDistance) / spreadView.width;
305296 // Tile 1 needs to move directly from the beginning...
306297 if (behavioredIndex == 1 && spreadView.phase < 2) {
307298 tileProgress += spreadView.tileDistance / spreadView.width;
308299 }
309− // Limiting progress to ~0 and 1.7 to avoid binding calculations when tiles are either
310− // outside the screen on the right (progress < 0) or hidden by other tiles on the left
311− // (> 1.7). Using 0.0001 to differentiate when a tile should still be visible (==0)
300+ // Limiting progress to ~0 and 1.7 to avoid binding calculations when tiles are not
301+ // visible.
302+ // < 0 : The tile is outside the screen on the right
303+ // > 1.7: The tile is *very* close to the left edge and covered by other tiles now.
304+ // Using 0.0001 to differentiate when a tile should still be visible (==0)
312305 // or we can hide it (< 0)
313306 tileProgress = Math.max(-0.0001, Math.min(1.7, tileProgress));
314307 return tileProgress;
@@ -346,9 +339,9 @@ Item {
346339 }
347340
348341 onClosed: {
349− spreadView.draggedIndex = -1
350− spreadView.closingIndex = index
351− ApplicationManager.stopApplication(ApplicationManager.get(index).appId)
342+ spreadView.draggedIndex = -1;
343+ spreadView.closingIndex = index;
344+ ApplicationManager.stopApplication(ApplicationManager.get(index).appId);
352345 }
353346 }
354347 }
@@ -425,5 +418,4 @@ Item {
425418 }
426419 }
427420 }
428−
429421}
qml/Stages/SpreadDelegate.qml+2−6
@@ -35,10 +35,10 @@ Item {
3535 signal clicked()
3636 signal closed()
3737
38− Item {
38+ SurfaceContainer {
3939 id: surfaceContainer
4040 anchors.fill: parent
41− readonly property var surface: model.surface
41+ surface: model.surface
4242 property bool appHasCreatedASurface: false
4343
4444 onSurfaceChanged: {
@@ -47,11 +47,7 @@ Item {
4747 surface.visible = false; // hide until splash screen removed
4848 appHasCreatedASurface = true;
4949 }
50−
51− surface.parent = surfaceContainer;
52− surface.anchors.fill = surfaceContainer;
5350 surfaceContainer.checkFullscreen(surface);
54− surface.z = 1;
5551 }
5652 }
5753
qml/Stages/SurfaceContainer.qmlnew file+95
@@ -0,0 +1,95 @@
1+/*
2+ * Copyright 2014 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU Lesser General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU Lesser General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU Lesser General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+*/
16+
17+import QtQuick 2.0
18+
19+Item {
20+ id: container
21+ property Item surface: null
22+ property string animation
23+ property bool show: false
24+
25+ onSurfaceChanged: {
26+ if (surface) {
27+ surface.parent = container;
28+ surface.anchors.fill = container;
29+ surface.z = 1;
30+ }
31+ }
32+
33+ Repeater {
34+ model: container.surface ? container.surface.childSurfaces : 0
35+
36+ delegate: Loader {
37+ z: 2
38+ anchors.fill: surface
39+
40+ // Only way to do recursive qml items.
41+ source: Qt.resolvedUrl("SurfaceContainer.qml")
42+ onLoaded: {
43+ item.parent = container.surface;
44+ item.surface = modelData;
45+ item.animation = "overlaySwipeBottom"
46+ item.show = true;
47+ }
48+ }
49+ }
50+
51+ states: [
52+ State {
53+ name: "baseAnimation"
54+ PropertyChanges { target: surface; anchors.fill: undefined }
55+ },
56+
57+ State {
58+ name: "overlaySwipeBottom-out"
59+ extend: "baseAnimation"
60+ when: surface && animation === "overlaySwipeBottom" && !show
61+ AnchorChanges { target: surface; anchors.top: surface.parent.bottom }
62+ },
63+ State {
64+ name: "overlaySwipeBottom-in"
65+ extend: "baseAnimation"
66+ when: surface && animation === "overlaySwipeBottom" && show
67+ AnchorChanges { target: surface; anchors.top: surface.parent.top }
68+ }
69+
70+ // TODO: more animations!
71+ // Surface needs to stick around so that we can dimiss them with animation.
72+ ]
73+
74+ transitions: [
75+ Transition {
76+ from: "overlaySwipeBottom-out"
77+ to: "overlaySwipeBottom-in"
78+ SequentialAnimation {
79+ PropertyAction { target: surface.parent; property: "clip"; value: true}
80+ AnchorAnimation { easing.type: Easing.InOutQuad; duration: 400 }
81+ PropertyAction { target: surface.parent; property: "clip"; value: false}
82+ }
83+ },
84+ Transition {
85+ from: "overlaySwipeBottom-in"
86+ to: "overlaySwipeBottom-out"
87+ SequentialAnimation {
88+ PropertyAction { target: surface.parent; property: "clip"; value: true}
89+ AnchorAnimation { easing.type: Easing.InOutQuad; duration: 400 }
90+ PropertyAction { target: surface; property: "visible"; value: false}
91+ PropertyAction { target: surface.parent; property: "clip"; value: false}
92+ }
93+ }
94+ ]
95+}
qml/Stages/TabletStage.qml+1−2
@@ -34,8 +34,7 @@ Item {
3434 property bool interactive
3535
3636 // State information propagated to the outside
37− property bool fullscreen: true
38− property bool locked: spreadView.phase == 2
37+ readonly property bool locked: spreadView.phase == 2
3938
4039 QtObject {
4140 id: priv
tests/qmltests/Panel/tst_Panel.qml−14
@@ -333,19 +333,5 @@ Item {
333333
334334 compare(indicatorRow.currentItem, indicatorItemFirst, "First indicator should still be the current item");
335335 }
336−
337− function test_hideIndicatorMenu_data() {
338− return [ {tag: "no-delay", delay: undefined },
339− {tag: "delayed", delay: 200 }
340− ];
341− }
342−
343− function test_hideIndicatorMenu(data) {
344− panel.indicators.show();
345− compare(panel.indicators.shown, true);
346−
347− panel.hideIndicatorMenu(data.delay);
348− tryCompare(panel.indicators, "shown", false);
349− }
350336 }
351337}