Monotone-Parent: 64e49d499c79080e88278175b2826dfc85d1c635

Monotone-Revision: 9c563a19a8b6747bd6b2c53b4aec14e16c3a623e

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-11-22T17:32:44
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2007-11-22 17:32:44 +00:00
parent 1a58f1b4f9
commit 9e7fd1b166
5 changed files with 49 additions and 35 deletions

View File

@ -1,5 +1,15 @@
2007-11-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/MailPartViewers/UIxMailRenderingContext.m
([UIxMailRenderingContext -viewerForBodyInfo:_info]): same as below.
* SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
-plainTextContentFetchKeys]): same as below.
* SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart
+bodyPartClassForMimeType:mimeTypeinContext:_ctx]): accept the
application/ics type from Google Calendar.
* SoObjects/SOGo/NSCalendarDate+SOGo.m ([NSCalendarDate
+distantFuture]): rewrote method to return an object that is
compatible with NSCalendarDate, unlike the implementation in

View File

@ -360,7 +360,8 @@ static BOOL debugOn = NO;
|| [mimeType isEqualToString: @"image/jpg"]
|| [mimeType isEqualToString: @"image/jpeg"])
classString = @"SOGoImageMailBodyPart";
else if ([mimeType isEqualToString: @"text/calendar"])
else if ([mimeType isEqualToString: @"text/calendar"]
|| [mimeType isEqualToString: @"application/ics"])
classString = @"SOGoCalendarMailBodyPart";
else if ([mimeType isEqualToString: @"text/x-vcard"])
classString = @"SOGoVCardMailBodyPart";

View File

@ -585,7 +585,8 @@ static BOOL debugSoParts = NO;
NSArray *types;
types = [NSArray arrayWithObjects: @"text/plain", @"text/html",
@"text/calendar", @"application/pgp-signature", nil];
@"text/calendar", @"application/ics",
@"application/pgp-signature", nil];
ma = [NSMutableArray arrayWithCapacity: 4];
[self addRequiredKeysOfStructure: [self bodyStructure]
path: @"" toArray: ma acceptedTypes: types];

View File

@ -13,7 +13,7 @@ cancel_info_text = "Your invitation or the whole event was canceled.";
request_info_no_attendee = "is proposing a meeting to the attendees. You receive this mail as a notification, you are not scheduled as a participant.";
Appointment = "Appointment";
Organizer = "Organisateur";
Organizer = "Organizer";
Time = "Time";
Attendees = "Attendees";
request_info = "invites you to participate in a meeting.";

View File

@ -265,22 +265,22 @@ static BOOL showNamedTextAttachmentsInline = NO;
else if ([st isEqualToString:@"alternative"])
return [self alternativeViewer];
if ([st isEqualToString:@"report"])
/* this is used by mail-delivery reports */
return [self mixedViewer];
if ([st isEqualToString:@"report"])
/* this is used by mail-delivery reports */
return [self mixedViewer];
}
else if ([mt isEqualToString:@"text"])
{
if ([st isEqualToString:@"plain"] || [st isEqualToString:@"html"]) {
if (!showNamedTextAttachmentsInline && [self _shouldDisplayAsAttachment: _info])
return [self linkViewer];
if ([st isEqualToString:@"plain"] || [st isEqualToString:@"html"]) {
if (!showNamedTextAttachmentsInline && [self _shouldDisplayAsAttachment: _info])
return [self linkViewer];
return [st isEqualToString:@"html"]
? [self htmlViewer] : [self textViewer];
}
return [st isEqualToString:@"html"]
? [self htmlViewer] : [self textViewer];
}
if ([st isEqualToString:@"calendar"])
return [self iCalViewer];
if ([st isEqualToString:@"calendar"])
return [self iCalViewer];
}
if ([mt isEqualToString:@"image"])
@ -307,7 +307,7 @@ static BOOL showNamedTextAttachmentsInline = NO;
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; host plop.com[64.39.31.55] said: 550 5.7.1
<ioioi@plop.com>... Relaying denied
<ioioi@plop.com>... Relaying denied
*/
// Note: we cannot use the text viewer because the body is not pre-fetched
return [self linkViewer];
@ -317,28 +317,30 @@ static BOOL showNamedTextAttachmentsInline = NO;
{
// octet-stream (generate download link?, autodetect type?)
if ([st hasPrefix:@"x-vnd.kolab."])
{
if ([st isEqualToString:@"x-vnd.kolab.contact"])
return [self kolabContactViewer];
if ([st isEqualToString:@"x-vnd.kolab.event"])
return [self kolabEventViewer];
if ([st isEqualToString:@"x-vnd.kolab.task"])
return [self kolabTodoViewer];
if ([st isEqualToString:@"x-vnd.kolab.note"])
return [self kolabNoteViewer];
if ([st isEqualToString:@"x-vnd.kolab.journal"])
return [self kolabJournalViewer];
if ([st isEqualToString:@"x-vnd.kolab.contact.distlist"])
return [self kolabDistributionListViewer];
if ([st hasPrefix:@"x-vnd.kolab."])
{
if ([st isEqualToString:@"x-vnd.kolab.contact"])
return [self kolabContactViewer];
if ([st isEqualToString:@"x-vnd.kolab.event"])
return [self kolabEventViewer];
if ([st isEqualToString:@"x-vnd.kolab.task"])
return [self kolabTodoViewer];
if ([st isEqualToString:@"x-vnd.kolab.note"])
return [self kolabNoteViewer];
if ([st isEqualToString:@"x-vnd.kolab.journal"])
return [self kolabJournalViewer];
if ([st isEqualToString:@"x-vnd.kolab.contact.distlist"])
return [self kolabDistributionListViewer];
[self errorWithFormat:@"found no viewer for Kolab type: %@/%@", mt, st];
return [self linkViewer];
}
[self errorWithFormat:@"found no viewer for Kolab type: %@/%@", mt, st];
return [self linkViewer];
}
else if ([st isEqualToString:@"ics"]) /* Cooqle K4lendahr - Google Calendar */
return [self iCalViewer];
#if 0 /* the link viewer looks better than plain text ;-) */
if ([st isEqualToString:@"pgp-signature"]) // TODO: real PGP viewer
return [self textViewer];
if ([st isEqualToString:@"pgp-signature"]) // TODO: real PGP viewer
return [self textViewer];
#endif
}