fix(mail): Fix inline pdf attachement issue when Hide inline attachment option is set. Now the option hides only inline images.

This commit is contained in:
smizrahi
2024-01-17 10:06:19 +01:00
parent 7104ae6d23
commit a6fc83c35b
6 changed files with 44 additions and 11 deletions
+16 -3
View File
@@ -31,9 +31,13 @@
#import <UI/MailerUI/WOContext+UIxMailer.h>
#import <Mailer/SOGoMailBodyPart.h>
#import "UIxMailRenderingContext.h"
#import "UIxMailPartMixedViewer.h"
@class SOGoImageMailBodyPart;
@implementation UIxMailPartMixedViewer
- (void) dealloc
@@ -101,6 +105,7 @@
id viewer, info;
NSArray *parts;
SOGoUserDefaults *ud;
BOOL displayAttachment;
NSUInteger i, max;
@@ -127,13 +132,21 @@
viewer = [[[self context] mailRenderingContext] viewerForBodyInfo: info];
[viewer setBodyInfo: info];
[viewer setPartPath: [self childPartPath]];
if ([self decodedFlatContent])
[viewer setDecodedContent: [parts objectAtIndex: i]];
[viewer setAttachmentIds: attachmentIds
displayAttachment:!([info objectForKey:@"disposition"]
contentType = [NSString stringWithFormat: @"%@/%@",
[info objectForKey: @"type"],
[info objectForKey: @"subtype"]];
displayAttachment = !([info objectForKey:@"disposition"]
&& [[info objectForKey:@"disposition"] objectForKey:@"type"]
&& [[[[info objectForKey:@"disposition"] objectForKey:@"type"] uppercaseString] isEqualToString:@"INLINE"]
&& [ud hideInlineAttachments])];
&& [ud hideInlineAttachments]
&& [SOGoMailBodyPart bodyPartClassForMimeType: [contentType lowercaseString] inContext: [self context]] == [SOGoImageMailBodyPart class]);
[viewer setAttachmentIds: attachmentIds
displayAttachment: displayAttachment];
[renderedParts addObject: [viewer renderedPart]];
}