aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/renderer/MCAddressDisplay.cpp
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-02-02 21:00:20 -0800
committerGravatar DINH Viet Hoa <dinh.viet.hoa@gmail.com>2013-02-02 21:00:20 -0800
commit2319ee53c7318b31340ef8356693a5008385180b (patch)
tree4b6766fbc1e3d59d95700cd88417b77ac50870a5 /src/core/renderer/MCAddressDisplay.cpp
parentb21a8e209974ad04e9cff02e225e772246c00c89 (diff)
Implemented HTML rendering of messages
Diffstat (limited to 'src/core/renderer/MCAddressDisplay.cpp')
-rw-r--r--src/core/renderer/MCAddressDisplay.cpp94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/core/renderer/MCAddressDisplay.cpp b/src/core/renderer/MCAddressDisplay.cpp
new file mode 100644
index 00000000..842dd0df
--- /dev/null
+++ b/src/core/renderer/MCAddressDisplay.cpp
@@ -0,0 +1,94 @@
+//
+// MCAddressUI.cpp
+// testUI
+//
+// Created by DINH Viêt Hoà on 1/27/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#include "MCAddressDisplay.h"
+
+using namespace mailcore;
+
+String * AddressDisplay::displayStringForAddress(Address * address)
+{
+ return address->nonEncodedRFC822String();
+}
+
+String * AddressDisplay::shortDisplayStringForAddress(Address * address)
+{
+ if ((address->displayName() != NULL) && (address->displayName()->length() > 0)) {
+ return address->displayName();
+ }
+ else if (address->mailbox()) {
+ return address->mailbox();
+ }
+ else {
+ return MCSTR("invalid");
+ }
+}
+
+String * AddressDisplay::veryShortDisplayStringForAddress(Address * address)
+{
+ if ((address->displayName() != NULL) && (address->displayName()->length() > 0)) {
+ Array * components;
+ String * senderName;
+
+ senderName = address->displayName();
+ senderName = (String *) senderName->copy()->autorelease();
+
+ senderName->replaceOccurrencesOfString(MCSTR(","), MCSTR(" "));
+ senderName->replaceOccurrencesOfString(MCSTR("'"), MCSTR(" "));
+ senderName->replaceOccurrencesOfString(MCSTR("\""), MCSTR(" "));
+ components = senderName->componentsSeparatedByString(MCSTR(" "));
+ if (components->count() == 0) {
+ return MCLOCALIZEDSTRING(MCSTR("invalid"));
+ }
+ return (String *) components->objectAtIndex(0);
+ }
+ else if (address->mailbox()) {
+ return address->mailbox();
+ }
+ else {
+ return MCLOCALIZEDSTRING(MCSTR("invalid"));
+ }
+}
+
+String * AddressDisplay::displayStringForAddresses(Array * addresses)
+{
+ String * result = String::string();
+ for(unsigned int i = 0 ; i < addresses->count() ; i ++) {
+ Address * address = (Address *) addresses->objectAtIndex(i);
+ if (i != 0) {
+ result->appendString(MCSTR(", "));
+ }
+ result->appendString(displayStringForAddress(address));
+ }
+ return result;
+}
+
+String * AddressDisplay::shortDisplayStringForAddresses(Array * addresses)
+{
+ String * result = String::string();
+ for(unsigned int i = 0 ; i < addresses->count() ; i ++) {
+ Address * address = (Address *) addresses->objectAtIndex(i);
+ if (i != 0) {
+ result->appendString(MCSTR(", "));
+ }
+ result->appendString(shortDisplayStringForAddress(address));
+ }
+ return result;
+}
+
+String * AddressDisplay::veryShortDisplayStringForAddresses(Array * addresses)
+{
+ String * result = String::string();
+ for(unsigned int i = 0 ; i < addresses->count() ; i ++) {
+ Address * address = (Address *) addresses->objectAtIndex(i);
+ if (i != 0) {
+ result->appendString(MCSTR(", "));
+ }
+ result->appendString(veryShortDisplayStringForAddress(address));
+ }
+ return result;
+}