/***************************************************************************
- * 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 *
}
}
+ void addCoreHighlight(const Message &message) {
+ auto oldHighlightCount = highlightCount(message.bufferId());
+ if (message.flags().testFlag(Message::Flag::Highlight) && !message.flags().testFlag(Message::Flag::Self)) {
+ setHighlightCount(message.bufferId(), oldHighlightCount + 1);
+ }
+ }
+
void setBufferActivity(BufferId buffer, int activity) override;
+ void setHighlightCount(BufferId buffer, int highlightCount) override;
+
inline void requestRenameBuffer(BufferId buffer, QString newName) override { renameBuffer(buffer, newName); }
void renameBuffer(BufferId buffer, QString newName) override;
void requestPurgeBufferIds() override;
inline void requestMarkBufferAsRead(BufferId buffer) override {
- setBufferActivity(buffer, (int) Message::Types());
+ int activity = Message::Types();
+ setBufferActivity(buffer, activity);
+ setHighlightCount(buffer, 0);
markBufferAsRead(buffer);
}
QSet<BufferId> dirtyLastSeenBuffers;
QSet<BufferId> dirtyMarkerLineBuffers;
QSet<BufferId> dirtyActivities;
+ QSet<BufferId> dirtyHighlights;
void purgeBufferIds();
};