diff --git a/OpenChange/MAPIStoreDraftsMessage.m b/OpenChange/MAPIStoreDraftsMessage.m index ec199c0da..282abb780 100644 --- a/OpenChange/MAPIStoreDraftsMessage.m +++ b/OpenChange/MAPIStoreDraftsMessage.m @@ -33,6 +33,7 @@ #import "MAPIStoreContext.h" #import "MAPIStoreTypes.h" +#import "NSObject+MAPIStore.h" #import "NSString+MAPIStore.h" #import "MAPIStoreDraftsMessage.h" @@ -147,6 +148,22 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, [super getMessageData: dataPtr inMemCtx: memCtx]; } +- (int) getPrIconIndex: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx +{ + int rc; + + if ([sogoObject isKindOfClass: SOGoDraftObjectK]) + { + *data = MAPILongValue (memCtx, 0xffffffff); + rc = MAPISTORE_SUCCESS; + } + else + rc = [super getPrIconIndex: data inMemCtx: memCtx]; + + return rc; +} + - (int) getPrImportance: (void **) data inMemCtx: (TALLOC_CTX *) memCtx { @@ -197,6 +214,14 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, return rc; } +- (int) getPrFlagStatus: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx +{ + return ([sogoObject isKindOfClass: SOGoDraftObjectK] + ? [self getLongZero: data inMemCtx: memCtx] + : [super getPrFlagStatus: data inMemCtx: memCtx]); +} + - (void) _saveAttachment: (NSString *) attachmentKey { NSDictionary *properties, *metadata; diff --git a/OpenChange/MAPIStoreMailMessage.h b/OpenChange/MAPIStoreMailMessage.h index 430c0f80d..a8c56a530 100644 --- a/OpenChange/MAPIStoreMailMessage.h +++ b/OpenChange/MAPIStoreMailMessage.h @@ -48,6 +48,11 @@ - (NSString *) subject; +- (int) getPrIconIndex: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx; +- (int) getPrFlagStatus: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx; + - (int) getPrMessageFlags: (void **) data inMemCtx: (TALLOC_CTX *) memCtx; - (int) getPrImportance: (void **) data