]> err.no Git - scalable-opengroupware.org/commitdiff
started work on attachment viewer (#1074)
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 27 Jan 2005 12:40:13 +0000 (12:40 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 27 Jan 2005 12:40:13 +0000 (12:40 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@502 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/Mailer/ChangeLog
SOGo/UI/Mailer/GNUmakefile
SOGo/UI/Mailer/UIxMailPartLinkViewer.m [new file with mode: 0644]
SOGo/UI/Mailer/UIxMailPartLinkViewer.wox [new file with mode: 0644]
SOGo/UI/Mailer/UIxMailRenderingContext.h
SOGo/UI/Mailer/UIxMailRenderingContext.m
SOGo/UI/Mailer/Version

index e06572d119bb0bddda01893e6daa049e5190454a..4f979b4c082218f88ae18118c58702c84259966d 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-27  Helge Hess  <helge.hess@skyrix.com>
+
+       * started attachment (download) viewer (#1074) (v0.9.76)
+
 2005-01-26  Helge Hess  <helge.hess@skyrix.com>
 
        * v0.9.75
index bf97210dab00e8b830cb2de4c6d5a59125fc00ab..39658678d053b36a7d8ee98e5835dfdd2c78290c 100644 (file)
@@ -39,6 +39,7 @@ MailerUI_OBJC_FILES += \
        UIxMailPartViewer.m             \
        UIxMailPartTextViewer.m         \
        UIxMailPartImageViewer.m        \
+       UIxMailPartLinkViewer.m         \
        UIxMailPartMixedViewer.m        \
        UIxMailPartAlternativeViewer.m  \
        \
@@ -70,6 +71,7 @@ MailerUI_RESOURCE_FILES += \
        UIxMailPartTextViewer.wox       \
        UIxMailPartMixedViewer.wox      \
        UIxMailPartImageViewer.wox      \
+       UIxMailPartLinkViewer.wox       \
        UIxMailPartAlternativeViewer.wox\
        \
        UIxFilterList.wox               \
diff --git a/SOGo/UI/Mailer/UIxMailPartLinkViewer.m b/SOGo/UI/Mailer/UIxMailPartLinkViewer.m
new file mode 100644 (file)
index 0000000..6b27fb3
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+  Copyright (C) 2004-2005 SKYRIX Software AG
+
+  This file is part of OpenGroupware.org.
+
+  OGo is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with OGo; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#include "UIxMailPartViewer.h"
+
+/*
+  UIxMailPartLinkViewer
+  
+  The generic viewer for all kinds of attachments. Renders a link to download
+  the attachment.
+
+  TODO: show info based on the 'bodyInfo' dictionary:
+        { 
+          bodyId = ""; 
+          description = ""; 
+          encoding = BASE64; 
+          parameterList = { 
+            "x-unix-mode" = 0666; 
+             name = "IncoWEBOpenGroupwarepresentation.pdf"; 
+          }; 
+          size = 1314916; 
+          subtype = PDF; type = application; 
+        }
+*/
+
+@interface UIxMailPartLinkViewer : UIxMailPartViewer
+{
+}
+
+@end
+
+#include "common.h"
+
+@implementation UIxMailPartLinkViewer
+
+- (void)dealloc {
+  [super dealloc];
+}
+
+/* URLs */
+
+- (NSString *)pathToAttachment {
+  NSString *url, *n;
+  
+  url = [[self clientObject] baseURLInContext:[self context]];
+  if (![url hasSuffix:@"/"]) url = [url stringByAppendingString:@"/"];
+  
+  n = [[self partPath] componentsJoinedByString:@"/"];
+  return [url stringByAppendingString:n];
+}
+
+@end /* UIxMailPartLinkViewer */
diff --git a/SOGo/UI/Mailer/UIxMailPartLinkViewer.wox b/SOGo/UI/Mailer/UIxMailPartLinkViewer.wox
new file mode 100644 (file)
index 0000000..a516ec7
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone="yes"?>
+<div xmlns="http://www.w3.org/1999/xhtml"
+     xmlns:var="http://www.skyrix.com/od/binding"
+>
+  <a var:href="pathToAttachment"
+     var:title="bodyInfo"
+     class="mailer_imagecontent"
+     >[abc <var:string value="bodyInfo" />]</a>
+</div>
index 672a5eb0718c48c7c8f4ebc9a13a6eb2545fd987..e58aeec7914eee97051233d0e5862376283c1133 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2004 SKYRIX Software AG
+  Copyright (C) 2004-2005 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
@@ -43,6 +43,7 @@
   WOComponent *mixedViewer;
   WOComponent *textViewer;
   WOComponent *imageViewer;
+  WOComponent *linkViewer;
 }
 
 - (id)initWithViewer:(WOComponent *)_viewer context:(WOContext *)_ctx;
index 0346c09b2a4ecba1decf50c9236a1a4b09ad0237..3885512a5b656d285848abb0c9bc408f202e2f37 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2004 SKYRIX Software AG
+  Copyright (C) 2004-2005 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
@@ -44,6 +44,7 @@
   [self->mixedViewer release];
   [self->textViewer  release];
   [self->imageViewer release];
+  [self->linkViewer  release];
   [super dealloc];
 }
 
@@ -55,6 +56,7 @@
   [self->mixedViewer       release]; self->mixedViewer       = nil;
   [self->textViewer        release]; self->textViewer        = nil;
   [self->imageViewer       release]; self->imageViewer       = nil;
+  [self->linkViewer        release]; self->linkViewer        = nil;
 }
 
 /* fetching */
   return self->imageViewer;
 }
 
+- (WOComponent *)linkViewer {
+  if (self->linkViewer == nil) {
+    self->linkViewer = 
+      [[self->viewer pageWithName:@"UIxMailPartLinkViewer"] retain];
+  }
+  return self->linkViewer;
+}
+
 - (WOComponent *)viewerForBodyInfo:(id)_info {
   NSString *mt, *st;
 
   }
 
   // TODO: always fallback to octet viewer?!
+#if 0
   [self errorWithFormat:@"found no viewer for MIME type: %@/%@", mt, st];
-  return nil;
+#endif
+  return [self linkViewer];
 }
 
 /* debugging */
index fa87263e21e70f049b9e1fcaf4e53e6701509007..b4ba3132d5e2585ffa1f4f0f88e99c73b83f3e95 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=75
+SUBMINOR_VERSION:=76
 
 # v0.9.74 requires SoObjects/Mailer v0.9.56
 # v0.9.70 requires NGExtensions     v4.5.136