301fdbd6a6bdde6c6f20d0b2bbdbd830b4647302
[staging/HomeScreen.git] / HomeScreen / qml / Home.qml
1 /*
2  * Copyright (C) 2016 The Qt Company Ltd.
3  * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 import QtQuick 2.2
19 import QtQuick.Layouts 1.1
20 import QtQuick.Controls 1.0
21 import Home 1.0
22
23 Item {
24     id: root
25
26     Image {
27         anchors.fill: parent
28         anchors.topMargin: -218
29         anchors.bottomMargin: -215
30         source: './images/AGL_HMI_Background_Car-01.png'
31     }
32
33     property int pid: -1
34
35     GridView {
36         anchors.centerIn: parent
37         width: cellHeight * 3
38         height: cellHeight * 3
39         cellWidth: 320
40         cellHeight: 320
41
42         model: ApplicationModel {}
43         delegate: MouseArea {
44             width: 320
45             height: 320
46             Image {
47                 anchors.fill: parent
48                 source: './images/HMI_AppLauncher_%1_%2-01.png'.arg(model.icon).arg(pressed ? 'Active' : 'Inactive')
49             }
50             onClicked: {
51                 console.log("app is ", model.id)
52                 pid = launcher.launch(model.id)
53                 if (1 < pid) {
54                     layoutHandler.makeMeVisible(pid)
55
56                     applicationArea.visible = true
57                     appLauncherAreaLauncher.visible = false
58                     layoutHandler.showAppLayer(pid)
59                 }
60                 else {
61                     console.warn("app cannot be launched!")
62                 }
63             }
64         }
65     }
66 }