Fix and improve switching applications
[staging/HomeScreen.git] / HomeScreen / qml / ShortcutArea.qml
index 1d4a7c0..aeaf097 100644 (file)
 
 import QtQuick 2.2
 import QtQuick.Layouts 1.1
-import HomeScreen 1.0
 
 Item {
     id: root
     width: 785
     height: 218
 
-    ApplicationLauncher {
-        id: launcher
-    }
-
-    LayoutHandler {
-        id: layoutHandler
-    }
 
     ListModel {
         id: applicationModel
         ListElement {
             name: 'Home'
-            application: 'webapps-rabbit@0.0'
+            application: 'home@0.1'
         }
         ListElement {
             name: 'Multimedia'
-            application: 'smarthome@0.1'
+            application: 'mediaplayer@0.1'
         }
         ListElement {
             name: 'HVAC'
-            application: 'hvac'
+            application: 'hvac@0.1'
         }
         ListElement {
             name: 'Navigation'
-            application: 'navigation'
+            application: 'controls@0.1'
         }
     }
 
@@ -67,8 +59,23 @@ Item {
                 active: model.index === root.currentIndex
                 onClicked: {
                     root.currentIndex = active ? -1 : model.index
-                    pid = launcher.launch(model.application)
-                    layoutHandler.makeMeVisible(pid)
+                    if (0 === model.index) {
+                        appLauncherAreaLauncher.visible = true
+                        applicationArea.visible = false
+                        layoutHandler.hideAppLayer()
+                    }
+                    else {
+                        pid = launcher.launch(model.application)
+                        if (1 < pid) {
+                            applicationArea.visible = true
+                            appLauncherAreaLauncher.visible = false
+                            layoutHandler.makeMeVisible(pid)
+                            layoutHandler.showAppLayer(pid)
+                        }
+                        else {
+                            console.warn("app cannot be launched!")
+                        }
+                    }
                 }
             }
         }