#include "types.h"
+class BufferViewConfig;
class ClientBufferViewConfig;
class BufferViewOverlay : public QObject {
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);
+ 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<BufferId> filterBuffersByConfig(const QList<BufferId> &buffers, const BufferViewConfig *config);
+
bool _aboutToUpdate;
QSet<int> _bufferViewIds;
+ int _uninitializedViewCount;
QSet<NetworkId> _networkIds;
-
- bool _addBuffersAutomatically;
- bool _hideInactiveBuffers;
int _allowedBufferTypes;
int _minimumActivity;