<table><tr><td style="">broulik created this revision.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</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/D7319" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>While I'm usually a huge fan of States, this is done only half-way with States in the compact representation (NotificationIcon) overwriting the plasmoid's state in addition to there being a binding on it in main.qml.<br />
It also used a "default" state (note: the default state in QML is empty string) in addition to assigning default values on items themselves anyway.<br />
This seems to shift evaluation of bindings into an order where we first stop the BusyIndicator and then become passive, moving the the systray popup, working around the Qt crash we're seeing. It's a nice clean up in any case imho.</p>

<p>CCBUG: 381105</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Verified the applet becomes active when there's a persistent notification or a running job</li>
<li class="remarkup-list-item">Verified the icon changes to gray outline circle when passive notification is there and gray filled circle if a job is running</li>
<li class="remarkup-list-item">Verified it didn't break when I disabled "track job progress" in applet settings (will unload "jobs")</li>
<li class="remarkup-list-item">Failed to crash plasma by starting a job and then cancelling it with the applet open</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7319" rel="noreferrer">https://phabricator.kde.org/D7319</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>applets/notifications/package/contents/ui/NotificationIcon.qml<br />
applets/notifications/package/contents/ui/main.qml</div></div></div><br /><div><strong>To: </strong>broulik, Plasma, mck182<br /><strong>Cc: </strong>plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas<br /></div>