@@ -78,10 +78,11 @@ Showable {
7878 id: overviewController
7979
8080 property bool accepted: false
81− property bool enableAnimation: false
81+ property alias enableAnimation: progressAnimation.enabled
8282 property real progress: 0
83+ property bool showingNonFavoriteScope: false
8384 Behavior on progress {
84− enabled: overviewController.enableAnimation
85+ id: progressAnimation
8586 UbuntuNumberAnimation { }
8687 }
8788 }
@@ -90,6 +91,7 @@ Showable {
9091 id: scopesOverview
9192 anchors.fill: parent
9293 scope: scopes ? scopes.getScope("scopesOverview") : null
94+ showingNonFavoriteScope: overviewController.showingNonFavoriteScope
9395 progress: overviewController.progress
9496 scopeScale: 1 - overviewController.progress * 0.6
9597 visible: scopeScale != 1
@@ -109,8 +111,9 @@ Showable {
109111 target: scopesOverview.scope
110112 onOpenScope: {
111113 scopeItem.scope = scope;
112− scopesOverview.hide();
113− dashContent.x = -dashContent.width; // TODO
114+ scopeItem.overviewScale = 0.4;
115+ overviewController.showingNonFavoriteScope = true;
116+ scopeItem.overviewScale = 1;
114117 }
115118 }
116119 }
@@ -123,7 +126,7 @@ Showable {
123126 height: dash.height
124127 model: filteredScopes
125128 scopes: scopes
126− visible: x != -width
129+ visible: !overviewController.showingNonFavoriteScope && x != -width
127130 onGotoScope: {
128131 dash.setCurrentScope(scopeId, true, false);
129132 }
@@ -143,7 +146,6 @@ Showable {
143146 UbuntuNumberAnimation {
144147 onRunningChanged: {
145148 if (!running && dashContent.x == 0) {
146− // TODO If it came from ScopesOverview it has to be ScopesOverview.scope.closeScope()
147149 dashContent.closeScope(scopeItem.scope);
148150 scopeItem.scope = null;
149151 }
@@ -151,29 +153,48 @@ Showable {
151153 }
152154 }
153155
154− enabled: overviewController.progress == 0
156+ enabled: opacity == 1
155157 opacity: 1 - overviewController.progress
156158 }
157159
158160 DashBackground
159161 {
160162 anchors.fill: scopeItem
163+ scale: scopeItem.scale
161164 }
162165
163166 GenericScopeView {
164167 id: scopeItem
165− anchors.left: dashContent.right
168+
169+ property real overviewScale: 1
170+
171+ x: overviewController.showingNonFavoriteScope ? 0 : width + dashContent.x
166172 width: parent.width
167173 height: parent.height
168− scale: dash.contentScale
174+ scale: dash.contentScale * overviewScale
175+ Behavior on overviewScale {
176+ enabled: overviewController.showingNonFavoriteScope
177+ UbuntuNumberAnimation {
178+ onRunningChanged: {
179+ if (!running && scopeItem.overviewScale == 0.4) {
180+ scopesOverview.scope.closeScope(scopeItem.scope);
181+ overviewController.showingNonFavoriteScope = false;
182+ scopeItem.scope = null;
183+ }
184+ }
185+ }
186+ }
169187 clip: scale != 1.0
170− visible: scope != null
188+ visible: scope != null
171189 hasBackAction: true
172190 isCurrent: visible
173191 onBackClicked: {
174− // TODO if coming from dash overview this needs to go to overview
175− closeOverlayScope();
176− closePreview();
192+ if (overviewController.showingNonFavoriteScope) {
193+ scopeItem.overviewScale = 0.4;
194+ } else {
195+ closeOverlayScope();
196+ closePreview();
197+ }
177198 }
178199
179200 Connections {