see changelog

Monotone-Parent: 1011e8e7cab7e718b62aa03f637fa6a37349d95c
Monotone-Revision: 06aa9d65ffbfa422bd62686e09571834da68af2f

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2007-11-25T17:26:56
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2007-11-25 17:26:56 +00:00
parent 047010bfa4
commit c08f067ee9
7 changed files with 62 additions and 14 deletions

View File

@ -1,3 +1,32 @@
2007-11-25 Ludovic Marcotte <ludovic@inverse.ca>
* SoObjects/Mailer/SOGoMailForward.m
Use [sourceMail decodedSubject] instead of [sourceMail subject]
Signature fix in -signature - see the comment
for SOGoMailReply.
* SoObjects/Mailer/SOGoMailObject.m
Improved -stringFromData: to try UTF-8 then fallback to Latin1
* SoObjects/Mailer/SOGoMailReply.m
Modified -messageBody to strip the signature from the reply.
Also modified -signature to add "-- \n%@" instead of the
broken ""--\r\n%@" pattern.
* UI/MailPartViewers/UIxMailPartAlternativeViewer.m
We now favor text/calendar parts over text/html and
text/plain parts when viewing a multipart/alternative mail.
This allows us to show the email invitations coming from
Microsoft Outlook.
* UI/MailerUI/UIxMailAccountActions.m
Signature fix in -composeAction - see the comment
for SOGoMailReply.
* UI/MailPartViewers/UIxMailPartViewer.m
Modified -flatContentAsString to use UTF-8 as the
default fallback encoding for 8-bit content.
2007-11-22 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2007-11-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/MailPartViewers/UIxMailRenderingContext.m * UI/MailPartViewers/UIxMailRenderingContext.m

View File

@ -55,7 +55,7 @@
- (NSString *) subject - (NSString *) subject
{ {
return [sourceMail subject]; return [sourceMail decodedSubject];
} }
- (NSString *) date - (NSString *) date
@ -155,7 +155,7 @@
signature = [[context activeUser] signature]; signature = [[context activeUser] signature];
if ([signature length]) if ([signature length])
mailSignature = [NSString stringWithFormat: @"--\r\n%@", signature]; mailSignature = [NSString stringWithFormat: @"-- \n%@", signature];
else else
mailSignature = @""; mailSignature = @"";

View File

@ -659,17 +659,21 @@ static BOOL debugSoParts = NO;
charset = [[_info valueForKey: @"parameterList"] valueForKey: @"charset"]; charset = [[_info valueForKey: @"parameterList"] valueForKey: @"charset"];
if (![charset length]) if (![charset length])
{ {
s = [[NSString alloc] initWithData: mailData encoding: NSUTF8StringEncoding]; s = nil;
[s autorelease];
} }
else else
{ {
s = [NSString stringWithData: mailData usingEncodingNamed: charset]; s = [NSString stringWithData: mailData usingEncodingNamed: charset];
// If it has failed, we try at least using UTF-8. Normally, this can NOT fail
if (!s)
s = [[[NSString alloc] initWithData: mailData encoding: NSISOLatin1StringEncoding] autorelease];
} }
// If it has failed, we try at least using UTF-8. Normally, this can NOT fail.
// Unfortunately, it seems to fail under GNUstep so we try latin1 if that's
// the case
if (!s)
s = [[[NSString alloc] initWithData: mailData encoding: NSUTF8StringEncoding] autorelease];
if (!s)
s = [[[NSString alloc] initWithData: mailData encoding: NSISOLatin1StringEncoding] autorelease];
} }
else else
s = nil; s = nil;

View File

@ -70,7 +70,21 @@
- (NSString *) messageBody - (NSString *) messageBody
{ {
return [[sourceMail contentForEditing] stringByApplyingMailQuoting]; NSString *s;
s = [sourceMail contentForEditing];
if (s)
{
NSRange r;
r = [s rangeOfString: @"\n-- \n" options: NSBackwardsSearch];
if (r.length)
s = [s substringToIndex: r.location];
}
return [s stringByApplyingMailQuoting];
} }
- (NSString *) signature - (NSString *) signature
@ -79,7 +93,7 @@
signature = [[context activeUser] signature]; signature = [[context activeUser] signature];
if ([signature length]) if ([signature length])
mailSignature = [NSString stringWithFormat: @"--\r\n%@", signature]; mailSignature = [NSString stringWithFormat: @"-- \n%@", signature];
else else
mailSignature = @""; mailSignature = @"";

View File

@ -92,6 +92,8 @@
if ((count = [_types count]) == 0) if ((count = [_types count]) == 0)
return NSNotFound; return NSNotFound;
if ((i = [_types indexOfObject:@"text/calendar"]) != NSNotFound)
return i;
if ((i = [_types indexOfObject:@"text/html"]) != NSNotFound) if ((i = [_types indexOfObject:@"text/html"]) != NSNotFound)
return i; return i;
if ((i = [_types indexOfObject:@"text/plain"]) != NSNotFound) if ((i = [_types indexOfObject:@"text/plain"]) != NSNotFound)

View File

@ -183,10 +183,9 @@
s = [NSString stringWithData: content usingEncodingNamed: charset]; s = [NSString stringWithData: content usingEncodingNamed: charset];
if (![s length]) if (![s length])
{ {
/* latin 1 is used as a 8bit fallback charset... but does this /* UTF-8 is used as a 8bit fallback charset... */
encoding accept any byte from 0 to 255? */
s = [[NSString alloc] initWithData: content s = [[NSString alloc] initWithData: content
encoding: NSISOLatin1StringEncoding]; encoding: NSUTF8StringEncoding];
[s autorelease]; [s autorelease];
} }

View File

@ -168,7 +168,7 @@
if ([signature length]) if ([signature length])
{ {
[newDraftMessage [newDraftMessage
setText: [NSString stringWithFormat: @"\r\n--\r\n%@", signature]]; setText: [NSString stringWithFormat: @"\n-- \n%@", signature]];
save = YES; save = YES;
} }
if (save) if (save)