]> err.no Git - scalable-opengroupware.org/commitdiff
show text/plain and text/html attachments as inline
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 18 Jul 2005 12:42:59 +0000 (12:42 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 18 Jul 2005 12:42:59 +0000 (12:42 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@788 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/MailPartViewers/ChangeLog
SOGo/UI/MailPartViewers/UIxMailRenderingContext.m
SOGo/UI/MailPartViewers/Version

index 8dd8b8032a60ed7ceee7f947d8cdd1425d1249cb..d3fd2683b4bd44a29cfec8ebdfefff5f46dc14a0 100644 (file)
@@ -1,3 +1,9 @@
+2005-07-18  Helge Hess  <helge.hess@opengroupware.org>
+
+       * UIxMailRenderingContext.m: show text/plain and text/html attachments
+         which have "filename" set in the content-disposition using the link
+         viewer (#1468) (v0.9.16)
+
 2005-07-18  Helge Hess  <helge.hess@opengroupware.org>
 
        * UIxMailRenderingContext.m: map multipart/report mimetype to use the
index b4cc2ba09ab5f70ca6cb6dec278b451bab6ed991..9b96d2963b4bff0e4fc5b66112d19cd457ac5c6d 100644 (file)
@@ -25,6 +25,8 @@
 
 @implementation UIxMailRenderingContext
 
+static BOOL showNamedTextAttachmentsInline = NO;
+
 - (id)initWithViewer:(WOComponent *)_viewer context:(WOContext *)_ctx {
   if ((self = [super init])) {
     self->viewer  = _viewer;
       return [self mixedViewer];
   }
   else if ([mt isEqualToString:@"text"]) {
-    if ([st isEqualToString:@"plain"])
-      return [self textViewer];
-    
-    if ([st isEqualToString:@"html"])
-      return [self htmlViewer]; // TODO: temporary workaround
+    /* 
+       Note: in the _info dictionary we do not get the content-disposition
+             information (inline vs attachment). Our hack is to check for the
+            'name' parameter.
+    */
+    if ([st isEqualToString:@"plain"] || [st isEqualToString:@"html"]) {
+      if (!showNamedTextAttachmentsInline) {
+       NSString *n;
+       
+       n = [[_info objectForKey:@"parameterList"] objectForKey:@"name"];
+       if ([n isNotNull] && [n length] > 0)
+         return [self linkViewer];
+      }
+      
+      return [st isEqualToString:@"html"] 
+       ? [self htmlViewer] : [self textViewer];
+    }
     
     if ([st isEqualToString:@"calendar"])
       return [self iCalViewer];
index eaf1bd34c81e1a314eb8923286e12da7799bff51..4c9aeea9117e763c8f7f5fed8d26de9c1d0cd2b3 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=15
+SUBMINOR_VERSION:=16
 
 # v0.9.0 requires libNGiCal v4.5.53
 # v0.9.1 requires libNGMime v4.5.213