PoC: Qt Compositor-ized homescreen
[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  *
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
21 Item {
22     id: root
23     width: 785
24     height: 218
25
26
27     ListModel {
28         id: applicationModel
29         ListElement {
30             name: 'Home'
31             application: ''
32         }
33         ListElement {
34             name: 'Multimedia'
35             application: 'mediaplayer@0.1'
36         }
37         ListElement {
38             name: 'HVAC'
39             application: 'hvac@0.1'
40         }
41         ListElement {
42             name: 'Navigation'
43             application: 'navigation@0.1'
44         }
45     }
46
47     property int pid: -1
48
49     RowLayout {
50         anchors.fill: parent
51         spacing: 2
52         Repeater {
53             model: applicationModel
54             delegate: ShortcutIcon {
55                 Layout.fillWidth: true
56                 Layout.fillHeight: true
57                 name: model.name
58                 active: model.application === launcher.current
59                 onClicked: {
60                     if (model.index < 3) // disable navi to launch
61                         launcher.show(model.index === 0 ? '' : model.application)
62                 }
63             }
64         }
65     }
66 }