You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2012/07/14 14:31:21 UTC

svn commit: r1361533 - in /james/hupa/trunk: client/src/main/java/org/apache/hupa/client/mvp/ client/src/main/webapp/ server/src/main/java/org/apache/hupa/server/servlet/ shared/src/main/java/org/apache/hupa/shared/ shared/src/main/java/org/apache/hupa...

Author: manolo
Date: Sat Jul 14 12:31:20 2012
New Revision: 1361533

URL: http://svn.apache.org/viewvc?rev=1361533&view=rev
Log:
FIXES HUPA-93, patch by: Zsombor Gegesy

Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
    james/hupa/trunk/client/src/main/webapp/Hupa.css
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/servlet/DownloadAttachmentServlet.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/SConsts.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java
    james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/WidgetsCSS.java

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java Sat Jul 14 12:31:20 2012
@@ -41,6 +41,7 @@ import com.google.gwt.event.dom.client.H
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Anchor;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.HTML;
@@ -147,10 +148,7 @@ public class IMAPMessageView extends Com
                 link.setStyleName(HupaCSS.C_hyperlink);
                 link.addClickHandler(new ClickHandler() {
                     public void onClick(ClickEvent event) {
-                        String url = GWT.getModuleBaseURL() + SConsts.SERVLET_DOWNLOAD 
-                                    + "?" + SConsts.PARAM_NAME + "=" + messageAttachment.getName() 
-                                    + "&" + SConsts.PARAM_FOLDER + "=" + folder
-                                    + "&" + SConsts.PARAM_UID + "=" + uid;
+                        String url = getUrl(messageAttachment, folder, uid, false);
                         if (downloadIframe == null)
                             Window.open(url,"_blank", "");
                         else
@@ -161,10 +159,23 @@ public class IMAPMessageView extends Com
                 aPanel.addStyleName(HupaCSS.C_attachment);
                 aPanel.add(new Image(imageBundle.attachmentIcon()));
                 aPanel.add(link);
+                if (messageAttachment.isImage()) {
+                	Anchor viewImageLink = new Anchor("View",getUrl(messageAttachment, folder, uid, true), "_blank");
+                	viewImageLink.setStyleName(HupaCSS.C_attachment_view);
+                	aPanel.add(viewImageLink);
+                }
                 attachments.add(aPanel);
             }
         }
     }
+    
+    private String getUrl(MessageAttachment messageAttachment, String folder, long uid, boolean inline) {
+        return GWT.getModuleBaseURL() + SConsts.SERVLET_DOWNLOAD 
+                + "?" + SConsts.PARAM_NAME + "=" + messageAttachment.getName() 
+                + "&" + SConsts.PARAM_FOLDER + "=" + folder
+                + "&" + SConsts.PARAM_UID + "=" + uid 
+                + (inline ? "&" + SConsts.PARAM_MODE + "=inline" : "");
+    }
 
     public HasClickHandlers getForwardButtonClick() {
         return forwardMsgButton;

Modified: james/hupa/trunk/client/src/main/webapp/Hupa.css
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/Hupa.css?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/webapp/Hupa.css (original)
+++ james/hupa/trunk/client/src/main/webapp/Hupa.css Sat Jul 14 12:31:20 2012
@@ -287,6 +287,10 @@ div.hupa-msgview-content {
 	cursor: pointer;
 }
 
+.hupa-attachment-view {
+	margin-left: 10px;	
+}
+
 /************[ view: MessageSendView ]*******************/
 table.hupa-msgsend {
 	width: 100%;

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/servlet/DownloadAttachmentServlet.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/servlet/DownloadAttachmentServlet.java?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/servlet/DownloadAttachmentServlet.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/servlet/DownloadAttachmentServlet.java Sat Jul 14 12:31:20 2012
@@ -79,8 +79,11 @@ public class DownloadAttachmentServlet e
         String message_uuid = request.getParameter(SConsts.PARAM_UID);
         String attachmentName = request.getParameter(SConsts.PARAM_NAME);
         String folderName = request.getParameter(SConsts.PARAM_FOLDER);
-        response.setHeader("Content-disposition", "attachment; filename="
-                + attachmentName + "");
+        String mode = request.getParameter(SConsts.PARAM_MODE);
+        if (!"inline".equals(mode)) {
+	        response.setHeader("Content-disposition", "attachment; filename="
+	                + attachmentName + "");
+        }
         InputStream in = null;
         OutputStream out = response.getOutputStream();
 

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/SConsts.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/SConsts.java?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/SConsts.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/SConsts.java Sat Jul 14 12:31:20 2012
@@ -30,6 +30,7 @@ public class SConsts {
     public static final String PARAM_NAME = "name";
     public static final String PARAM_FOLDER = "folder";
     public static final String PARAM_UID = "uid";
+    public static final String PARAM_MODE = "mode";
     
     public static final String USER_SESS_ATTR = "user";
     public static final String CONTACTS_SESS_ATTR = "contacts";

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageAttachment.java Sat Jul 14 12:31:20 2012
@@ -74,6 +74,15 @@ public class MessageAttachment implement
     }
 
     /**
+     * Return whether the attachment is an image
+     * 
+     * @return cType
+     */
+    public boolean isImage() {
+    	  return cType != null && cType.toLowerCase().startsWith("image/");
+    }
+
+    /**
      * Set the content size in bytes
      * 
      * @param size

Modified: james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/WidgetsCSS.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/WidgetsCSS.java?rev=1361533&r1=1361532&r2=1361533&view=diff
==============================================================================
--- james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/WidgetsCSS.java (original)
+++ james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/WidgetsCSS.java Sat Jul 14 12:31:20 2012
@@ -25,5 +25,5 @@ public class WidgetsCSS {
     public static final String C_loading = "hupa-loading";
     public static final String C_hupa_rnd_container = "hupa-rounded";
     public static final String C_attachment = "hupa-attachment";
-
+    public static final String C_attachment_view = "hupa-attachment-view";
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org