From 5975d86a385243a2d4c56b91d545b26ac9273b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sundstr=C3=B6m?= Date: Sat, 13 Mar 2010 12:32:22 +0000 Subject: [PATCH] Adding MessageStatus class, meant to replace booleans passed around. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35835 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/mail/Jamfile | 1 + src/apps/mail/MessageStatus.cpp | 85 +++++++++++++++++++++++++++++++++ src/apps/mail/MessageStatus.h | 41 ++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 src/apps/mail/MessageStatus.cpp create mode 100644 src/apps/mail/MessageStatus.h 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 +