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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to