davidedmundson added a comment.
One question first: > 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. What's your longer term plan? To export WindowTasksModel directly? You'd still need to go via TaskFilterProxyModel, and for the pager you'd need AbstractTasksModelIface too (for setVirtualDesktop) ...at which point you're pretty much back at using half of TasksModel anyway? INLINE COMMENTS > windowtasksmodel.h:43 > + > +class TASKMANAGER_EXPORT WindowTasksModel : public QIdentityProxyModel, > public AbstractTasksModelIface > +{ Idea: if you a subclass of AbstractTasksModelIface with a virtual QAbstractProxyModel* source() you could kill a tonne of duplicated code REPOSITORY rPLASMAWORKSPACE Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D2379 EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: hein, #plasma, mart, davidedmundson Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas