Bug 430101

Summary: Slider fill reversed on RTL
Product: [Frameworks and Libraries] frameworks-qqc2-desktop-style Reporter: ttv200
Component: generalAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: normal CC: ahiemstra, kde, nate, noahadvs, plasma-bugs, zayed.alsaidi
Priority: NOR Keywords: rtl
Version: 5.85.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.25.1
Attachments: the bug

Description ttv200 2020-12-07 08:04:25 UTC
you can see it easly with:
kcmshell5 kcm_pulseaudio --reverse
or in the Display and Monitor - global scale page
the range lise is filled from the wrong side
see the attachment - the range is near to 0% but it filled (it should be filled from right to left)

Linux/KDE Plasma: Ubuntu 20.04
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Comment 1 ttv200 2020-12-07 08:05:04 UTC
Created attachment 133911 [details]
the bug
Comment 2 ttv200 2020-12-07 08:05:51 UTC
*** Bug 368605 has been marked as a duplicate of this bug. ***
Comment 3 Zayed Al-Saidi 2021-07-25 08:25:14 UTC
This bug is annoying for RTL users. However, it is a common for all application that use Kirigami Controls.Slider.
Comment 4 Nate Graham 2021-08-18 20:30:11 UTC
This issue appears to have been fixed in the PlasmaComponents3 slider at some point along the way; moving to qqc2-desktop-style where I can still reproduce the issue.
Comment 5 Bug Janitor Service 2022-03-03 15:43:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/133
Comment 6 Bug Janitor Service 2022-03-14 23:19:07 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/134
Comment 7 Bug Janitor Service 2022-06-03 21:34:14 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/breeze/-/merge_requests/223
Comment 8 Bug Janitor Service 2022-06-03 23:53:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/breeze/-/merge_requests/224
Comment 9 Janet Blackquill 2022-06-04 00:01:08 UTC
Git commit e8b1d4aa47daf99041332f43c29fabdf70f25004 by Jan Blackquill.
Committed on 04/06/2022 at 00:00.
Pushed by cblack into branch 'master'.

kstyle: fix qqc2 desktop style sliders in RtL

We don't do any mirroring of the slider groove rects or tickmarks based on layout direction,
and this causes qqc2-desktop-style sliders to render in the wrong direction.
Swapping the leftRect and the rightRect when option->direction == Qt::RightToLeft
fixes this.

This wasn't broken with QWidgets because QSlider relies on (ab)using the upsideDown option
in order to achieve mirroring of the groove instead of option->direction, and consequently,
this change doesn't affect Qt widgets apps at all.

M  +9    -4    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/commit/e8b1d4aa47daf99041332f43c29fabdf70f25004
Comment 10 Janet Blackquill 2022-06-04 00:01:40 UTC
Git commit c7bfd1c728c603464cab9a43a0627a82d1ab0933 by Jan Blackquill.
Committed on 04/06/2022 at 00:01.
Pushed by cblack into branch 'Plasma/5.25'.

kstyle: fix qqc2 desktop style sliders in RtL

We don't do any mirroring of the slider groove rects or tickmarks based on layout direction,
and this causes qqc2-desktop-style sliders to render in the wrong direction.
Swapping the leftRect and the rightRect when option->direction == Qt::RightToLeft
fixes this.

This wasn't broken with QWidgets because QSlider relies on (ab)using the upsideDown option
in order to achieve mirroring of the groove instead of option->direction, and consequently,
this change doesn't affect Qt widgets apps at all.
(cherry picked from commit e8b1d4aa47daf99041332f43c29fabdf70f25004)

M  +9    -4    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/commit/c7bfd1c728c603464cab9a43a0627a82d1ab0933
Comment 11 Nate Graham 2022-06-13 14:04:44 UTC
Git commit 2bf9fc4c7be280e2b77f7c150855e0fca0b80d9a by Nate Graham, on behalf of ivan tkachenko.
Committed on 13/06/2022 at 13:59.
Pushed by ngraham into branch 'master'.

KStyle: Fix QQC2 ProgressBar desktop style in RTL layout direction

M  +10   -6    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/commit/2bf9fc4c7be280e2b77f7c150855e0fca0b80d9a
Comment 12 Nate Graham 2022-06-13 14:07:04 UTC
Git commit b51316269ff02c84648667df97563bacd2538b6c by Nate Graham, on behalf of ivan tkachenko.
Committed on 13/06/2022 at 14:07.
Pushed by ngraham into branch 'Plasma/5.25'.

KStyle: Fix QQC2 ProgressBar desktop style in RTL layout direction


(cherry picked from commit 2bf9fc4c7be280e2b77f7c150855e0fca0b80d9a)

M  +10   -6    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/commit/b51316269ff02c84648667df97563bacd2538b6c