class MessageFilter : public QSortFilterProxyModel {
Q_OBJECT
- public:
- MessageFilter(MessageModel *, const QList<BufferId> &buffers = QList<BufferId>(), QObject *parent = 0);
+protected:
+ MessageFilter(QAbstractItemModel *source, QObject *parent = 0);
- virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
- virtual QString idString() const;
+public:
+ MessageFilter(MessageModel *, const QList<BufferId> &buffers = QList<BufferId>(), QObject *parent = 0);
- private:
- QList<BufferId> _bufferList;
+ virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
+ virtual QString idString() const;
+ inline bool isSingleBufferFilter() const { return _validBuffers.count() == 1; }
+ inline bool containsBuffer(const BufferId &id) const { return _validBuffers.contains(id); }
+
+private:
+ QSet<BufferId> _validBuffers;
};
#endif