[smuxi: 1/2] Frontend-GNOME: don't count unseen events as messages (closes: #1057)



commit 889816b409a73016a698c679f8c640cba31fca6c
Author: Mirco Bauer <meebey meebey net>
Date:   Fri May 22 22:05:11 2015 +0200

    Frontend-GNOME: don't count unseen events as messages (closes: #1057)

 src/Frontend-GNOME/Views/Chats/ChatView.cs |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)
---
diff --git a/src/Frontend-GNOME/Views/Chats/ChatView.cs b/src/Frontend-GNOME/Views/Chats/ChatView.cs
index 98e768d..1c24da6 100644
--- a/src/Frontend-GNOME/Views/Chats/ChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/ChatView.cs
@@ -729,7 +729,22 @@ namespace Smuxi.Frontend.Gnome
         
         protected virtual void OnMessageTextViewMessageAdded(object sender, 
MessageTextViewMessageAddedEventArgs e)
         {
-            if (_IsSynced && !IsActive) {
+            var signalCounter = false;
+            if (!IsActive) {
+                // the chat isn't active, thus we need to signal the event/msg counter
+                if (_IsSynced) {
+                    signalCounter = true;
+                } else {
+                    // we are still syncing and since Smuxi 0.13 we know what msg
+                    // was last seen, so we only signal newer messages than that
+                    if (Frontend.EngineProtocolVersion >= new Version(0, 13) &&
+                        e.Message.TimeStamp > SyncedLastSeenMessage) {
+                        signalCounter = true;
+                    }
+                }
+            }
+
+            if (signalCounter) {
                 switch (e.Message.MessageType) {
                     case MessageType.Normal:
                         HasActivity = true;
@@ -738,11 +753,6 @@ namespace Smuxi.Frontend.Gnome
                         HasEvent = true;
                         break;
                 }
-            } else if (!IsActive) {
-                if (Frontend.EngineProtocolVersion >= new Version(0, 13) &&
-                    e.Message.TimeStamp > SyncedLastSeenMessage) {
-                    HasActivity = true;
-                }
             }
 
             var buffer = _OutputMessageTextView.Buffer;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]