+ bool isSingleBufferFilter() const { return _validBuffers.count() == 1; }
+ BufferId singleBufferId() const { return *(_validBuffers.constBegin()); }
+ bool containsBuffer(const BufferId& id) const { return _validBuffers.contains(id); }
+ QSet<BufferId> containedBuffers() const { return _validBuffers; }
+
+ bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const override;
+
+public slots:
+ void messageTypeFilterChanged();
+ void messageRedirectionChanged();
+ void requestBacklog();
+ // redefined as public slot
+ void invalidateFilter() { QSortFilterProxyModel::invalidateFilter(); }