qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.48k stars 3.99k forks source link

System style (Fusion) switches to windowsvista after changing any setting #21716

Closed stalkerok closed 2 weeks ago

stalkerok commented 3 weeks ago

qBittorrent & operating system versions

qBittorrent v5.0.1 (64-bit) Qt: 6.7.3 Libtorrent: 1.2.19.0 Boost: 1.86.0 OpenSSL: 3.4.0 zlib: 1.3.1 OS: W10

What is the problem?

System style (Fusion) switches to windowsvista after changing any setting and restarting the application. You can tell that the style has switched by the application's language drop-down list.

Steps to reproduce

https://github.com/user-attachments/assets/756dc516-9330-42e6-8d44-649b67b6733f

Additional context

No response

Log(s) & preferences file(s)

No response

glassez commented 3 weeks ago

System style (Fusion)

Fusion isn't System style. You seem to have switched from Fusion to System earlier but forgot to restart qBittorrent.

stalkerok commented 3 weeks ago

No, this is the first run, I only changed one setting. Second run - the style has changed, but I haven't even touched it. It's very easy to reproduce.

xavier2k6 commented 3 weeks ago

We are not changing the default style in Qt on Windows, so by default, your application will use the Windows Vista style

https://www.qt.io/blog/dark-mode-on-windows-11-with-qt-6.5

So, do we actually need to have a system setting??

xavier2k6 commented 3 weeks ago

You will also notice the Windows Vista style is in use for system like in View Menu Bar:

https://github.com/qbittorrent/qBittorrent/issues/17081#issuecomment-1567470921

xavier2k6 commented 3 weeks ago

Is there a QStyleFactory key for system????

xavier2k6 commented 3 weeks ago

BTW - Fusion is still supposed to be the "default" but yet the combo box defaults to System on first run (portable mode)

glassez commented 3 weeks ago

Seems it is a regression of #21599. (As we say, the best is the enemy of the good.) Could you test #21720?

Chocobo1 commented 3 weeks ago

Seems it is a regression of https://github.com/qbittorrent/qBittorrent/pull/21599. (As we say, the best is the enemy of the good.)

??? To me it seems like #21720 is fixing bugs from the later #21605 instead. I tested #21599 before submitting it and it was working fine (actually I nearly tested all of my PRs before submission).

glassez commented 3 weeks ago

Seems it is a regression of #21599. (As we say, the best is the enemy of the good.)

??? To me it seems like #21720 is fixing bugs from the later #21605 instead. I tested #21599 before submitting it and it was working fine (actually I nearly tested all of my PRs before submission).

It was still #21599 who added the "case sensitivity" problem (just look at the changes), but it was not affected by this problem under normal conditions by pure chance (only because the "Fusion" style is located in the first place alphabetically), so your tests did not detect it. #21605 made the problem worse, but it apparently wasn't tested on a clean configuration.

Chocobo1 commented 2 weeks ago

It was still https://github.com/qbittorrent/qBittorrent/pull/21599 who added the "case sensitivity" problem (just look at the changes), but it was not affected by this problem under normal conditions by pure chance (only because the "Fusion" style is located in the first place alphabetically), so your tests did not detect it.

Seems the root cause is the values from QStyleFactory::keys() and QApplication::style()->name() had different cases. Weird Qt behavior...