7a9e8af367dd340cdb2b09b61f8683b595b3222d
[apps/homescreen.git] / homescreen / qml / MediaAreaBlank.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 import QtQuick.Controls 2.0
21 import AGL.Demo.Controls 1.0
22 /*
23 import MasterVolume 1.0
24 */
25
26 Image {
27     anchors.fill: parent
28     source: './images/Utility_Logo_Background-01.svg'
29     property bool displayVolume: false;
30
31     MouseArea {
32         anchors.fill: parent
33         function enableVolumeDisplay() {
34             if (!displayVolume) {
35                 displayVolume = true
36                 master_volume.visible = true
37                 volume_timer.restart()
38             }
39         }
40         onClicked: enableVolumeDisplay()
41     }
42
43     Image {
44         id: logo_image
45         anchors.centerIn: parent
46         source: './images/Utility_Logo_Grey-01.svg'
47     }
48
49     Timer {
50         id: volume_timer
51         interval: 3000; running: false; repeat: false
52         onTriggered: displayVolume = false
53     }
54
55     states: [
56     State { when: displayVolume;
57     PropertyChanges { target: master_volume; opacity: 1.0 }
58     PropertyChanges { target: slider; enabled: true }
59     PropertyChanges { target: logo_image; opacity: 0.0 }
60     },
61     State { when: !displayVolume;
62     PropertyChanges { target: master_volume; opacity: 0.0 }
63     PropertyChanges { target: slider; enabled: false }
64     PropertyChanges { target: logo_image; opacity: 1.0 }
65     }
66     ]
67
68     transitions: Transition {
69     NumberAnimation { property: "opacity"; duration: 500}
70     }
71 /*
72     MasterVolume {
73         id: mv
74         objectName: "mv"
75         onVolumeChanged: slider.value = volume
76         Component.onCompleted: {
77             mv.open(bindingAddress);
78         }
79     }
80 */
81     Item {
82         id: master_volume
83         anchors.fill: parent
84         anchors.centerIn: parent
85         visible: false
86
87         Label {
88             font.pixelSize: 36
89             anchors.horizontalCenter: parent.horizontalCenter
90             color: "white"
91             text: qsTr("Master Volume")
92         }
93
94         RowLayout {
95             anchors.fill: parent
96             anchors.centerIn: parent
97             anchors.margins: 20
98             spacing: 20
99             Label {
100                 font.pixelSize: 36
101                 color: "white"
102                 text: "0 %"
103             }
104             Slider {
105                 id: slider
106                 Layout.fillWidth: true
107                 from: 0
108                 to: 100
109                 stepSize: 1
110                 snapMode: Slider.SnapOnRelease
111 /*
112                 onValueChanged: mv.volume = value
113                 Component.onCompleted: value = mv.volume
114 */
115                 onPressedChanged: {
116                     if (pressed) {volume_timer.stop()}
117                     else {volume_timer.restart()}
118                 }
119             }
120             Label {
121                 font.pixelSize: 36
122                 color: "white"
123                 text: "100 %"
124             }
125         }
126     }
127 }