[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Qml/Plasma icon coloring issue
From:       Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date:       2017-05-14 20:40:07
Message-ID: 6287b29b-9818-28f3-b39f-4c9b1f77b629 () kdenlive ! org
[Download RAW message or body]

Hi all,

We are currently porting parts of the Kdenlive UI to Qml, and I have one 
issue with the Breeze icons when used in a Qml scene embedded in a 
QQuickWidget.

We enforce a color theme in our app using:

qApp->setPalette(palette());
QGuiApplication::setPalette(plt);

When used in QWidgets, everything works fine and the icon color 
automatically adjust to the theme, using the text color. However, icons 
used in Qml do not adjust their color WHEN the system icon theme is 
different than Breeze. I tried several options, described below but was 
unable to get the expected behavior: breeze icon following the 
application color theme. Did anyone encounter this problem ? is it a 
limitation of the icon coloring feature ? Any idea how I could solve the 
problem ?

What I tried:

Forcing the app icons using QIcon::setTheme('breeze') or the 
icontheme.rcc file in $appdata gave the same results:

1 - Using plain Qml, ToolButton {iconName:'arrow-down'}: the icon 
remains black no matter what color theme is used for the application

2 - Using PlasmaCore.IconItem : The icon changes color when changing the 
global desktop color theme, but not when changing the application color 
theme with setPalette()

3 -  Using QIconItem, sameresults as QML's ToolButton icon

As I said, this behavior only happens if the Desktop icon theme is 
different than Breeze. If you use Breeze as icon theme, everything works 
fine.

Any help appreciated, thanks.


Jean-Baptiste Mardelle

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic