Warning, /multimedia/elisa/src/qml/VolumeSlider.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0003 SPDX-FileCopyrightText: 2021 (c) Devin Lin <espidev@gmail.com>
0004
0005 SPDX-License-Identifier: LGPL-3.0-or-later
0006 */
0007
0008 import QtQuick 2.7
0009 import QtQuick.Layouts 1.2
0010 import QtQuick.Controls 2.3
0011 import org.kde.kirigami 2.5 as Kirigami
0012 import org.kde.elisa 1.0
0013
0014 AccessibleSlider {
0015 id: volumeSlider
0016
0017 property bool muted
0018
0019 from: 0
0020 to: 100
0021
0022 keyStepSize: 1
0023 wheelStepSize: 5
0024
0025 enabled: !muted
0026
0027 Accessible.name: i18nc("@label", "Volume")
0028
0029 onPressedChanged: {
0030 tooltip.delay = pressed ? 0 : Kirigami.Units.toolTipDelay
0031 }
0032
0033 MouseArea {
0034 id: sliderMouseArea
0035 anchors.fill: parent
0036 acceptedButtons: Qt.NoButton
0037 hoverEnabled: true
0038 }
0039
0040 ToolTip {
0041 id: tooltip
0042 x: volumeSlider.visualPosition * volumeSlider.width - width / 2
0043 visible: volumeSlider.pressed || sliderMouseArea.containsMouse
0044 // delay is actually handled in volumeSlider.onPressedChanged, because property bindings aren't immediate
0045 delay: volumeSlider.pressed ? 0 : Kirigami.Units.toolTipDelay
0046 closePolicy: Popup.NoAutoClose
0047 timeout: -1
0048 text: i18nc("Volume as a percentage", "%1%", Math.round(volumeSlider.value))
0049 }
0050 }