[vlc-devel] [PATCH 1/3] qt: improve right-click volume control
Pierre Lamot
pierre at videolabs.io
Thu Apr 8 08:49:05 UTC 2021
Looks good to me, thanks
On 07/04/2021 18:27, Romain Vimont wrote:
> Right-click allows to set the volume control to predefined steps (0%,
> 50%, 100% and 125%).
>
> However, the last step (125%) was only reachable from the last pixel.
>
> Instead, set to the nearest predefined value (and simplify the code for
> readability).
>
> 0% 50% 100% 125%
> | | | |
> ^^^^^---------^^^^^^^^^- (before)
> ^^^^^---------^^^^^^^--- (after)
> ---
> modules/gui/qt/player/qml/VolumeWidget.qml | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/modules/gui/qt/player/qml/VolumeWidget.qml b/modules/gui/qt/player/qml/VolumeWidget.qml
> index 7e087495cf..67ac2ab58c 100644
> --- a/modules/gui/qt/player/qml/VolumeWidget.qml
> +++ b/modules/gui/qt/player/qml/VolumeWidget.qml
> @@ -205,14 +205,15 @@ FocusScope{
>
> onPositionChanged: function (event) {
> if (sliderMouseArea.pressedButtons === Qt.RightButton) {
> - if (sliderMouseArea.mouseX < sliderMouseArea.width * volControl.fullvolpos / 4)
> + var pos = sliderMouseArea.mouseX * volControl.maxvolpos / sliderMouseArea.width
> + if (pos < 0.25)
> volControl.value = 0
> - else if (sliderMouseArea.mouseX < sliderMouseArea.width * volControl.fullvolpos * 3 / 4)
> + else if (pos < 0.75)
> volControl.value = 0.5
> - else if (sliderMouseArea.mouseX >= sliderMouseArea.width)
> - volControl.value = 1.25
> - else
> + else if (pos < 1.125)
> volControl.value = 1
> + else
> + volControl.value = 1.25
> return
> }
>
More information about the vlc-devel
mailing list