Add accessor to check if a filter accepts a given BufferId
authorManuel Nickschas <sputnick@quassel-irc.org>
Mon, 15 Sep 2008 22:24:36 +0000 (00:24 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Mon, 15 Sep 2008 22:24:36 +0000 (00:24 +0200)
src/client/messagefilter.h
src/qtui/chatscene.h

index eeca964..09e64fc 100644 (file)
@@ -38,7 +38,8 @@ public:
   virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
   virtual QString idString() const;
   inline bool isSingleBufferFilter() const { return _validBuffers.count() == 1; }
   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;
 };
 private:
   QSet<BufferId> _validBuffers;
 };
index f54869b..fa44102 100644 (file)
@@ -26,7 +26,7 @@
 #include <QSet>
 
 #include "columnhandleitem.h"
 #include <QSet>
 
 #include "columnhandleitem.h"
-
+#include "messagefilter.h"
 
 class AbstractUiMsg;
 class ChatItem;
 
 class AbstractUiMsg;
 class ChatItem;
@@ -47,6 +47,7 @@ public:
   int sectionByScenePos(int x);
   inline int sectionByScenePos(const QPoint &pos) { return sectionByScenePos(pos.x()); }
   inline bool isSingleBufferScene() const { return _singleBufferScene; }
   int sectionByScenePos(int x);
   inline int sectionByScenePos(const QPoint &pos) { return sectionByScenePos(pos.x()); }
   inline bool isSingleBufferScene() const { return _singleBufferScene; }
+  inline bool containsBuffer(const BufferId &id) const;
   inline ChatLine *chatLine(int row) { return (row < _lines.count()) ? _lines[row] : 0; }
 
   inline ColumnHandleItem *firstColumnHandle() const { return firstColHandle; }
   inline ChatLine *chatLine(int row) { return (row < _lines.count()) ? _lines[row] : 0; }
 
   inline ColumnHandleItem *firstColumnHandle() const { return firstColHandle; }
@@ -106,4 +107,8 @@ private:
   int _lastBacklogSize;
 };
 
   int _lastBacklogSize;
 };
 
+bool ChatScene::containsBuffer(const BufferId &id) const {
+  return qobject_cast<MessageFilter*>(model()) ? qobject_cast<MessageFilter*>(model())->containsBuffer(id) : false;
+}
+
 #endif
 #endif