From ec28d0bf46efbb13662a9b01de5d18f87fe34145 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Sat, 23 Dec 2017 22:13:19 +0900 Subject: Block launching app when an app is launching Bug-AGL: SPEC-1214 Change-Id: I747d20ca7a6219535668fc3951a4ff9f55bcaaaf Signed-off-by: Tasuku Suzuki Signed-off-by: Tadao Tanikawa (cherry picked from commit db9f41d75fb4460f668117c69be05c4d4d4c7c7c) --- homescreen/qml/Home.qml | 3 --- homescreen/qml/ShortcutArea.qml | 7 ++---- homescreen/qml/ShortcutIcon.qml | 49 ++++++++++++++++++++++++++++++++++------- homescreen/qml/TopArea.qml | 16 ++++++++++++++ homescreen/qml/main.qml | 4 ---- 5 files changed, 59 insertions(+), 20 deletions(-) (limited to 'homescreen/qml') diff --git a/homescreen/qml/Home.qml b/homescreen/qml/Home.qml index 287b250..5d54093 100644 --- a/homescreen/qml/Home.qml +++ b/homescreen/qml/Home.qml @@ -72,11 +72,8 @@ Item { if (currentId === '') { pid = launcher.launch(applicationModel.id(loc.index)) if (1 < pid) { -// layoutHandler.makeMeVisible(pid) - applicationArea.visible = true appLauncherAreaLauncher.visible = false - // layoutHandler.showAppLayer(applicationModel.id(loc.index), pid) } else { console.warn("app cannot be launched!") diff --git a/homescreen/qml/ShortcutArea.qml b/homescreen/qml/ShortcutArea.qml index 63f8e7b..1698a88 100644 --- a/homescreen/qml/ShortcutArea.qml +++ b/homescreen/qml/ShortcutArea.qml @@ -56,21 +56,18 @@ Item { Layout.fillWidth: true Layout.fillHeight: true name: model.name - active: model.application === launcher.current + active: model.name === launcher.current onClicked: { if (0 === model.index) { appLauncherAreaLauncher.visible = true applicationArea.visible = false -// layoutHandler.hideAppLayer() - launcher.current = '' + launcher.current = 'Home' } else { pid = launcher.launch(model.application) if (1 < pid) { applicationArea.visible = true appLauncherAreaLauncher.visible = false -// layoutHandler.makeMeVisible(pid) -// layoutHandler.showAppLayer(model.application, pid) } else { console.warn(model.application) diff --git a/homescreen/qml/ShortcutIcon.qml b/homescreen/qml/ShortcutIcon.qml index 2fb653f..1100a7c 100644 --- a/homescreen/qml/ShortcutIcon.qml +++ b/homescreen/qml/ShortcutIcon.qml @@ -17,6 +17,7 @@ import QtQuick 2.2 import QtQuick.Controls 2.0 +import QtGraphicalEffects 1.0 MouseArea { id: root @@ -24,15 +25,27 @@ MouseArea { height: 216.8 property string name: 'Home' property bool active: false - Image { + Item { id: icon + property real desaturation: 0 anchors.fill: parent - source: './images/Shortcut/%1.svg'.arg(root.name.toLowerCase()) - } - Image { - anchors.fill: parent - source: './images/Shortcut/%1_active.svg'.arg(root.name.toLowerCase()) - opacity: 1.0 - icon.opacity + Image { + id: inactiveIcon + anchors.fill: parent + source: './images/Shortcut/%1.svg'.arg(root.name.toLowerCase()) + } + Image { + id: activeIcon + anchors.fill: parent + source: './images/Shortcut/%1_active.svg'.arg(root.name.toLowerCase()) + opacity: 0.0 + } + layer.enabled: true + layer.effect: Desaturate { + id: desaturate + desaturation: icon.desaturation + cached: true + } } Label { id: name @@ -48,11 +61,26 @@ MouseArea { } states: [ State { - when: root.active + when: launcher.launching + PropertyChanges { + target: root + enabled: false + } PropertyChanges { target: icon + desaturation: 1.0 + } + }, + State { + when: root.active + PropertyChanges { + target: inactiveIcon opacity: 0.0 } + PropertyChanges { + target: activeIcon + opacity: 1.0 + } } ] @@ -60,8 +88,13 @@ MouseArea { Transition { NumberAnimation { properties: 'opacity' + duration: 500 easing.type: Easing.OutExpo } + NumberAnimation { + properties: 'desaturation' + duration: 250 + } } ] } diff --git a/homescreen/qml/TopArea.qml b/homescreen/qml/TopArea.qml index 922742d..9cff3ed 100644 --- a/homescreen/qml/TopArea.qml +++ b/homescreen/qml/TopArea.qml @@ -17,6 +17,7 @@ import QtQuick 2.2 import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 Image { width: 1920 @@ -40,4 +41,19 @@ Image { Layout.preferredWidth: 295 } } + + Timer { + id: launching + interval: 500 + running: launcher.launching + } + + ProgressBar { + id: progressBar + anchors.verticalCenter: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + indeterminate: visible + visible: launcher.launching && !launching.running + } } diff --git a/homescreen/qml/main.qml b/homescreen/qml/main.qml index 899cb6d..8417de0 100644 --- a/homescreen/qml/main.qml +++ b/homescreen/qml/main.qml @@ -27,10 +27,6 @@ Window { height: container.height * container.scale title: 'HomeScreen' - ApplicationLauncher { - id: launcher - } - Image { id: container anchors.centerIn: parent -- cgit 1.2.3-korg