Review Request 127779: use system colors for monochrome icons

Marco Martin notmart at gmail.com
Wed May 4 09:56:09 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127779/
-----------------------------------------------------------

(Updated May 4, 2016, 9:56 a.m.)


Review request for KDE Frameworks and Plasma.


Changes
-------

The latest version adds a string representing the available colors of the qpalette as cache keys, it makes possible for applications to dynamically change their palettelike the dark scheme for gwenview


Repository: kiconthemes


Description
-------

Breeze uses stylesheet information to color its icons with some "named" colors that change depending from the current system color scheme, this is already used since some time in the icons used by the Plasma shell.
But QWidget applications have the same problem, when the user changes the color scheme from breeze to breeze dark (or any color scheme), most of the icons will be black on black.
This patch clones (a bit simplified and taking only the most "important" colors) the logic used by Plasma::Svg to color icons with the stylesheet.

even tough it's doing more things at icon generation, an application that uses a lot of icons like Dolphin doesn't seem to have noticeable startup time difference, even when the image cache is not present yet, so i hope is not an unacceptable performance tradeoff (successive loads are unchanged as are from the image cache).

still some questions and things that can be optimized, like

* an optional key in the theme metadata file to explicitly enable this, to not have it running in themes that don't care?

* can i use karchive in this framework?, so it would work with svgz icons as well

* right now to refresh icons at runtime it depends from a patch in the colors kcm to emit iconchanges as well, alternatively kiconloader could watch for kcolorscheme changes as well, but i don't think is strictly necessary


Diffs
-----

  CMakeLists.txt 2e838e8 
  autotests/coloredsvgicon.svg PRE-CREATION 
  autotests/kiconloader_unittest.cpp 0e47cc8 
  autotests/resources.qrc a19c963 
  src/CMakeLists.txt 0e30a35 
  src/kiconloader.cpp 75ab482 
  src/kicontheme.h 3190665 
  src/kicontheme.cpp 0996054 

Diff: https://git.reviewboard.kde.org/r/127779/diff/


Testing
-------


File Attachments (updated)
----------------

dadel1.png
  https://git.reviewboard.kde.org/media/uploaded/files/2016/04/28/0fc42425-947c-479e-9759-09c7a703a456__dadel1.png
Gwenview in fullscreen flips colors
  https://git.reviewboard.kde.org/media/uploaded/files/2016/05/04/1c0cab70-a54f-4533-b5e9-0b3af07ae087__dadel2.png


Thanks,

Marco Martin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160504/984a14a2/attachment.html>


More information about the Kde-frameworks-devel mailing list