BufferViewOverlay now correctly respects filtering of buffer types
[quassel.git] / src / client / bufferviewoverlay.h
index d528713..204e553 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "types.h"
 
 
 #include "types.h"
 
+class BufferViewConfig;
 class ClientBufferViewConfig;
 
 class BufferViewOverlay : public QObject {
 class ClientBufferViewConfig;
 
 class BufferViewOverlay : public QObject {
@@ -33,6 +34,19 @@ class BufferViewOverlay : public QObject {
 public:
   BufferViewOverlay(QObject *parent = 0);
 
 public:
   BufferViewOverlay(QObject *parent = 0);
 
+  inline const QSet<int> &bufferViewIds() { return _bufferViewIds; }
+  bool allNetworks();
+
+  const QSet<NetworkId> &networkIds();
+  const QSet<BufferId> &bufferIds();
+  const QSet<BufferId> &removedBufferIds();
+  const QSet<BufferId> &tempRemovedBufferIds();
+
+  int allowedBufferTypes();
+  int minimumActivity();
+
+  inline bool isInitialized() { return _uninitializedViewCount == 0; }
+
 public slots:
   void addView(int viewId);
   void removeView(int viewId);
 public slots:
   void addView(int viewId);
   void removeView(int viewId);
@@ -42,25 +56,25 @@ public slots:
 
 signals:
   void hasChanged();
 
 signals:
   void hasChanged();
+  void initDone();
 
 protected:
   virtual void customEvent(QEvent *event);
 
 private slots:
   void viewInitialized();
 
 protected:
   virtual void customEvent(QEvent *event);
 
 private slots:
   void viewInitialized();
+  void viewInitialized(BufferViewConfig *config);
 
 private:
 
 private:
-  inline bool allNetworks() const { return _networkIds.contains(NetworkId()); }
-
   void updateHelper();
   void updateHelper();
+  QSet<BufferId> filterBuffersByConfig(const QList<BufferId> &buffers, const BufferViewConfig *config);
+
   bool _aboutToUpdate;
 
   QSet<int> _bufferViewIds;
   bool _aboutToUpdate;
 
   QSet<int> _bufferViewIds;
+  int _uninitializedViewCount;
 
   QSet<NetworkId> _networkIds;
 
   QSet<NetworkId> _networkIds;
-
-  bool _addBuffersAutomatically;
-  bool _hideInactiveBuffers;
   int _allowedBufferTypes;
   int _minimumActivity;
 
   int _allowedBufferTypes;
   int _minimumActivity;