Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progress bar indicator is inverted in RTL (Arabic) (KDE Breeze theme) #20766

Closed
zefr0x opened this issue Apr 27, 2024 · 8 comments
Closed

Progress bar indicator is inverted in RTL (Arabic) (KDE Breeze theme) #20766

zefr0x opened this issue Apr 27, 2024 · 8 comments
Labels
GUI GUI-related issues/changes

Comments

@zefr0x
Copy link

zefr0x commented Apr 27, 2024

qBittorrent & operating system versions

(Flathub Version 0b92b92)

qBittorrent: v4.6.4
Operating system: ArchLinux
Qt: 5.15.10
Libtorrent: 1.2.19.0
Boost: 1.85.0
OpenSSL: 3.1.5
zlib: 1.3.1

What is the problem?

Progress bar colors grouth are inverted in RTL (Arabic)

It is gray in the left and green in the right (not wrong), as the download progress the gray part gets bigger (bug).

Expected behaviour:
As the download progress the green part should get bigger, not the gray part.

Steps to reproduce

  1. Download something.
  2. Wait for the download to progress.
  3. Look at the progress bar.

Additional context

2024-04-27.18-55-58.webm

Related Issues: #15671, #6433

Log(s) & preferences file(s)

I'm using the default KDE's Breeze theme with the cyan accent color. This problem doesn't happen with the Fusion or Windows style theme.

XDG_CURRENT_DESKTOP=KDE and QT_STYLE_OVERRIDE=Breeze are on my environment.

Just XDG_CURRENT_DESKTOP=KDE is enough to reproduce.

It doesn't matter if i'm not using my kdeglobals file, but this is it any way

~/.config/kdeglobals:

[General]
ColorScheme=BreezeDark
AccentColor=0,211,184

fixed=Hack,10,-1,5,50,0,0,0,0,0
font=Cantarell,10,-1,5,50,0,0,0,0,0
menuFont=Cantarell,10,-1,5,50,0,0,0,0,0
smallestReadableFont=Cantarell,8,-1,5,50,0,0,0,0,0
toolBarFont=Cantarell,10,-1,5,50,0,0,0,0,0

[Icons]
Theme=breeze-dark

[ColorEffects:Disabled]
ChangeSelectionColor=
Color=56,56,56
ColorAmount=0
ColorEffect=0
ContrastAmount=0.65
ContrastEffect=1
Enable=
IntensityAmount=0.1
IntensityEffect=2

[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0

[Colors:Button]
BackgroundAlternate=30,87,116
BackgroundNormal=49,54,59
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:Complementary]
BackgroundAlternate=30,87,116
BackgroundNormal=42,46,50
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:Header]
BackgroundAlternate=42,46,50
BackgroundNormal=49,54,59
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:Header][Inactive]
BackgroundAlternate=49,54,59
BackgroundNormal=42,46,50
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=161,169,177
ForegroundLink=29,153,243
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:Selection]
; BackgroundAlternate=30,87,116
BackgroundAlternate=8,156,138
; BackgroundNormal=61,174,233
BackgroundNormal=8,156,138
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=252,252,252
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=253,188,75
ForegroundLink=0,211,184
ForegroundNegative=176,55,69
ForegroundNeutral=198,92,0
ForegroundNormal=252,252,252
ForegroundPositive=23,104,57
ForegroundVisited=155,89,182

[Colors:Tooltip]
BackgroundAlternate=42,46,50
BackgroundNormal=49,54,59
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:View]
BackgroundAlternate=35,38,41
BackgroundNormal=27,30,32
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182

[Colors:Window]
BackgroundAlternate=49,54,59
BackgroundNormal=42,46,50
; DecorationFocus=61,174,233
DecorationFocus=0,211,184
; DecorationHover=61,174,233
DecorationHover=0,211,184
; ForegroundActive=61,174,233
ForegroundActive=0,211,184
ForegroundInactive=161,169,177
; ForegroundLink=29,153,243
ForegroundLink=0,211,184
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
@zefr0x zefr0x changed the title Progress bar grouth is inverted in RTL (Arabic) Progress bar grouth is inverted in RTL (Arabic) (KDE Breeze theme) Apr 27, 2024
@luzpaz luzpaz changed the title Progress bar grouth is inverted in RTL (Arabic) (KDE Breeze theme) Progress bar indicator is inverted in RTL (Arabic) (KDE Breeze theme) Apr 27, 2024
@luzpaz luzpaz added the GUI GUI-related issues/changes label Apr 27, 2024
@sledgehammer999
Copy link
Member

This problem doesn't happen with the Fusion or Windows style theme
Isn't this a KDE breeze theme bug then?

qt themes (or more precisely QtStyles) are implemented as plugins (or separate modules). So the breeze theme probably has a bug and doesn't handle RTL in progressbars correctly.

@glassez
Copy link
Member

glassez commented Apr 30, 2024

Doesn't the following mean that the problem is not in style?

XDG_CURRENT_DESKTOP=KDE and QT_STYLE_OVERRIDE=Breeze are on my environment.

Just XDG_CURRENT_DESKTOP=KDE is enough to reproduce.

If so, then used "platform" or "platform theme" plugin is most likely to blame.

@sledgehammer999
Copy link
Member

sledgehammer999 commented Apr 30, 2024

This problem doesn't happen with the Fusion or Windows style theme
Isn't this a KDE breeze theme bug then?

qt themes (or more precisely QtStyles) are implemented as plugins (or separate modules). So the breeze theme probably has a bug and doesn't handle RTL in progressbars correctly.

I think I wasn't clear enough.
The Breeze theme is a 3rd party qtstyle plugin, which is loaded by qt. So you probably have to file a bug report to that.

Do other apps that use progressbar and breeze work correctly with Arabic/RTL in your system?
If no, then consider reporting to KDE: https://bugs.kde.org/

@glassez
Copy link
Member

glassez commented Apr 30, 2024

I think I wasn't clear enough.
The Breeze theme is a 3rd party qtstyle plugin, which is loaded by qt.

Doesn't the following mean that the problem occurs even w/o using Breeze style?

XDG_CURRENT_DESKTOP=KDE and QT_STYLE_OVERRIDE=Breeze are on my environment.

Just XDG_CURRENT_DESKTOP=KDE is enough to reproduce.

@zefr0x
Could you clarify what do you mean?

@sledgehammer999
Copy link
Member

Doesn't the following mean that the problem occurs even w/o using Breeze style?

He also mentions

This problem doesn't happen with the Fusion or Windows style theme

So I assume he sets QT_STYLE_OVERRIDE=Fusion to test. (And I thought that the Windows qt styles only worked on Windows).

@zefr0x please clarify how you test all these.

@sledgehammer999
Copy link
Member

(Flathub Version 0b92b92)

This is an important bit. IIRC flatpak/appimage/docker Qt applications can't use qt styles (or qt platformthemes) that are installed in the user's system. Only whatever is packaged inside the image.

@zefr0x
Copy link
Author

zefr0x commented Apr 30, 2024

This problem doesn't happen with the Fusion or Windows style theme
Isn't this a KDE breeze theme bug then?

qt themes (or more precisely QtStyles) are implemented as plugins (or separate modules). So the breeze theme probably has a bug and doesn't handle RTL in progressbars correctly.

I think I wasn't clear enough. The Breeze theme is a 3rd party qtstyle plugin, which is loaded by qt. So you probably have to file a bug report to that.

Do other apps that use progressbar and breeze work correctly with Arabic/RTL in your system? If no, then consider reporting to KDE: https://bugs.kde.org/

There is no issue with the progressbar in other apps (I've tested this with KTorrent (Flathub version, it uses a different runtime)).

I think I wasn't clear enough.
The Breeze theme is a 3rd party qtstyle plugin, which is loaded by qt.

Doesn't the following mean that the problem occurs even w/o using Breeze style?

XDG_CURRENT_DESKTOP=KDE and QT_STYLE_OVERRIDE=Breeze are on my environment.
Just XDG_CURRENT_DESKTOP=KDE is enough to reproduce.

@zefr0x Could you clarify what do you mean?

When you have XDG_CURRENT_DESKTOP=KDE the Breeze style is the default, so QT_STYLE_OVERRIDE=Breeze has no effect.

As of my knowledge having XDG_CURRENT_DESKTOP=KDE is the only way to use the Breeze style. I wasn't able to use it just by using: QT_STYLE_OVERRIDE=Breeze.

Doesn't the following mean that the problem occurs even w/o using Breeze style?

He also mentions

This problem doesn't happen with the Fusion or Windows style theme

So I assume he sets QT_STYLE_OVERRIDE=Fusion to test. (And I thought that the Windows qt styles only worked on Windows).

@zefr0x please clarify how you test all these.

Yes I used QT_STYLE_OVERRIDE=Fusion and QT_STYLE_OVERRIDE=Windows and there was no issues.

and yes, the Windows style is available in Linux:

Available styles: Breeze, Windows, Fusion

(Flathub Version 0b92b92)

This is an important bit. IIRC flatpak/appimage/docker Qt applications can't use qt styles (or qt platformthemes) that are installed in the user's system. Only whatever is packaged inside the image.

The Flathub package is currently using the org.kde.Platform/5.15-23.08 runtime, and it does have the Breeze theme available in the runtime.

@zefr0x
Copy link
Author

zefr0x commented Apr 30, 2024

NVM, it was just magically fixed now when I opened QB. Maybe It needed a reboot or some update fixed it.

Sorry for the wast of time :)

@zefr0x zefr0x closed this as completed Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GUI GUI-related issues/changes
Projects
None yet
Development

No branches or pull requests

4 participants