Add accessor to check if a filter accepts a given BufferId
[quassel.git] / src / client / messagefilter.h
index 7338842..09e64fc 100644 (file)
 class MessageFilter : public QSortFilterProxyModel {
   Q_OBJECT
 
-  protected:
-    MessageFilter(QAbstractItemModel *source, QObject *parent = 0);
+protected:
+  MessageFilter(QAbstractItemModel *source, QObject *parent = 0);
 
-  public:
-    MessageFilter(MessageModel *, const QList<BufferId> &buffers = QList<BufferId>(), QObject *parent = 0);
+public:
+  MessageFilter(MessageModel *, const QList<BufferId> &buffers = QList<BufferId>(), QObject *parent = 0);
 
-    virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
-    virtual QString idString() const;
+  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:
-    QList<BufferId> _bufferList;
+private:
+  QSet<BufferId> _validBuffers;
 };
 
 #endif