fix(mail): use default signature when forcing default identity
parent
d4a0b25c06
commit
dc81f70928
|
@ -30,7 +30,7 @@
|
||||||
SOGoMailObject *sourceMail;
|
SOGoMailObject *sourceMail;
|
||||||
NSString *field;
|
NSString *field;
|
||||||
NSString *currentValue;
|
NSString *currentValue;
|
||||||
BOOL htmlComposition;
|
BOOL htmlComposition, forceDefaultIdentity;
|
||||||
NSString *signaturePlacement;
|
NSString *signaturePlacement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,8 +42,8 @@
|
||||||
if ((self = [super init]))
|
if ((self = [super init]))
|
||||||
{
|
{
|
||||||
ud = [[context activeUser] userDefaults];
|
ud = [[context activeUser] userDefaults];
|
||||||
htmlComposition
|
htmlComposition = [[ud mailComposeMessageType] isEqualToString: @"html"];
|
||||||
= [[ud mailComposeMessageType] isEqualToString: @"html"];
|
forceDefaultIdentity = [ud mailForceDefaultIdentity];
|
||||||
sourceMail = nil;
|
sourceMail = nil;
|
||||||
currentValue = nil;
|
currentValue = nil;
|
||||||
}
|
}
|
||||||
|
@ -243,23 +243,27 @@
|
||||||
NSString *email, *signature, *mailSignature, *nl, *space;
|
NSString *email, *signature, *mailSignature, *nl, *space;
|
||||||
int count, max;
|
int count, max;
|
||||||
|
|
||||||
fromSentMailbox = [[sourceMail container] isKindOfClass: [SOGoSentFolder class]];
|
|
||||||
if (fromSentMailbox)
|
|
||||||
addresses = [sourceMail fromEnvelopeAddresses];
|
|
||||||
else
|
|
||||||
addresses = [sourceMail toEnvelopeAddresses];
|
|
||||||
identity = nil;
|
identity = nil;
|
||||||
mailSignature = @"";
|
mailSignature = @"";
|
||||||
max = [addresses count];
|
|
||||||
|
|
||||||
if (max)
|
if (!forceDefaultIdentity)
|
||||||
{
|
{
|
||||||
// Pick the first email matching one of the account's identities
|
fromSentMailbox = [[sourceMail container] isKindOfClass: [SOGoSentFolder class]];
|
||||||
for (count = 0; !identity && count < max; count++)
|
if (fromSentMailbox)
|
||||||
|
addresses = [sourceMail fromEnvelopeAddresses];
|
||||||
|
else
|
||||||
|
addresses = [sourceMail toEnvelopeAddresses];
|
||||||
|
max = [addresses count];
|
||||||
|
|
||||||
|
if (max)
|
||||||
{
|
{
|
||||||
address = [addresses objectAtIndex: count];
|
// Pick the first email matching one of the account's identities
|
||||||
email = [address baseEMail];
|
for (count = 0; !identity && count < max; count++)
|
||||||
identity = [[sourceMail mailAccountFolder] identityForEmail: email];
|
{
|
||||||
|
address = [addresses objectAtIndex: count];
|
||||||
|
email = [address baseEMail];
|
||||||
|
identity = [[sourceMail mailAccountFolder] identityForEmail: email];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1309,8 +1309,8 @@ static NSArray *reminderValues = nil;
|
||||||
[target setObject: identities forKey: @"SOGoMailIdentities"];
|
[target setObject: identities forKey: @"SOGoMailIdentities"];
|
||||||
if ([[account objectForKey: @"forceDefaultIdentity"] boolValue])
|
if ([[account objectForKey: @"forceDefaultIdentity"] boolValue])
|
||||||
[target setObject: [NSNumber numberWithBool: YES] forKey: @"SOGoMailForceDefaultIdentity"];
|
[target setObject: [NSNumber numberWithBool: YES] forKey: @"SOGoMailForceDefaultIdentity"];
|
||||||
else if ([target objectForKey: @"SOGoMailforceDefaultIdentity"])
|
else if ([target objectForKey: @"SOGoMailForceDefaultIdentity"])
|
||||||
[target removeObjectForKey: @"SOGoMailforceDefaultIdentity"];
|
[target removeObjectForKey: @"SOGoMailForceDefaultIdentity"];
|
||||||
[self _extractMainReceiptsPreferences: [account objectForKey: @"receipts"] inDictionary: target];
|
[self _extractMainReceiptsPreferences: [account objectForKey: @"receipts"] inDictionary: target];
|
||||||
[self _extractMainSecurityPreferences: [account objectForKey: @"security"] inDictionary: target];
|
[self _extractMainSecurityPreferences: [account objectForKey: @"security"] inDictionary: target];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue