@@ -78,10 +78,11 @@ Showable {
78 id: overviewController
78 id: overviewController
80 property bool accepted: false
80 property bool accepted: false
81− property bool enableAnimation: false
81+ property alias enableAnimation: progressAnimation.enabled
82 property real progress: 0
82 property real progress: 0
83+ property bool showingNonFavoriteScope: false
83 Behavior on progress {
84 Behavior on progress {
84− enabled: overviewController.enableAnimation
85+ id: progressAnimation
85 UbuntuNumberAnimation { }
86 UbuntuNumberAnimation { }
@@ -90,6 +91,7 @@ Showable {
90 id: scopesOverview
91 id: scopesOverview
91 anchors.fill: parent
92 anchors.fill: parent
92 scope: scopes ? scopes.getScope("scopesOverview") : null
93 scope: scopes ? scopes.getScope("scopesOverview") : null
94+ showingNonFavoriteScope: overviewController.showingNonFavoriteScope
93 progress: overviewController.progress
95 progress: overviewController.progress
94 scopeScale: 1 - overviewController.progress * 0.6
96 scopeScale: 1 - overviewController.progress * 0.6
95 visible: scopeScale != 1
97 visible: scopeScale != 1
@@ -109,8 +111,9 @@ Showable {
109 target: scopesOverview.scope
111 target: scopesOverview.scope
110 onOpenScope: {
112 onOpenScope: {
111 scopeItem.scope = scope;
113 scopeItem.scope = scope;
112− scopesOverview.hide();
114+ scopeItem.overviewScale = 0.4;
113− dashContent.x = -dashContent.width; // TODO
115+ overviewController.showingNonFavoriteScope = true;
116+ scopeItem.overviewScale = 1;
@@ -123,7 +126,7 @@ Showable {
123 height: dash.height
126 height: dash.height
124 model: filteredScopes
127 model: filteredScopes
125 scopes: scopes
128 scopes: scopes
126− visible: x != -width
129+ visible: !overviewController.showingNonFavoriteScope && x != -width
127 onGotoScope: {
130 onGotoScope: {
128 dash.setCurrentScope(scopeId, true, false);
131 dash.setCurrentScope(scopeId, true, false);
@@ -143,7 +146,6 @@ Showable {
143 UbuntuNumberAnimation {
146 UbuntuNumberAnimation {
144 onRunningChanged: {
147 onRunningChanged: {
145 if (!running && dashContent.x == 0) {
148 if (!running && dashContent.x == 0) {
146− // TODO If it came from ScopesOverview it has to be ScopesOverview.scope.closeScope()
147 dashContent.closeScope(scopeItem.scope);
149 dashContent.closeScope(scopeItem.scope);
148 scopeItem.scope = null;
150 scopeItem.scope = null;
@@ -151,29 +153,48 @@ Showable {
154− enabled: overviewController.progress == 0
156+ enabled: opacity == 1
155 opacity: 1 - overviewController.progress
157 opacity: 1 - overviewController.progress
158 DashBackground
160 DashBackground
160 anchors.fill: scopeItem
162 anchors.fill: scopeItem
163+ scale: scopeItem.scale
163 GenericScopeView {
166 GenericScopeView {
164 id: scopeItem
167 id: scopeItem
165− anchors.left: dashContent.right
168+
169+ property real overviewScale: 1
171+ x: overviewController.showingNonFavoriteScope ? 0 : width + dashContent.x
166 width: parent.width
172 width: parent.width
167 height: parent.height
173 height: parent.height
168− scale: dash.contentScale
174+ scale: dash.contentScale * overviewScale
175+ Behavior on overviewScale {
176+ enabled: overviewController.showingNonFavoriteScope
177+ UbuntuNumberAnimation {
179+ if (!running && scopeItem.overviewScale == 0.4) {
180+ scopesOverview.scope.closeScope(scopeItem.scope);
181+ overviewController.showingNonFavoriteScope = false;
182+ scopeItem.scope = null;
169 clip: scale != 1.0
187 clip: scale != 1.0
170− visible: scope != null
188+ visible: scope != null
171 hasBackAction: true
189 hasBackAction: true
172 isCurrent: visible
190 isCurrent: visible
173 onBackClicked: {
191 onBackClicked: {
174− // TODO if coming from dash overview this needs to go to overview
192+ if (overviewController.showingNonFavoriteScope) {
193+ scopeItem.overviewScale = 0.4;
175− closeOverlayScope();
195+ closeOverlayScope();
176− closePreview();
196+ closePreview();
179 Connections {
200 Connections {