From f438ad520ff0b74a25910f92c4df89b1e97fd4bd Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 20 Jul 2011 18:30:05 +0000 Subject: [PATCH] Monotone-Parent: 2cb4c559e76b3864636b0072594c02216e619485 Monotone-Revision: 6573eb6d5779706b5935161822c561cf325f7fa6 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-07-20T18:30:05 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 3 +++ OpenChange/MAPIStoreDraftsMessage.m | 5 +++++ OpenChange/MAPIStoreMailMessage.h | 2 ++ OpenChange/MAPIStoreMailMessage.m | 11 ++++++++--- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66a69843a..92d9ee779 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-07-20 Wolfgang Sourdeau + * OpenChange/MAPIStoreMailMessage.m (-subject): new overridable + accessor common to certain properties. + * OpenChange/MAPIStoreObject.m: moved "-getEmptyString:inMemCtx:", "-getLongZero:inMemCtx:", "-getYes:inMemCtx:", "-getNo:inMemCtx:" into NSObject+MAPIStore.m diff --git a/OpenChange/MAPIStoreDraftsMessage.m b/OpenChange/MAPIStoreDraftsMessage.m index 18cfcfffc..854c137ad 100644 --- a/OpenChange/MAPIStoreDraftsMessage.m +++ b/OpenChange/MAPIStoreDraftsMessage.m @@ -214,6 +214,11 @@ e) [self logWithFormat: @"ignored scheduling message"]; } +- (NSString *) subject +{ + return [[sogoObject headers] objectForKey: @"subject"]; +} + - (NSCalendarDate *) creationTime { return [newProperties objectForKey: MAPIPropertyKey (PR_CREATION_TIME)]; diff --git a/OpenChange/MAPIStoreMailMessage.h b/OpenChange/MAPIStoreMailMessage.h index 476c213b9..2d0e92fdc 100644 --- a/OpenChange/MAPIStoreMailMessage.h +++ b/OpenChange/MAPIStoreMailMessage.h @@ -37,6 +37,8 @@ NSString *bodyCharset; } +- (NSString *) subject; + @end #endif /* MAPISTOREMAILMESSAGE_H */ diff --git a/OpenChange/MAPIStoreMailMessage.m b/OpenChange/MAPIStoreMailMessage.m index 01e968e01..f5a3193fc 100644 --- a/OpenChange/MAPIStoreMailMessage.m +++ b/OpenChange/MAPIStoreMailMessage.m @@ -144,12 +144,17 @@ static Class NSExceptionK, MAPIStoreSentItemsFolderK, MAPIStoreDraftsFolderK; return MAPISTORE_SUCCESS; } +- (NSString *) subject +{ + return [sogoObject decodedSubject]; +} + - (int) getPrSubject: (void **) data inMemCtx: (TALLOC_CTX *) memCtx { NSString *stringValue; - stringValue = [sogoObject decodedSubject]; + stringValue = [self subject]; if (!stringValue) stringValue = @""; *data = [stringValue asUnicodeInMemCtx: memCtx]; @@ -164,7 +169,7 @@ static Class NSExceptionK, MAPIStoreSentItemsFolderK, MAPIStoreDraftsFolderK; NSUInteger colIdx; NSString *stringValue; - subject = [sogoObject decodedSubject]; + subject = [self subject]; colIdx = [subject rangeOfString: @":"].location; if (colIdx != NSNotFound && colIdx < 4) stringValue = [NSString stringWithFormat: @"%@: ", @@ -183,7 +188,7 @@ static Class NSExceptionK, MAPIStoreSentItemsFolderK, MAPIStoreDraftsFolderK; NSUInteger colIdx; NSString *stringValue; - subject = [sogoObject decodedSubject]; + subject = [self subject]; colIdx = [subject rangeOfString: @":"].location; if (colIdx != NSNotFound && colIdx < 4) stringValue = [[subject substringFromIndex: colIdx + 1]