diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2016-10-06 14:30:28 +0200 |
---|---|---|
committer | Dominik Holland <dominik.holland@pelagicore.com> | 2016-10-12 12:52:08 +0000 |
commit | fc7ac091c673f0f46a76c8101fbc9bb6fdbb47b0 (patch) | |
tree | 895c5dd2d968da09ed28da3a1436fbedbc0cd903 /sysui | |
parent | 0b60c96da74b9a348969946f8a12efb3aaeae391 (diff) | |
download | neptune-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.qml | 11 |
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) } } |