void BufferItem::clearActivityLevel()
{
- _activity = BufferInfo::NoActivity;
+ if (Client::coreFeatures().testFlag(Quassel::Feature::BufferActivitySync)) {
+ // If the core handles activity sync, clear only the highlight flag
+ _activity &= ~BufferInfo::Highlight;
+ } else {
+ _activity = BufferInfo::NoActivity;
+ }
_firstUnreadMsgId = MsgId();
// FIXME remove with core proto v11
_currentBuffer = bufferId;
showChatView(bufferId);
- if (!Client::coreFeatures().testFlag(Quassel::Feature::BufferActivitySync)) {
- Client::networkModel()->clearBufferActivity(bufferId);
- }
+ Client::networkModel()->clearBufferActivity(bufferId);
Client::setBufferLastSeenMsg(bufferId, _chatViews[bufferId]->lastMsgId());
Client::backlogManager()->checkForBacklog(bufferId);
setFocus();