X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbufferviewoverlay.cpp;h=cba8035a7389d7de9a12ef12d99d147e9c00f404;hp=66dec133f941989e783761f613b30a983f8a3cd9;hb=7fc418e5841a1633f651e08a34ccd2123ba6e0db;hpb=b0238fe2f113dd23df01eeb0491f0afe39847994 diff --git a/src/client/bufferviewoverlay.cpp b/src/client/bufferviewoverlay.cpp index 66dec133..cba8035a 100644 --- a/src/client/bufferviewoverlay.cpp +++ b/src/client/bufferviewoverlay.cpp @@ -108,6 +108,9 @@ void BufferViewOverlay::update() { } void BufferViewOverlay::updateHelper() { + if(!_aboutToUpdate) + return; + bool changed = false; bool addBuffersAutomatically = false; @@ -162,6 +165,9 @@ void BufferViewOverlay::updateHelper() { if(minimumActivity == -1 || config->minimumActivity() < minimumActivity) minimumActivity = config->minimumActivity(); } + QSet availableBuffers = Client::networkModel()->allBufferIds().toSet(); + buffers.intersect(availableBuffers); + tempRemovedBuffers.intersect(availableBuffers); } changed |= (addBuffersAutomatically != _addBuffersAutomatically); @@ -182,6 +188,8 @@ void BufferViewOverlay::updateHelper() { _removedBuffers = removedBuffers; _tempRemovedBuffers = tempRemovedBuffers; + _aboutToUpdate = false; + if(changed) emit hasChanged(); } @@ -189,6 +197,50 @@ void BufferViewOverlay::updateHelper() { void BufferViewOverlay::customEvent(QEvent *event) { if(event->type() == _updateEventId) { updateHelper(); - _aboutToUpdate = false; } } + +bool BufferViewOverlay::allNetworks() { + updateHelper(); + return _networkIds.contains(NetworkId()); +} + +const QSet &BufferViewOverlay::networkIds() { + updateHelper(); + return _networkIds; +} + +const QSet &BufferViewOverlay::bufferIds() { + updateHelper(); + return _buffers; +} + +const QSet &BufferViewOverlay::removedBufferIds() { + updateHelper(); + return _removedBuffers; +} + +const QSet &BufferViewOverlay::tempRemovedBufferIds() { + updateHelper(); + return _tempRemovedBuffers; +} + +bool BufferViewOverlay::addBuffersAutomatically() { + updateHelper(); + return _addBuffersAutomatically; +} + +bool BufferViewOverlay::hideInactiveBuffers() { + updateHelper(); + return _hideInactiveBuffers; +} + +int BufferViewOverlay::allowedBufferTypes() { + updateHelper(); + return _allowedBufferTypes; +} + +int BufferViewOverlay::minimumActivity() { + updateHelper(); + return _minimumActivity; +}