on xenial help sign in
Update bindings for Application.exemptFromLifecycle
commitb8e8b2555ff2a2f2b819cd086c2b5d486534657c authorDaniel d'Andrada <daniel.dandrada@canonical.com> dateMon 4 Apr 2016, 10:41 (11 years ago) parent3f9bb69
2 files changed+43−35
qml/Stages/PhoneStage.qml+18−14 qml/Stages/TabletStage.qml+25−21
qml/Stages/PhoneStage.qml+18−14
@@ -212,14 +212,24 @@ AbstractStage {
212212
213213 Instantiator {
214214 model: root.applicationManager
215− delegate: Binding {
216− readonly property bool isDash: model.application ? model.application.appId == "unity8-dash" : false
217− target: model.application
218− property: "requestedState"
219− value: (isDash && root.keepDashRunning)
220− || (!root.suspended && model.application && priv.focusedAppId === model.application.appId)
221− ? ApplicationInfoInterface.RequestedRunning
222− : ApplicationInfoInterface.RequestedSuspended
215+ delegate: QtObject {
216+ property var stateBinding: Binding {
217+ readonly property bool isDash: model.application ? model.application.appId == "unity8-dash" : false
218+ target: model.application
219+ property: "requestedState"
220+ value: (isDash && root.keepDashRunning)
221+ || (!root.suspended && model.application && priv.focusedAppId === model.application.appId)
222+ ? ApplicationInfoInterface.RequestedRunning
223+ : ApplicationInfoInterface.RequestedSuspended
224+ }
225+
226+ property var lifecycleBinding: Binding {
227+ target: model.application
228+ property: "exemptFromLifecycle"
229+ value: model.application
230+ ? (!model.application.isTouchApp || isExemptFromLifecycle(model.application.appId))
231+ : false
232+ }
223233 }
224234 }
225235
@@ -532,12 +542,6 @@ AbstractStage {
532542 }
533543 }
534544
535− Binding {
536− target: appDelegate.application
537− property: "exemptFromLifecycle"
538− value: !model.isTouchApp || isExemptFromLifecycle(model.appId)
539− }
540−
541545 z: isDash && !spreadView.active ? -1 : behavioredIndex
542546
543547 x: {
qml/Stages/TabletStage.qml+25−21
@@ -271,21 +271,31 @@ AbstractStage {
271271
272272 Instantiator {
273273 model: root.applicationManager
274− delegate: Binding {
275− readonly property bool isDash: model.application ? model.application.appId == "unity8-dash" : false
276− target: model.application
277− property: "requestedState"
278−
279− // NB: the first application clause is just to ensure we never get warnings for trying to access
280− // members of a null variable.
281− value: model.application &&
282− (
283− (isDash && root.keepDashRunning)
284− || (!root.suspended && (model.application.appId === priv.mainStageAppId
285− || model.application.appId === priv.sideStageAppId))
286− )
287− ? ApplicationInfoInterface.RequestedRunning
288− : ApplicationInfoInterface.RequestedSuspended
274+ delegate: QtObject {
275+ property var stateBinding: Binding {
276+ readonly property bool isDash: model.application ? model.application.appId == "unity8-dash" : false
277+ target: model.application
278+ property: "requestedState"
279+
280+ // NB: the first application clause is just to ensure we never get warnings for trying to access
281+ // members of a null variable.
282+ value: model.application &&
283+ (
284+ (isDash && root.keepDashRunning)
285+ || (!root.suspended && (model.application.appId === priv.mainStageAppId
286+ || model.application.appId === priv.sideStageAppId))
287+ )
288+ ? ApplicationInfoInterface.RequestedRunning
289+ : ApplicationInfoInterface.RequestedSuspended
290+ }
291+
292+ property var lifecycleBinding: Binding {
293+ target: model.application
294+ property: "exemptFromLifecycle"
295+ value: model.application
296+ ? (!model.application.isTouchApp || isExemptFromLifecycle(model.application.appId))
297+ : false
298+ }
289299 }
290300 }
291301
@@ -787,12 +797,6 @@ AbstractStage {
787797 }
788798 }
789799
790− Binding {
791− target: spreadTile.application
792− property: "exemptFromLifecycle"
793− value: !model.application.isTouchApp || isExemptFromLifecycle(model.application.appId)
794− }
795−
796800 // FIXME: A regular binding doesn't update any more after closing an app.
797801 // Using a Binding for now.
798802 Binding {