diff options
Diffstat (limited to 'homescreen/qml/MediaAreaBlank.qml')
-rw-r--r-- | homescreen/qml/MediaAreaBlank.qml | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/homescreen/qml/MediaAreaBlank.qml b/homescreen/qml/MediaAreaBlank.qml new file mode 100644 index 0000000..51fa657 --- /dev/null +++ b/homescreen/qml/MediaAreaBlank.qml @@ -0,0 +1,135 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.2 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 +import MasterVolume 1.0 + +Image { + width: 1080 + height: 215 + source: './images/Utility_Logo_Background-01.png' + property bool displayVolume: false; + + MouseArea { + anchors.fill: parent + function enableVolumeDisplay() { + if (!displayVolume) { + displayVolume = true + master_volume.visible = true + volume_timer.restart() + } + } + onClicked: enableVolumeDisplay() + } + + Image { + id: logo_image + anchors.centerIn: parent + source: './images/Utility_Logo_Colour-01.png' + } + + Timer { + id: volume_timer + interval: 5000; running: false; repeat: false + onTriggered: displayVolume = false + } + + states: [ + State { when: displayVolume; + PropertyChanges { target: master_volume; opacity: 1.0 } + PropertyChanges { target: slider; enabled: true } + PropertyChanges { target: logo_image; opacity: 0.0 } + }, + State { when: !displayVolume; + PropertyChanges { target: master_volume; opacity: 0.0 } + PropertyChanges { target: slider; enabled: false } + PropertyChanges { target: logo_image; opacity: 1.0 } + } + ] + + transitions: Transition { + NumberAnimation { property: "opacity"; duration: 500} + } + + MasterVolume { + id: mv + objectName: "mv" + onVolumeChanged: slider.value = volume + } + + Item { + id: master_volume + anchors.fill: parent + anchors.centerIn: parent + visible: false + + Label { + font.pixelSize: 36 + anchors.horizontalCenter: parent.horizontalCenter + color: "white" + text: "Master Volume" + } + + RowLayout { + anchors.fill: parent + anchors.centerIn: parent + anchors.margins: 20 + spacing: 20 + Label { + font.pixelSize: 36 + color: "white" + text: "0 %" + } + Slider { + id: slider + Layout.fillWidth: true + from: 0 + to: 65536 + stepSize: 256 + snapMode: Slider.SnapOnRelease + onValueChanged: mv.volume = value + Component.onCompleted: value = mv.volume + onPressedChanged: { + if (pressed) {volume_timer.stop()} + else {volume_timer.restart()} + } + background: Rectangle { + id: slider_bg + height: 16 + color: "#59FF7F" + } + handle: Rectangle { + anchors.verticalCenter: slider_bg.verticalCenter + width: 48 + height: 48 + radius: 24 + x: slider.leftPadding + slider.visualPosition * (slider.availableWidth - width) + y: slider.topPadding + slider.availableHeight / 2 - height / 2 + color: "white" + } + } + Label { + font.pixelSize: 36 + color: "white" + text: "100 %" + } + } + } +} |