<table><tr><td style="">Pitel created this revision.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.<br />Pitel requested review of this revision.
</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/D11292">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>My try at ordered system try heavily inspired by <a href="https://phabricator.kde.org/D11233" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D11233</a>.</p>

<p>Features (and problems):</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">the main intention was to keep code as simple as possible</li>
<li class="remarkup-list-item">items can be reordered by drag & drop and removed from config by dragging into trash bin</li>
<li class="remarkup-list-item">item list is by design loaded only at opening settings dialog (doing on-the-fly updates seems complicated for very little gain)</li>
<li class="remarkup-list-item">new items are added at right end of systray and remeber their position (so the first start the order will be random but on subsequent starts the order will remain the same)</li>
<li class="remarkup-list-item">all this is backed by only one new config option <tt style="background: #ebebeb; font-size: 13px;">itemOrder</tt> of type <tt style="background: #ebebeb; font-size: 13px;">StringList</tt></li>
<li class="remarkup-list-item">items currently not existent are displayed in italics (and without icon because there is nowhere to get it)</li>
<li class="remarkup-list-item">now also all status notifier items are always in italics because I removed using <tt style="background: #ebebeb; font-size: 13px;">statusNotifierModel</tt> from setting which solves crash after closing setting (and ugly > crash)</li>
<li class="remarkup-list-item">contains an ugly hack to workaround <tt style="background: #ebebeb; font-size: 13px;">ComboBox</tt>'es going crazy when <tt style="background: #ebebeb; font-size: 13px;">TableView</tt> model is changed (I have no clue what causes this, only than <tt style="background: #ebebeb; font-size: 13px;">currentItem</tt> binding is not to blame)</li>
<li class="remarkup-list-item">the drag & drop support was adapted from <a href="https://phabricator.kde.org/source/plasma-active-window-control/" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">R884</a> (most notably <tt style="background: #ebebeb; font-size: 13px;">OrderItem.qml</tt> comes from there and was only lightly modified</li>
</ul>

<p>Any c</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>stableSystray</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11292">https://phabricator.kde.org/D11292</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>applets/systemtray/package/contents/config/main.xml<br />
applets/systemtray/package/contents/ui/ConfigEntries.qml<br />
applets/systemtray/package/contents/ui/OrderableItem.qml<br />
applets/systemtray/package/contents/ui/items/AbstractItem.qml<br />
applets/systemtray/package/contents/ui/main.qml</div></div></div><br /><div><strong>To: </strong>Pitel<br /><strong>Cc: </strong>plasma-devel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>