<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/127779/">https://git.reviewboard.kde.org/r/127779/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">one more question: have you tried this with krita (or digicam) and their builtin functionality to change the app's color scheme? I.e. what about per-app changes vs. system-wide changes?</p></pre>
<br />
<p>- Milian Wolff</p>
<br />
<p>On April 29th, 2016, 9:25 a.m. UTC, Marco Martin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks and Plasma.</div>
<div>By Marco Martin.</div>
<p style="color: grey;"><i>Updated April 29, 2016, 9:25 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kiconthemes
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">still some questions and things that can be optimized, like</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">an optional key in the theme metadata file to explicitly enable this, to not have it running in themes that don't care?</p>
</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">can i use karchive in this framework?, so it would work with svgz icons as well</p>
</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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</p>
</li>
</ul></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(2e838e8)</span></li>
<li>autotests/coloredsvgicon.svg <span style="color: grey">(PRE-CREATION)</span></li>
<li>autotests/kiconloader_unittest.cpp <span style="color: grey">(0e47cc8)</span></li>
<li>autotests/resources.qrc <span style="color: grey">(a19c963)</span></li>
<li>src/CMakeLists.txt <span style="color: grey">(0e30a35)</span></li>
<li>src/kiconloader.cpp <span style="color: grey">(75ab482)</span></li>
<li>src/kicontheme.h <span style="color: grey">(3190665)</span></li>
<li>src/kicontheme.cpp <span style="color: grey">(0996054)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/127779/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/04/28/0fc42425-947c-479e-9759-09c7a703a456__dadel1.png">dadel1.png</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>