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 }