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.
This commit is contained in:
@@ -372,22 +372,27 @@ MailDaemonApplication::MessageReceived(BMessage* msg)
|
|||||||
|
|
||||||
case B_QUERY_UPDATE:
|
case B_QUERY_UPDATE:
|
||||||
{
|
{
|
||||||
int32 what;
|
int32 previousCount = fNewMessages;
|
||||||
msg->FindInt32("opcode", &what);
|
|
||||||
switch (what) {
|
int32 opcode = msg->GetInt32("opcode", -1);
|
||||||
|
switch (opcode) {
|
||||||
case B_ENTRY_CREATED:
|
case B_ENTRY_CREATED:
|
||||||
fNewMessages++;
|
fNewMessages++;
|
||||||
break;
|
break;
|
||||||
case B_ENTRY_REMOVED:
|
case B_ENTRY_REMOVED:
|
||||||
fNewMessages--;
|
fNewMessages--;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_UpdateNewMessagesNotification();
|
_UpdateNewMessagesNotification();
|
||||||
|
|
||||||
if (fSettingsFile.ShowStatusWindow()
|
if (fSettingsFile.ShowStatusWindow()
|
||||||
!= B_MAIL_SHOW_STATUS_WINDOW_NEVER)
|
!= B_MAIL_SHOW_STATUS_WINDOW_NEVER
|
||||||
|
&& previousCount < fNewMessages) {
|
||||||
fNotification->Send();
|
fNotification->Send();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user