Use appid between homescreen-service and apps
[apps/homescreen.git] / homescreen / qml / ShortcutArea.qml
1 /*
2  * Copyright (C) 2016 The Qt Company Ltd.
3  * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
4  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import QtQuick 2.2
20 import QtQuick.Layouts 1.1
21
22 Item {
23     id: root
24     width: 785
25     height: 218
26
27
28     ListModel {
29         id: applicationModel
30         ListElement {
31             appid: 'launcher'
32             name: 'launcher'
33             application: 'launcher@0.1'
34         }
35         ListElement {
36             appid: 'mediaplayer'
37             name: 'MediaPlayer'
38             application: 'mediaplayer@0.1'
39         }
40         ListElement {
41             appid: 'hvac'
42             name: 'HVAC'
43             application: 'hvac@0.1'
44         }
45         ListElement {
46             appid: 'navigation'
47             name: 'Navigation'
48             application: 'navigation@0.1'
49         }
50     }
51
52     property int pid: -1
53
54     RowLayout {
55         anchors.fill: parent
56         spacing: 2
57         Repeater {
58             model: applicationModel
59             delegate: ShortcutIcon {
60                 Layout.fillWidth: true
61                 Layout.fillHeight: true
62                 name: model.name
63                 active: model.name === launcher.current
64                 onClicked: {
65                     pid = launcher.launch(model.application)
66                     if (1 < pid) {
67                         applicationArea.visible = true
68                     }
69                     else {
70                         console.warn(model.application)
71                         console.warn("app cannot be launched!")
72                     }
73                     homescreenHandler.tapShortcut(model.appid)
74                 }
75             }
76         }
77     }
78 }