/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
INIT_SYNCABLE_OBJECT(CoreBufferSyncer)
CoreBufferSyncer::CoreBufferSyncer(CoreSession *parent)
- : BufferSyncer(Core::bufferLastSeenMsgIds(parent->user()), Core::bufferMarkerLineMsgIds(parent->user()), Core::bufferActivities(parent->user()), parent),
+ : BufferSyncer(Core::bufferLastSeenMsgIds(parent->user()), Core::bufferMarkerLineMsgIds(parent->user()), Core::bufferActivities(parent->user()), Core::highlightCounts(parent->user()), parent),
_coreSession(parent),
_purgeBuffers(false)
{
connect(parent, SIGNAL(displayMsg(Message)), SLOT(addBufferActivity(Message)));
+ connect(parent, SIGNAL(displayMsg(Message)), SLOT(addCoreHighlight(Message)));
}
void CoreBufferSyncer::requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId)
{
if (setLastSeenMsg(buffer, msgId)) {
- setBufferActivity(buffer, (int) Core::bufferActivity(buffer, msgId));
+ int activity = Core::bufferActivity(buffer, msgId);
+ int highlightCount = Core::highlightCount(buffer, msgId);
+
+ setBufferActivity(buffer, activity);
+ setHighlightCount(buffer, highlightCount);
+
dirtyLastSeenBuffers << buffer;
}
}
Core::setBufferActivity(userId, bufferId, activity(bufferId));
}
+ foreach(BufferId bufferId, dirtyHighlights) {
+ Core::setHighlightCount(userId, bufferId, highlightCount(bufferId));
+ }
+
dirtyLastSeenBuffers.clear();
dirtyMarkerLineBuffers.clear();
dirtyActivities.clear();
+ dirtyHighlights.clear();
}
}
}
-void CoreBufferSyncer::setBufferActivity(BufferId buffer, const int &activity) {
+void CoreBufferSyncer::setBufferActivity(BufferId buffer, int activity) {
BufferSyncer::setBufferActivity(buffer, activity);
dirtyActivities << buffer;
}
+
+void CoreBufferSyncer::setHighlightCount(BufferId buffer, int highlightCount) {
+ BufferSyncer::setHighlightCount(buffer, highlightCount);
+ dirtyHighlights << buffer;
+}