X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbufferviewoverlay.h;h=313a2e3005aa1f4025efb3ae9f6247922f13f4af;hp=d52871365ff1e108cd56c5a3fad705ff41c30297;hb=a72e2b4a90ce18c58b54e111161691ba008dc47d;hpb=f48d855945219c3a1897a17bf15830dfee104f0b diff --git a/src/client/bufferviewoverlay.h b/src/client/bufferviewoverlay.h index d5287136..313a2e30 100644 --- a/src/client/bufferviewoverlay.h +++ b/src/client/bufferviewoverlay.h @@ -25,6 +25,7 @@ #include "types.h" +class BufferViewConfig; class ClientBufferViewConfig; class BufferViewOverlay : public QObject { @@ -33,34 +34,51 @@ class BufferViewOverlay : public QObject { public: BufferViewOverlay(QObject *parent = 0); + inline const QSet &bufferViewIds() { return _bufferViewIds; } + bool allNetworks(); + + const QSet &networkIds(); + const QSet &bufferIds(); + const QSet &removedBufferIds(); + const QSet &tempRemovedBufferIds(); + + int allowedBufferTypes(); + int minimumActivity(); + + inline bool isInitialized() { return _uninitializedViewCount == 0; } + public slots: void addView(int viewId); void removeView(int viewId); + void reset(); + void save(); + void restore(); + // updates propagated from the actual views void update(); signals: void hasChanged(); + void initDone(); protected: virtual void customEvent(QEvent *event); private slots: void viewInitialized(); + void viewInitialized(BufferViewConfig *config); private: - inline bool allNetworks() const { return _networkIds.contains(NetworkId()); } - void updateHelper(); + QSet filterBuffersByConfig(const QList &buffers, const BufferViewConfig *config); + bool _aboutToUpdate; QSet _bufferViewIds; + int _uninitializedViewCount; QSet _networkIds; - - bool _addBuffersAutomatically; - bool _hideInactiveBuffers; int _allowedBufferTypes; int _minimumActivity;