Minor MailNotifier cleanup.
* Renamed to BMailNotifier, as it's part of the public API.
* Renamed Notifier.{cpp|h} to DefaultNotifier.{cpp|h} as that's the class it
implements.
* Made the mail counts uint32, and the byte counts uint64.
This commit is contained in:
@@ -21,18 +21,18 @@
|
|||||||
#include <MailSettings.h>
|
#include <MailSettings.h>
|
||||||
|
|
||||||
|
|
||||||
class MailNotifier {
|
class BMailNotifier {
|
||||||
public:
|
public:
|
||||||
virtual ~MailNotifier() {}
|
virtual ~BMailNotifier() {}
|
||||||
|
|
||||||
virtual MailNotifier* Clone() = 0;
|
virtual BMailNotifier* Clone() = 0;
|
||||||
|
|
||||||
virtual void ShowError(const char* error) = 0;
|
virtual void ShowError(const char* error) = 0;
|
||||||
virtual void ShowMessage(const char* message) = 0;
|
virtual void ShowMessage(const char* message) = 0;
|
||||||
|
|
||||||
virtual void SetTotalItems(int32 items) = 0;
|
virtual void SetTotalItems(uint32 items) = 0;
|
||||||
virtual void SetTotalItemsSize(int32 size) = 0;
|
virtual void SetTotalItemsSize(uint64 size) = 0;
|
||||||
virtual void ReportProgress(int bytes, int messages,
|
virtual void ReportProgress(uint32 messages, uint64 bytes,
|
||||||
const char* message = NULL) = 0;
|
const char* message = NULL) = 0;
|
||||||
virtual void ResetProgress(const char* message = NULL) = 0;
|
virtual void ResetProgress(const char* message = NULL) = 0;
|
||||||
};
|
};
|
||||||
@@ -86,7 +86,7 @@ public:
|
|||||||
//! Does not delete handler
|
//! Does not delete handler
|
||||||
bool RemoveHandler(BHandler* handler);
|
bool RemoveHandler(BHandler* handler);
|
||||||
|
|
||||||
void SetMailNotifier(MailNotifier* mailNotifier);
|
void SetMailNotifier(BMailNotifier* mailNotifier);
|
||||||
|
|
||||||
virtual void ShowError(const char* error);
|
virtual void ShowError(const char* error);
|
||||||
virtual void ShowMessage(const char* message);
|
virtual void ShowMessage(const char* message);
|
||||||
@@ -126,7 +126,7 @@ protected:
|
|||||||
void LoadFilters(MailAddonSettings& settings);
|
void LoadFilters(MailAddonSettings& settings);
|
||||||
|
|
||||||
BMailAccountSettings fAccountSettings;
|
BMailAccountSettings fAccountSettings;
|
||||||
MailNotifier* fMailNotifier;
|
BMailNotifier* fMailNotifier;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MailFilter* _LoadFilter(AddonSettings* filterSettings);
|
MailFilter* _LoadFilter(AddonSettings* filterSettings);
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ MailProtocol::RemoveHandler(BHandler* handler)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MailProtocol::SetMailNotifier(MailNotifier* mailNotifier)
|
MailProtocol::SetMailNotifier(BMailNotifier* mailNotifier)
|
||||||
{
|
{
|
||||||
delete fMailNotifier;
|
delete fMailNotifier;
|
||||||
fMailNotifier = mailNotifier;
|
fMailNotifier = mailNotifier;
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2011, Haiku, Inc. All rights reserved.
|
* Copyright 2011-2012, Haiku, Inc. All rights reserved.
|
||||||
* Copyright 2011, Clemens Zeidler <haiku@clemens-zeidler.de>
|
* Copyright 2011, Clemens Zeidler <haiku@clemens-zeidler.de>
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "DefaultNotifier.h"
|
||||||
|
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <IconUtils.h>
|
#include <IconUtils.h>
|
||||||
#include <MailDaemon.h>
|
#include <MailDaemon.h>
|
||||||
#include <Roster.h>
|
#include <Roster.h>
|
||||||
|
|
||||||
#include "Notifier.h"
|
|
||||||
|
|
||||||
|
|
||||||
#undef B_TRANSLATION_CONTEXT
|
#undef B_TRANSLATION_CONTEXT
|
||||||
#define B_TRANSLATION_CONTEXT "Notifier"
|
#define B_TRANSLATION_CONTEXT "Notifier"
|
||||||
@@ -30,12 +30,9 @@ DefaultNotifier::DefaultNotifier(const char* accountName, bool inbound,
|
|||||||
fTotalSize(0),
|
fTotalSize(0),
|
||||||
fSizeDone(0)
|
fSizeDone(0)
|
||||||
{
|
{
|
||||||
BString desc;
|
BString desc(fIsInbound ? B_TRANSLATE("Fetching mail for %name")
|
||||||
if (fIsInbound == true)
|
: B_TRANSLATE("Sending mail for %name"));
|
||||||
desc << B_TRANSLATE("Fetching mail for %name");
|
desc.ReplaceFirst("%name", fAccountName);
|
||||||
else
|
|
||||||
desc << B_TRANSLATE("Sending mail for %name");
|
|
||||||
desc.ReplaceFirst("%name", fAccountName);
|
|
||||||
|
|
||||||
BString identifier;
|
BString identifier;
|
||||||
identifier << accountName << inbound;
|
identifier << accountName << inbound;
|
||||||
@@ -59,10 +56,11 @@ DefaultNotifier::~DefaultNotifier()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MailNotifier*
|
BMailNotifier*
|
||||||
DefaultNotifier::Clone()
|
DefaultNotifier::Clone()
|
||||||
{
|
{
|
||||||
return new DefaultNotifier(fAccountName, fIsInbound, fErrorWindow, fShowMode);
|
return new DefaultNotifier(fAccountName, fIsInbound, fErrorWindow,
|
||||||
|
fShowMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -81,7 +79,7 @@ DefaultNotifier::ShowMessage(const char* message)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DefaultNotifier::SetTotalItems(int32 items)
|
DefaultNotifier::SetTotalItems(uint32 items)
|
||||||
{
|
{
|
||||||
fTotalItems = items;
|
fTotalItems = items;
|
||||||
BString progress;
|
BString progress;
|
||||||
@@ -91,7 +89,7 @@ DefaultNotifier::SetTotalItems(int32 items)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DefaultNotifier::SetTotalItemsSize(int32 size)
|
DefaultNotifier::SetTotalItemsSize(uint64 size)
|
||||||
{
|
{
|
||||||
fTotalSize = size;
|
fTotalSize = size;
|
||||||
fNotification.SetProgress(fSizeDone / (float)fTotalSize);
|
fNotification.SetProgress(fSizeDone / (float)fTotalSize);
|
||||||
@@ -99,7 +97,8 @@ DefaultNotifier::SetTotalItemsSize(int32 size)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
DefaultNotifier::ReportProgress(int bytes, int messages, const char* message)
|
DefaultNotifier::ReportProgress(uint32 messages, uint64 bytes,
|
||||||
|
const char* message)
|
||||||
{
|
{
|
||||||
fSizeDone += bytes;
|
fSizeDone += bytes;
|
||||||
if (fTotalSize > 0)
|
if (fTotalSize > 0)
|
||||||
@@ -107,11 +106,10 @@ DefaultNotifier::ReportProgress(int bytes, int messages, const char* message)
|
|||||||
else if (fTotalItems > 0) {
|
else if (fTotalItems > 0) {
|
||||||
// No size information available
|
// No size information available
|
||||||
// Report progress in terms of message count instead
|
// Report progress in terms of message count instead
|
||||||
|
|
||||||
fNotification.SetProgress(fItemsDone / (float)fTotalItems);
|
fNotification.SetProgress(fItemsDone / (float)fTotalItems);
|
||||||
} else {
|
} else {
|
||||||
// No message count information either
|
// No message count information either
|
||||||
// TODO we should use a B_INFORMATION_NOTIFICATION here, but it is not
|
// TODO: we should use a B_INFORMATION_NOTIFICATION here, but it is not
|
||||||
// possible to change the BNotification type after creating it...
|
// possible to change the BNotification type after creating it...
|
||||||
fNotification.SetProgress(0);
|
fNotification.SetProgress(0);
|
||||||
}
|
}
|
||||||
@@ -119,7 +117,6 @@ DefaultNotifier::ReportProgress(int bytes, int messages, const char* message)
|
|||||||
fItemsDone += messages;
|
fItemsDone += messages;
|
||||||
|
|
||||||
BString progress;
|
BString progress;
|
||||||
|
|
||||||
progress << message << "\t";
|
progress << message << "\t";
|
||||||
|
|
||||||
if (fTotalItems > 0)
|
if (fTotalItems > 0)
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2011, Haiku, Inc. All rights reserved.
|
* Copyright 2011-2012, Haiku, Inc. All rights reserved.
|
||||||
* Copyright 2011, Clemens Zeidler <haiku@clemens-zeidler.de>
|
* Copyright 2011, Clemens Zeidler <haiku@clemens-zeidler.de>
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#ifndef NOTIFIER_H
|
#ifndef DEFAULT_NOTIFIER_H
|
||||||
#define NOTIFIER_H
|
#define DEFAULT_NOTIFIER_H
|
||||||
|
|
||||||
|
|
||||||
#include <Notification.h>
|
#include <Notification.h>
|
||||||
@@ -16,21 +16,21 @@
|
|||||||
#include "StatusWindow.h"
|
#include "StatusWindow.h"
|
||||||
|
|
||||||
|
|
||||||
class DefaultNotifier : public MailNotifier {
|
class DefaultNotifier : public BMailNotifier {
|
||||||
public:
|
public:
|
||||||
DefaultNotifier(const char* accountName,
|
DefaultNotifier(const char* accountName,
|
||||||
bool inbound, ErrorLogWindow* errorWindow,
|
bool inbound, ErrorLogWindow* errorWindow,
|
||||||
uint32& showMode);
|
uint32& showMode);
|
||||||
~DefaultNotifier();
|
~DefaultNotifier();
|
||||||
|
|
||||||
MailNotifier* Clone();
|
BMailNotifier* Clone();
|
||||||
|
|
||||||
void ShowError(const char* error);
|
void ShowError(const char* error);
|
||||||
void ShowMessage(const char* message);
|
void ShowMessage(const char* message);
|
||||||
|
|
||||||
void SetTotalItems(int32 items);
|
void SetTotalItems(uint32 items);
|
||||||
void SetTotalItemsSize(int32 size);
|
void SetTotalItemsSize(uint64 size);
|
||||||
void ReportProgress(int bytes, int messages,
|
void ReportProgress(uint32 messages, uint64 bytes,
|
||||||
const char* message = NULL);
|
const char* message = NULL);
|
||||||
void ResetProgress(const char* message = NULL);
|
void ResetProgress(const char* message = NULL);
|
||||||
|
|
||||||
@@ -41,10 +41,11 @@ private:
|
|||||||
BNotification fNotification;
|
BNotification fNotification;
|
||||||
uint32& fShowMode;
|
uint32& fShowMode;
|
||||||
|
|
||||||
int fTotalItems;
|
uint32 fTotalItems;
|
||||||
int fItemsDone;
|
uint32 fItemsDone;
|
||||||
int fTotalSize;
|
uint64 fTotalSize;
|
||||||
int fSizeDone;
|
uint64 fSizeDone;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //NOTIFIER_H
|
|
||||||
|
#endif // DEFAULT_NOTIFIER_H
|
||||||
@@ -18,7 +18,7 @@ Server mail_daemon :
|
|||||||
LEDAnimation.cpp
|
LEDAnimation.cpp
|
||||||
MailDaemon.cpp
|
MailDaemon.cpp
|
||||||
main.cpp
|
main.cpp
|
||||||
Notifier.cpp
|
DefaultNotifier.cpp
|
||||||
: be libmail.so tracker localestub [ TargetLibstdc++ ]
|
: be libmail.so tracker localestub [ TargetLibstdc++ ]
|
||||||
$(TARGET_NETWORK_LIBS)
|
$(TARGET_NETWORK_LIBS)
|
||||||
;
|
;
|
||||||
@@ -28,5 +28,5 @@ DoCatalogs mail_daemon :
|
|||||||
:
|
:
|
||||||
DeskbarView.cpp
|
DeskbarView.cpp
|
||||||
MailDaemon.cpp
|
MailDaemon.cpp
|
||||||
Notifier.cpp
|
DefaultNotifier.cpp
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user