From 3a2ed5bb43f1e17d07cfea96218694d3228556d5 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 4 Aug 2011 15:45:52 +0000 Subject: [PATCH] Monotone-Parent: f5f389f6d7ade504ec1c341fe7ef6097e3900ec6 Monotone-Revision: 283b38ddff29574db2599411b54c62d3643b3b5a Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-08-04T15:45:52 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 1 + OpenChange/MAPIStoreDraftsMessage.m | 29 +++++++++++++++++++++++++++++ OpenChange/MAPIStoreMailMessage.h | 2 ++ 3 files changed, 32 insertions(+) diff --git a/ChangeLog b/ChangeLog index f43da2d18..d72fb98f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ overriden method. Made module able to handle SOGoMailObject as well, since we can possibly have such objects as value for sogoObject. + (-getPrImportance:inMemCtx:): overriden method. * OpenChange/MAPIApplication.m (+isCachingEnabled): new overriden method that returns "NO" in order to avoid leaking dictionaries diff --git a/OpenChange/MAPIStoreDraftsMessage.m b/OpenChange/MAPIStoreDraftsMessage.m index 985ae077d..533d3a433 100644 --- a/OpenChange/MAPIStoreDraftsMessage.m +++ b/OpenChange/MAPIStoreDraftsMessage.m @@ -146,6 +146,35 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, [super getMessageData: dataPtr inMemCtx: memCtx]; } +- (int) getPrImportance: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx +{ + uint32_t v; + NSString *s; + + if ([sogoObject isKindOfClass: SOGoDraftObjectK]) + { + if (!headerSetup) + { + [sogoObject fetchInfo]; + headerSetup = YES; + } + s = [[sogoObject headers] objectForKey: @"X-Priority"]; + v = 0x1; + + if ([s hasPrefix: @"1"]) v = 0x2; + else if ([s hasPrefix: @"2"]) v = 0x2; + else if ([s hasPrefix: @"4"]) v = 0x0; + else if ([s hasPrefix: @"5"]) v = 0x0; + + *data = MAPILongValue (memCtx, v); + } + else + [super getPrImportance: data inMemCtx: memCtx]; + + return MAPISTORE_SUCCESS; +} + - (int) getPrMessageFlags: (void **) data inMemCtx: (TALLOC_CTX *) memCtx { diff --git a/OpenChange/MAPIStoreMailMessage.h b/OpenChange/MAPIStoreMailMessage.h index f3add0c81..db5d58966 100644 --- a/OpenChange/MAPIStoreMailMessage.h +++ b/OpenChange/MAPIStoreMailMessage.h @@ -50,6 +50,8 @@ - (int) getPrMessageFlags: (void **) data inMemCtx: (TALLOC_CTX *) memCtx; +- (int) getPrImportance: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx; @end