summaryrefslogtreecommitdiff
path: root/sysui
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2016-10-06 14:30:28 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2016-10-12 12:52:08 +0000
commitfc7ac091c673f0f46a76c8101fbc9bb6fdbb47b0 (patch)
tree895c5dd2d968da09ed28da3a1436fbedbc0cd903 /sysui
parent0b60c96da74b9a348969946f8a12efb3aaeae391 (diff)
downloadneptune-ui-fc7ac091c673f0f46a76c8101fbc9bb6fdbb47b0.tar.gz
Improve window handling
Always maintain a list of all windows accepted by the system-ui and their type. Depending on the type we know what needs to be done in case the application is closed or stopped. This is needed to properly release the surfaces of all windows we accepted. IVI windows which are not minimized need to poped from the stack first and a closing animation be played. All other surfaces can be released once the surfaces are lost. Change-Id: Ie8ede8c2b14b288d1a182d7c32095c2c4c90b845 Reviewed-by: Nedim Hadzic <nedim.hadzic@pelagicore.com>
Diffstat (limited to 'sysui')
-rw-r--r--sysui/LaunchController.qml11
1 files changed, 10 insertions, 1 deletions
diff --git a/sysui/LaunchController.qml b/sysui/LaunchController.qml
index 63485af..33f69ab 100644
--- a/sysui/LaunchController.qml
+++ b/sysui/LaunchController.qml
@@ -118,7 +118,10 @@ StackView {
}
ScriptAction {
- script: { exitItem.visible = false; ApplicationManagerInterface.releasingApplicationSurfaceDone(exitItem) }
+ script: {
+ exitItem.visible = false;
+ ApplicationManagerInterface.releasingApplicationSurfaceDone(exitItem)
+ }
}
}
}
@@ -140,6 +143,9 @@ StackView {
target: ApplicationManagerInterface
onApplicationSurfaceReady: {
+ if (root.busy)
+ root.completeTransition()
+
if (isMinimized)
item.parent = dummyitem
else
@@ -150,6 +156,9 @@ StackView {
if (root.depth <= 1)
return;
+ if (root.busy)
+ root.completeTransition()
+
root.pop(null)
}
}