Bug 434568 - Systemsettings starts with wrong colour scheme
Summary: Systemsettings starts with wrong colour scheme
Status: RESOLVED DOWNSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: 5.21.3
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-18 03:59 UTC by Adam Brightmore
Modified: 2021-04-02 14:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Left: Wrong colours, Right: Correct colours (320.10 KB, image/png)
2021-03-18 03:59 UTC, Adam Brightmore
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Brightmore 2021-03-18 03:59:05 UTC
Created attachment 136804 [details]
Left: Wrong colours, Right: Correct colours

SUMMARY
After updating to v5.21.3 when I open systemsettings it now doesn't display with my colour scheme correctly, other KDE & Qt apps display with the correct colours. I can temporarily fix this by changing my colour scheme to another one (I can't just select my current one as the apply button is greyed out until I switch to a new one) and then back again. Once I close systemsettings and open it again it goes back to the wrong colours again though so to be able to read anything in it I have to do this each time I open it.

I tried moving ~/.config/systemsettingsrc so it'd make a new one, but this had no affect on the issue.

STEPS TO REPRODUCE
1. Open systemsettings

OBSERVED RESULT
Wrong colours

EXPECTED RESULT
Correct colours

SOFTWARE/OS VERSIONS

Operating System: Arch Linux
KDE Plasma Version: 5.21.3
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
Kernel Version: 5.11.7-zen1-1-zen
OS Type: 64-bit
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 1700 Eight-Core Processor
Memory: 31.4 GiB of RAM
Graphics Processor: AMD Radeon RX 5700 XT

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2021-03-18 16:28:46 UTC
It appears that you are either missing the qqc2-desktop-style package, or else are using the qt5ct package, which interfered with things. The problem should disappear if you correct either or both of those. Can you confirm?
Comment 2 Adam Brightmore 2021-03-18 16:34:05 UTC
(In reply to Nate Graham from comment #1)
> It appears that you are either missing the qqc2-desktop-style package, or
> else are using the qt5ct package, which interfered with things. The problem
> should disappear if you correct either or both of those. Can you confirm?

No I have qqc2-desktop-style installed and don't have qt5ct installed:

    $ pacman -Ss qqc2-desktop-style
    extra/qqc2-desktop-style 5.80.0-1 (kf5) [installed]
    
    $ pacman -Ss qt5ct
    community/qt5ct 1.1-1

Anything else I can check?
Comment 3 Nate Graham 2021-03-18 18:25:20 UTC
Are you lacking plasma-integration, maybe? Either way I feel like this has to be a setup/distro bug because we can see from the screenshots that the widgets look all wrong. The text field and toolbutton in the header over the sidebar should look Breeze-style. Instead they are inheriting the ugly default/fallback Qt theme.

If you have plasma-integration too, I'm out of ideas and would recommend asking on the Arch forums. I'd be interested to know what it ends up being!
Comment 4 Adam Brightmore 2021-03-18 18:37:52 UTC
(In reply to Nate Graham from comment #3)
> Are you lacking plasma-integration, maybe? Either way I feel like this has

No I have that installed.

> to be a setup/distro bug because we can see from the screenshots that the
> widgets look all wrong. The text field and toolbutton in the header over the
> sidebar should look Breeze-style. Instead they are inheriting the ugly
> default/fallback Qt theme.

Actually I'm using QtCurve style; I just tried changing to Breeze style in case that was the issue, but didn't fix it.

> 
> If you have plasma-integration too, I'm out of ideas and would recommend
> asking on the Arch forums. I'd be interested to know what it ends up being!

Okay I'll give that a try.

Here's the stdout of running systemsettings5 btw, didn't think to look at that till now:

kf.kirigami: Warning: Theme implementations should use Kirigami.BasicThemeDefinition for its root item
file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:158:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:148:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/private/ScrollView.qml:73:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.

file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/private/ScrollView.qml:73:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.

file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:67:13: QML MouseArea: Binding loop detected for property "implicitHeight"
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/private/ScrollView.qml:73:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.

file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/private/ScrollView.qml:73:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
Comment 5 Adam Brightmore 2021-04-02 14:15:58 UTC
Okay I figured out how to fix this. I had set the env var QT_QUICK_CONTROLS_STYLE=Breeze to fix an issue with the ui in an application called Cura (3d Printing software) which is still present in v4.8. I had done this awhile back in a way that set it for my whole session and hadn't had any issues with this until this release. I've changed it so now only Cura gets this env var and it's fixed the issue for me.