Separate highlight handling
authorJanne Koschinski <janne@kuschku.de>
Sun, 27 Aug 2017 00:15:32 +0000 (02:15 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 19 Dec 2017 20:08:42 +0000 (21:08 +0100)
src/client/networkmodel.cpp

index f3896e5..8a3df60 100644 (file)
@@ -308,6 +308,11 @@ void BufferItem::clearActivityLevel()
 void BufferItem::updateActivityLevel(const Message &msg)
 {
     if (Client::coreFeatures().testFlag(Quassel::Feature::BufferActivitySync)) {
 void BufferItem::updateActivityLevel(const Message &msg)
 {
     if (Client::coreFeatures().testFlag(Quassel::Feature::BufferActivitySync)) {
+        if (msg.flags().testFlag(Message::Highlight)) {
+            if (addActivity(Message::Types(msg.type()), msg.flags().testFlag(Message::Highlight))) {
+                emit dataChanged();
+            }
+        }
         return;
     }
 
         return;
     }
 
@@ -339,7 +344,7 @@ void BufferItem::updateActivityLevel(const Message &msg)
 void BufferItem::setActivity(Message::Types type, bool highlight) {
     BufferInfo::ActivityLevel oldLevel = activityLevel();
 
 void BufferItem::setActivity(Message::Types type, bool highlight) {
     BufferInfo::ActivityLevel oldLevel = activityLevel();
 
-    _activity = BufferInfo::Activity();
+    _activity &= BufferInfo::Highlight;
     addActivity(type, highlight);
 
     if (_activity != oldLevel) {
     addActivity(type, highlight);
 
     if (_activity != oldLevel) {