2 * Copyright (C) 2016 The Qt Company Ltd.
3 * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 import QtQuick.Layouts 1.1
20 import QtQuick.Controls 2.0
21 import AGL.Demo.Controls 1.0
22 import MasterVolume 1.0
26 source: './images/Utility_Logo_Background-01.svg'
27 property bool displayVolume: false;
31 function enableVolumeDisplay() {
34 master_volume.visible = true
35 volume_timer.restart()
38 onClicked: enableVolumeDisplay()
43 anchors.centerIn: parent
44 source: './images/Utility_Logo_Grey-01.svg'
49 interval: 3000; running: false; repeat: false
50 onTriggered: displayVolume = false
54 State { when: displayVolume;
55 PropertyChanges { target: master_volume; opacity: 1.0 }
56 PropertyChanges { target: slider; enabled: true }
57 PropertyChanges { target: logo_image; opacity: 0.0 }
58 PropertyChanges { target: speech_chrome; visible: false }
60 State { when: !displayVolume;
61 PropertyChanges { target: master_volume; opacity: 0.0 }
62 PropertyChanges { target: slider; enabled: false }
63 PropertyChanges { target: logo_image; opacity: 1.0 }
64 PropertyChanges { target: speech_chrome; visible: speech_chrome.agentPresent }
68 transitions: Transition {
69 NumberAnimation { property: "opacity"; duration: 500}
75 onVolumeChanged: slider.value = volume
76 Component.onCompleted: {
77 mv.open(bindingAddress);
84 anchors.centerIn: parent
89 anchors.horizontalCenter: parent.horizontalCenter
91 text: qsTr("Master Volume")
96 anchors.centerIn: parent
106 Layout.fillWidth: true
110 snapMode: Slider.SnapOnRelease
111 onValueChanged: mv.volume = value
112 Component.onCompleted: value = mv.volume
114 if (pressed) {volume_timer.stop()}
115 else {volume_timer.restart()}
128 anchors.left: parent.left
129 anchors.right: parent.right
130 anchors.bottom: parent.bottom
131 height: parent.height