Monotone-Parent: 64e49d499c79080e88278175b2826dfc85d1c635
Monotone-Revision: 9c563a19a8b6747bd6b2c53b4aec14e16c3a623e Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-11-22T17:32:44 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
1a58f1b4f9
commit
9e7fd1b166
10
ChangeLog
10
ChangeLog
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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.";
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue