From 398bb93961c9a0a9954a87fc035477b1434a3b85 Mon Sep 17 00:00:00 2001
From: Peter Kosyh
Date: Sun, 11 Nov 2018 22:05:06 +0300
Subject: [PATCH] mail: fixes of default notifier (reset)
This fixes POP3 notification messages.
Change-Id: Ic7d9c0bb23c4dc9814f6c4bade0aba367fa28db1
Reviewed-on: https://review.haiku-os.org/685
Reviewed-by: waddlesplash
---
src/servers/mail/DefaultNotifier.cpp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/servers/mail/DefaultNotifier.cpp b/src/servers/mail/DefaultNotifier.cpp
index 66aebf8cf2..f406e260bf 100644
--- a/src/servers/mail/DefaultNotifier.cpp
+++ b/src/servers/mail/DefaultNotifier.cpp
@@ -104,6 +104,8 @@ DefaultNotifier::ReportProgress(uint32 messages, uint64 bytes,
const char* message)
{
fSizeDone += bytes;
+ fItemsDone += messages;
+
if (fTotalSize > 0)
fNotification.SetProgress(fSizeDone / (float)fTotalSize);
else if (fTotalItems > 0) {
@@ -117,8 +119,6 @@ DefaultNotifier::ReportProgress(uint32 messages, uint64 bytes,
fNotification.SetProgress(0);
}
- fItemsDone += messages;
-
BString progress;
progress << message << "\t";
@@ -128,7 +128,7 @@ DefaultNotifier::ReportProgress(uint32 messages, uint64 bytes,
fNotification.SetContent(progress);
int timeout = 0; // Default timeout
- if (fItemsDone == fTotalItems && fTotalItems != 0)
+ if (fItemsDone >= fTotalItems && fTotalItems != 0)
timeout = 1; // We're done, make the window go away faster
_NotifyIfAllowed(timeout);
@@ -138,10 +138,12 @@ DefaultNotifier::ReportProgress(uint32 messages, uint64 bytes,
void
DefaultNotifier::ResetProgress(const char* message)
{
+ fSizeDone = 0;
+ fItemsDone = 0;
fNotification.SetProgress(0);
if (message != NULL)
fNotification.SetTitle(message);
- _NotifyIfAllowed();
+ _NotifyIfAllowed(1); // go away faster
}