return;
_messagesWaiting[bufferId] -= count;
- if(_messagesWaiting[bufferId] <= 0)
+ if(_messagesWaiting[bufferId] <= 0) {
_messagesWaiting.remove(bufferId);
+ emit finishedBacklogFetch(bufferId);
+ }
}
void MessageModel::buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2) {
void clear();
+signals:
+ void finishedBacklogFetch(BufferId bufferId);
+
public slots:
void requestBacklog(BufferId bufferId);
void messagesReceived(BufferId bufferId, int count);
if(_scene) {
disconnect(_scene, 0, this, 0);
+ disconnect(Client::messageModel(), 0, this, 0);
qDeleteAll(_highlightItems);
_highlightItems.clear();
}
connect(_scene, SIGNAL(destroyed()), this, SLOT(sceneDestroyed()));
connect(_scene, SIGNAL(layoutChanged()), this, SLOT(repositionHighlights()));
+ connect(Client::messageModel(), SIGNAL(finishedBacklogFetch(BufferId)), this, SLOT(updateHighlights()));
updateHighlights();
}