D28208: Move sni icon handling logic from data engine to applet

Konrad Materka noreply at phabricator.kde.org
Mon Mar 30 22:46:52 BST 2020


kmaterka added a comment.


  The best would be to add theme path support to `PlasmaCore.IconItem`. I will take a look at this tomorrow.

INLINE COMMENTS

> davidre wrote in systemtraymodel.cpp:331
> This works now, but I don't know how to manage the KIconLoader. The KIconEngines are managed by QIcon (they take ownership of the engine). One idea would be to add it to the item maybe?

I don't like this idea. Now it is just a copy from one model to another without much of improvements - in fact now it complicates it even more.  KIconLoader is already created in StatusNotifierItemSource, it has little justification to create another one in data layer.

> systemtraymodel.cpp:339
> +            if(iconThemePath.isEmpty()) {
> +                dataItem->setData(iconName, static_cast<int>(role));
> +            } else {

Beside formatting (spaces, minor thing), I liked the logic before - the presentation layer decided what to render and how, model just provided data.
In addition, *Icon role can have two different types now - it should work with `dynamicRoles` enabled, but sometimes it has unexpected consequences. I had a bad experience with dynamic data type changes.

REPOSITORY
  R120 Plasma Workspace

REVISION DETAIL
  https://phabricator.kde.org/D28208

To: davidre, kmaterka, broulik, mart, #plasma, #vdg
Cc: bruns, ngraham, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200330/e8739a6b/attachment.html>


More information about the Plasma-devel mailing list