Initial import from CES2017 repository
[src/qtquickcontrols2-agl-style.git] / imports / qtquickcontrols2aglstyle / Button.qml
1 /*
2  * Copyright (C) 2016 The Qt Company Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 import QtQuick 2.6
18 import QtQuick.Window 2.0
19 import QtQuick.Templates 2.0 as T
20
21 T.Button {
22     id: root
23     implicitWidth: background.implicitWidth
24     implicitHeight: background.implicitHeight
25     font.family: 'Roboto'
26     font.pixelSize: Math.min(Screen.width, Screen.height) / 50
27
28     Translate {
29         id: translate
30     }
31
32     contentItem: Text {
33         text: root.text
34         font: root.font
35         opacity: enabled ? 1.0 : 0.3
36         color: 'white'
37         horizontalAlignment: Text.AlignHCenter
38         verticalAlignment: Text.AlignVCenter
39         elide: Text.ElideRight
40         transform: translate
41     }
42
43     background: Image {
44         source: root.highlighted ? './images/HMI_Settings_Button_Ok.svg' : './images/HMI_Settings_Button_Cancel.svg'
45         transform: translate
46     }
47
48     states: [
49         State {
50             name: 'pressed'
51             when: root.pressed
52             PropertyChanges {
53                 target: translate
54                 x: 3
55                 y: 3
56             }
57             PropertyChanges {
58                 target: background
59                 opacity: 0.75
60             }
61         }
62     ]
63 }