registerShortcut
[apps/launcher.git] / launcher / qml / TopShortcutIcon.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.Controls 2.0
20 import QtGraphicalEffects 1.0
21
22 MouseArea {
23     id: root
24     width: 195
25     height: 216.8
26     property string name: 'Home'
27     property string icon:'./images/TopShortcut/'
28     property bool active: false
29     property bool isBlank: false
30
31     Item {
32         id: icon
33         property real desaturation: 0
34         anchors.fill: parent
35         Image {
36             id: inactiveIcon
37             anchors.fill: parent
38             source: isBlank ? './images/TopShortcut/blank.svg' : root.icon
39             property string initial: root.name.substring(0,1).toUpperCase()
40             Label {
41                 style: Text.Outline
42                 styleColor: '#00FFFF'
43                 color: 'transparent'
44                 font.pixelSize: 75
45                 anchors.centerIn: parent
46                 text: inactiveIcon.initial
47                 visible: root.isBlank
48             }
49         }
50         layer.enabled: true
51         layer.effect: Desaturate {
52             id: desaturate
53             desaturation: icon.desaturation
54             cached: true
55         }
56     }
57     Label {
58         id: name
59         y: 160
60         width: root.width - 10
61         font.pixelSize: 15
62         font.letterSpacing: 5
63         // wrapMode: Text.WordWrap
64         anchors.horizontalCenter: parent.horizontalCenter
65         horizontalAlignment: Text.AlignHCenter
66         color: "white"
67         text: qsTr(root.name).toUpperCase()
68     }
69 }