[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