@@ -111,9 +111,13 @@ Showable {
111111 target: scopesOverview.scope
112112 onOpenScope: {
113113 scopeItem.scope = scope;
114− scopeItem.overviewScale = 0.4;
114+ scopeItem.overviewScale = scopesOverview.allCardSize.width / scopeItem.width;
115+ scopeItem.x = scopesOverview.allScopeClickedPos.x -(scopeItem.width - scopeItem.width * scopeItem.overviewScale) / 2;
116+ scopeItem.y = scopesOverview.allScopeClickedPos.y -(scopeItem.height - scopeItem.height * scopeItem.overviewScale) / 2;
115117 overviewController.showingNonFavoriteScope = true;
116118 scopeItem.overviewScale = 1;
119+ scopeItem.x = 0;
120+ scopeItem.y = 0;
117121 }
118122 }
119123 }
@@ -161,6 +165,7 @@ Showable {
161165 {
162166 anchors.fill: scopeItem
163167 scale: scopeItem.scale
168+ visible: scopeItem.visible
164169 }
165170
166171 GenericScopeView {
@@ -168,15 +173,25 @@ Showable {
168173
169174 property real overviewScale: 1
170175
176+ // TODO test this width + dashContent.x still works
171177 x: overviewController.showingNonFavoriteScope ? 0 : width + dashContent.x
178+ Behavior on x {
179+ enabled: overviewController.showingNonFavoriteScope
180+ UbuntuNumberAnimation { }
181+ }
182+ Behavior on y {
183+ enabled: overviewController.showingNonFavoriteScope
184+ UbuntuNumberAnimation { }
185+ }
172186 width: parent.width
173187 height: parent.height
174188 scale: dash.contentScale * overviewScale
189+ enabled: scale == 1
175190 Behavior on overviewScale {
176191 enabled: overviewController.showingNonFavoriteScope
177192 UbuntuNumberAnimation {
178193 onRunningChanged: {
179− if (!running && scopeItem.overviewScale == 0.4) {
194+ if (!running && scopeItem.overviewScale != 1) {
180195 scopesOverview.scope.closeScope(scopeItem.scope);
181196 overviewController.showingNonFavoriteScope = false;
182197 scopeItem.scope = null;
@@ -190,7 +205,10 @@ Showable {
190205 isCurrent: visible
191206 onBackClicked: {
192207 if (overviewController.showingNonFavoriteScope) {
193− scopeItem.overviewScale = 0.4;
208+ var v = scopesOverview.allCardSize.width / scopeItem.width;
209+ scopeItem.overviewScale = v;
210+ scopeItem.x = scopesOverview.allScopeClickedPos.x -(scopeItem.width - scopeItem.width * v) / 2;
211+ scopeItem.y = scopesOverview.allScopeClickedPos.y -(scopeItem.height - scopeItem.height * v) / 2;
194212 } else {
195213 closeOverlayScope();
196214 closePreview();
@@ -213,6 +231,7 @@ Showable {
213231 z: 1
214232 direction: Direction.Upwards
215233 distanceThreshold: units.gu(20)
234+ // TODO this needs to be disabled in a few more cases
216235 enabled: !overviewController.accepted || dragging
217236
218237 anchors { left: parent.left; right: parent.right; bottom: parent.bottom }