<table><tr><td style="">davidedmundson 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/D2379" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>One question first:</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>It allows users of libtaskmanager which are solely interested in window data (e.g. the Pager) to skip the unnecessary complexity of TasksModel, while still sharing the windowing monitoring with users of TasksModel.</p></blockquote>

<p>What's your longer term plan?<br />
To export WindowTasksModel directly? You'd still need to go via TaskFilterProxyModel, and for the pager you'd need AbstractTasksModelIface too (for setVirtualDesktop) <br />
...at which point you're pretty much back at using half of TasksModel anyway?</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/D2379#inline-9636" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">windowtasksmodel.h:43</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="n">class</span> <span class="n">TASKMANAGER_EXPORT</span> <span style="color: #a0a000">WindowTasksModel</span> <span class="p">:</span> <span class="n">public</span> <span class="n">QIdentityProxyModel</span><span class="p">,</span> <span class="n">public</span> <span class="n">AbstractTasksModelIface</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;"><span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Idea:<br />
if you a subclass of AbstractTasksModelIface with a <br />
virtual QAbstractProxyModel* source()</p>

<p style="padding: 0; margin: 8px;">you could kill a tonne of duplicated code</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>rPLASMAWORKSPACE Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D2379" rel="noreferrer">https://phabricator.kde.org/D2379</a></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>hein, Plasma, mart, davidedmundson<br /><strong>Cc: </strong>plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas<br /></div>