diff --git a/src/apps/mail/Jamfile b/src/apps/mail/Jamfile index 7c65adcda3..99e7186629 100644 --- a/src/apps/mail/Jamfile +++ b/src/apps/mail/Jamfile @@ -24,6 +24,7 @@ Application Mail : MailPopUpMenu.cpp MailSupport.cpp MailWindow.cpp + MessageStatus.cpp Prefs.cpp QueryMenu.cpp Signature.cpp diff --git a/src/apps/mail/MessageStatus.cpp b/src/apps/mail/MessageStatus.cpp new file mode 100644 index 0000000000..380eb248c6 --- /dev/null +++ b/src/apps/mail/MessageStatus.cpp @@ -0,0 +1,85 @@ +#include "MessageStatus.h" + + +MessageStatus::MessageStatus() + : + fStatus(MAIL_WRITING) +{ + +} + + +MessageStatus::~MessageStatus() +{ + +} + + +void +MessageStatus::SetStatus(messageStatus status) +{ + fStatus = status; +} + + +messageStatus +MessageStatus::Status() +{ + return fStatus; +} + + +bool +MessageStatus::Reading() +{ + return fStatus == MAIL_READING; +} + + +bool +MessageStatus::Writing() +{ + return fStatus == MAIL_WRITING; +} + + +bool +MessageStatus::WritingDraft() +{ + return fStatus == MAIL_WRITING_DRAFT; +} + + +bool +MessageStatus::Replying() +{ + return fStatus == MAIL_REPLYING; +} + + +bool +MessageStatus::Forwarding() +{ + return fStatus == MAIL_FORWARDING; +} + + +bool +MessageStatus::Outgoing() +{ + return (fStatus == MAIL_WRITING + || fStatus == MAIL_WRITING_DRAFT + || fStatus == MAIL_REPLYING + || fStatus == MAIL_FORWARDING); +} + + +bool +MessageStatus::MailIsOnDisk() +{ + return (fStatus == MAIL_READING + || fStatus == MAIL_WRITING_DRAFT + || fStatus == MAIL_REPLYING + || fStatus == MAIL_FORWARDING); +} + diff --git a/src/apps/mail/MessageStatus.h b/src/apps/mail/MessageStatus.h new file mode 100644 index 0000000000..75b0d653d9 --- /dev/null +++ b/src/apps/mail/MessageStatus.h @@ -0,0 +1,41 @@ +#ifndef _MESSAGE_STATUS_H +#define _MESSAGE_STATUS_H + + +#include + + +enum messageStatus { + MAIL_READING = 0, + MAIL_WRITING, + MAIL_WRITING_DRAFT, + MAIL_REPLYING, + MAIL_FORWARDING +}; + + +class MessageStatus { +public: + MessageStatus(); + ~MessageStatus(); + + void SetStatus(messageStatus status); + messageStatus Status(); + + bool Reading(); + bool Writing(); + bool WritingDraft(); + bool Replying(); + bool Forwarding(); + + bool Outgoing(); + + bool MailIsOnDisk(); + +private: + messageStatus fStatus; +}; + + +#endif // _MESSAGE_STATUS_H +