<table><tr><td style="">kmaterka marked 2 inline comments as done.<br />kmaterka added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24865">View Revision</a></tr></table><br /><div><div><p>I will do more tests. The initialization</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D24865#inline-142029">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidedmundson</span> wrote in <span style="color: #4b4d51; font-weight: bold;">StatusNotifierItem.qml:59</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Edit. ignore me.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I had few worries about this approach but I tested with several combinations.</p>
<p style="padding: 0; margin: 8px;">Additional comment for anyone wondering how it is working.<br />
The initialization needs to set empty icon:</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">setData(QStringLiteral("AttentionIcon"), QIcon());
setData(QStringLiteral("Icon"), QIcon());</pre></div>
<p style="padding: 0; margin: 8px;">It is required to setup role names - invalid QVariant() removes role name (check DataContainer::setData). All role names must be initialized, if not QML won't recognize it later.</p>
<p style="padding: 0; margin: 8px;">Fortunately, on any update all fields, including icons, are updated. Setting QVariant() will remove value entirely. In fact, it removes the role name, but as roles are cached, it is not making any harm.<br />
QML will see valid icon or "undefined" (if invalid QVariant() passed).</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24865">https://phabricator.kde.org/D24865</a></div></div><br /><div><strong>To: </strong>kmaterka, Plasma, broulik, Plasma: Workspaces, davidedmundson<br /><strong>Cc: </strong>lbeltrame, plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>