From 30ac5550f1ee2829b5a272cfe04b380472168649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 16 Dec 2015 20:19:17 +0100 Subject: [PATCH] mail_daemon: Only show new message count for new messages. * Ie. do not show it always when the new message count changes, only show it when it increases. --- src/servers/mail/MailDaemonApplication.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/servers/mail/MailDaemonApplication.cpp b/src/servers/mail/MailDaemonApplication.cpp index b46bc4a108..dc1d2fe39b 100644 --- a/src/servers/mail/MailDaemonApplication.cpp +++ b/src/servers/mail/MailDaemonApplication.cpp @@ -372,22 +372,27 @@ MailDaemonApplication::MessageReceived(BMessage* msg) case B_QUERY_UPDATE: { - int32 what; - msg->FindInt32("opcode", &what); - switch (what) { + int32 previousCount = fNewMessages; + + int32 opcode = msg->GetInt32("opcode", -1); + switch (opcode) { case B_ENTRY_CREATED: fNewMessages++; break; case B_ENTRY_REMOVED: fNewMessages--; break; + default: + return; } _UpdateNewMessagesNotification(); if (fSettingsFile.ShowStatusWindow() - != B_MAIL_SHOW_STATUS_WINDOW_NEVER) + != B_MAIL_SHOW_STATUS_WINDOW_NEVER + && previousCount < fNewMessages) { fNotification->Send(); + } break; }