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> 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 * SoObjects/SOGo/NSCalendarDate+SOGo.m ([NSCalendarDate
+distantFuture]): rewrote method to return an object that is +distantFuture]): rewrote method to return an object that is
compatible with NSCalendarDate, unlike the implementation in compatible with NSCalendarDate, unlike the implementation in

View File

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

View File

@ -585,7 +585,8 @@ static BOOL debugSoParts = NO;
NSArray *types; NSArray *types;
types = [NSArray arrayWithObjects: @"text/plain", @"text/html", 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]; ma = [NSMutableArray arrayWithCapacity: 4];
[self addRequiredKeysOfStructure: [self bodyStructure] [self addRequiredKeysOfStructure: [self bodyStructure]
path: @"" toArray: ma acceptedTypes: types]; 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."; 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"; Appointment = "Appointment";
Organizer = "Organisateur"; Organizer = "Organizer";
Time = "Time"; Time = "Time";
Attendees = "Attendees"; Attendees = "Attendees";
request_info = "invites you to participate in a meeting."; request_info = "invites you to participate in a meeting.";

View File

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