Author: kirilla Date: 2010-03-13 13:32:22 +0100 (Sat, 13 Mar 2010) New Revision: 35835 Changeset: http://dev.haiku-os.org/changeset/35835/haiku Added: haiku/trunk/src/apps/mail/MessageStatus.cpp haiku/trunk/src/apps/mail/MessageStatus.h Modified: haiku/trunk/src/apps/mail/Jamfile Log: Adding MessageStatus class, meant to replace booleans passed around. Modified: haiku/trunk/src/apps/mail/Jamfile =================================================================== --- haiku/trunk/src/apps/mail/Jamfile 2010-03-13 12:31:01 UTC (rev 35834) +++ haiku/trunk/src/apps/mail/Jamfile 2010-03-13 12:32:22 UTC (rev 35835) @@ -24,6 +24,7 @@ MailPopUpMenu.cpp MailSupport.cpp MailWindow.cpp + MessageStatus.cpp Prefs.cpp QueryMenu.cpp Signature.cpp Added: haiku/trunk/src/apps/mail/MessageStatus.cpp =================================================================== --- haiku/trunk/src/apps/mail/MessageStatus.cpp (rev 0) +++ haiku/trunk/src/apps/mail/MessageStatus.cpp 2010-03-13 12:32:22 UTC (rev 35835) @@ -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); +} + Added: haiku/trunk/src/apps/mail/MessageStatus.h =================================================================== --- haiku/trunk/src/apps/mail/MessageStatus.h (rev 0) +++ haiku/trunk/src/apps/mail/MessageStatus.h 2010-03-13 12:32:22 UTC (rev 35835) @@ -0,0 +1,41 @@ +#ifndef _MESSAGE_STATUS_H +#define _MESSAGE_STATUS_H + + +#include <SupportDefs.h> + + +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 +