31 lines
695 B
QML
31 lines
695 B
QML
|
// SPDX-License-Identifier: Unlicense
|
||
|
|
||
|
import QtQuick.Controls 2.13
|
||
|
|
||
|
Button {
|
||
|
property bool muted
|
||
|
property alias value: volume.value
|
||
|
|
||
|
implicitWidth: implicitHeight
|
||
|
icon.name: 'audio-volume-' +
|
||
|
(muted ? 'muted' :
|
||
|
(value < 0.33 ? 'low' :
|
||
|
(value < 0.66 ? 'medium' : 'high')))
|
||
|
|
||
|
checkable: true
|
||
|
checked: popup.opened
|
||
|
|
||
|
onClicked: popup.opened ? popup.close() : popup.open()
|
||
|
Popup {
|
||
|
id: popup
|
||
|
y: -height
|
||
|
height: 100
|
||
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||
|
Slider {
|
||
|
id: volume
|
||
|
anchors.fill: parent
|
||
|
orientation: Qt.Vertical
|
||
|
}
|
||
|
}
|
||
|
}
|