Author: dongxu
Date: Thu Sep 12 04:09:09 2013
New Revision: 1522303

URL: http://svn.apache.org/r1522303
Log:
make attachments sending work as expected

Removed:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml
Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 Thu Sep 12 04:09:09 2013
@@ -20,12 +20,16 @@
 package org.apache.hupa.client.activity;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> make attachments sending work as expected
 import gwtupload.client.IUploadStatus.Status;
 import gwtupload.client.IUploader;
 import gwtupload.client.IUploader.OnCancelUploaderHandler;
 import gwtupload.client.IUploader.OnFinishUploaderHandler;
 import gwtupload.client.IUploader.OnStatusChangedHandler;
 
+<<<<<<< HEAD
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -56,6 +60,8 @@ import org.apache.hupa.shared.events.Mai
 
 import com.google.gwt.activity.shared.Activity;
 =======
+=======
+>>>>>>> make attachments sending work as expected
 import java.util.ArrayList;
 import java.util.List;
 
@@ -63,6 +69,7 @@ import org.apache.hupa.client.activity.M
 import org.apache.hupa.client.rf.SendMessageRequest;
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.client.validation.EmailListValidator;
+import org.apache.hupa.shared.data.MessageAttachmentImpl;
 import org.apache.hupa.shared.domain.GenericResult;
 import org.apache.hupa.shared.domain.MessageAttachment;
 import org.apache.hupa.shared.domain.SendMessageAction;
@@ -388,9 +395,40 @@ public class ComposeActivity extends App
                        }
                });
                
registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
+        
display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
+        display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
+        display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
        }
 
+<<<<<<< HEAD
 >>>>>>> make send text mail work excellently
+=======
+    private OnFinishUploaderHandler onFinishUploadHandler = new 
OnFinishUploaderHandler() {
+        public void onFinish(IUploader uploader) {
+            if (uploader.getStatus() == Status.SUCCESS) {
+                String name = uploader.getInputName();
+                MessageAttachment attachment = new MessageAttachmentImpl();
+                attachment.setName(name);
+                attachments.add(attachment);
+            }
+        }
+    };
+
+    private OnStatusChangedHandler onStatusChangedHandler = new 
OnStatusChangedHandler() {
+        public void onStatusChanged(IUploader uploader) {
+            Status stat = display.getUploader().getStatus();
+        }
+    };
+
+    private OnCancelUploaderHandler onCancelUploadHandler = new 
OnCancelUploaderHandler() {
+        public void onCancel(IUploader uploader) {
+            for (MessageAttachment attachment : attachments) {
+                if (attachment.getName().equals(uploader.getInputName()))
+                    attachments.remove(attachment);
+            }
+        }
+    };
+>>>>>>> make attachments sending work as expected
        protected ClickHandler sendClickHandler = new ClickHandler() {
                public void onClick(ClickEvent event) {
                        if (!validate())
@@ -416,6 +454,7 @@ public class ComposeActivity extends App
                                attachMent.setSize(attach.getSize());
                                
attachMent.setContentType(attach.getContentType());
                                attaches.add(attachMent);
+                               System.out.println("++++++-----");
                        }
                        message.setFrom(display.getFromText());
                        message.setSubject(display.getSubjectText().getText());
@@ -613,6 +652,11 @@ public class ComposeActivity extends App
 =======
 
                ListBox getFromList();
+<<<<<<< HEAD
 >>>>>>> add user label, yet issue46 occur
+=======
+
+               IUploader getUploader();
+>>>>>>> make attachments sending work as expected
        }
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
 Thu Sep 12 04:09:09 2013
@@ -20,12 +20,14 @@
 package org.apache.hupa.client.ui;
 
 import org.apache.hupa.client.HupaCSS;
+import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.HupaMessages;
 import org.apache.hupa.client.activity.ComposeActivity;
 import org.apache.hupa.client.validation.AddStyleAction;
 import org.apache.hupa.client.validation.EmailListValidator;
 import org.apache.hupa.client.validation.NotEmptyValidator;
 import org.apache.hupa.client.validation.SetFocusAction;
+import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.widgets.editor.Editor;
 import org.apache.hupa.widgets.ui.MultiValueSuggestArea;
 
@@ -96,7 +98,9 @@ import com.google.gwt.user.client.ui.But
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.DockLayoutPanel;
 import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.gwt.user.client.ui.Label;
@@ -104,19 +108,22 @@ import com.google.gwt.user.client.ui.Lis
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
-import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 import com.google.inject.Inject;
 
 import eu.maydu.gwt.validation.client.DefaultValidationProcessor;
 import eu.maydu.gwt.validation.client.ValidationProcessor;
 import eu.maydu.gwt.validation.client.i18n.ValidationMessages;
+import gwtupload.client.BaseUploadStatus;
+import gwtupload.client.IFileInput.FileInputType;
+import gwtupload.client.IUploadStatus;
+import gwtupload.client.IUploader;
+import gwtupload.client.MultiUploader;
 
 public class ComposeView extends Composite implements 
ComposeActivity.Displayable {
 
-
        @UiField protected FlexTable headerTable;
        @UiField protected SimplePanel composeEditor;
+       @UiField protected FlowPanel attach;
        @UiField protected Style style;
        private ListBox selectFrom;
        // we only need one instance for all suggestion-boxes
@@ -132,6 +139,7 @@ public class ComposeView extends Composi
        private Editor editor;
 
        private ValidationProcessor validator;
+       private MultiUploader uploader = null;
 
        private static final int ROW_FROM = 0;
        private static final int ROW_TO = 1;
@@ -159,7 +167,7 @@ public class ComposeView extends Composi
        }
 
        @Inject
-       public ComposeView(HupaMessages messages) {
+       public ComposeView(HupaConstants constants, HupaMessages messages) {
                initWidget(binder.createAndBindUi(this));
                FlexCellFormatter cellFormatter = 
headerTable.getFlexCellFormatter();
                RowFormatter rowFormatter = headerTable.getRowFormatter();
@@ -238,6 +246,14 @@ public class ComposeView extends Composi
                                .addActionForFailure(fAction), new 
NotEmptyValidator(getToText()).addActionForFailure(sAction)
                                .addActionForFailure(fAction));
                editor = new Editor();
+
+               BaseUploadStatus uploadStatus = new BaseUploadStatus();
+               
uploadStatus.setCancelConfiguration(IUploadStatus.GMAIL_CANCEL_CFG);
+               uploader = new MultiUploader(FileInputType.ANCHOR, 
uploadStatus);
+               uploader.setServletPath(GWT.getModuleBaseURL() + 
SConsts.SERVLET_UPLOAD);
+               uploader.avoidRepeatFiles(true);
+               uploader.setI18Constants(constants);
+               attach.add(uploader);
                composeEditor.add(editor);
        }
 
@@ -276,13 +292,12 @@ public class ComposeView extends Composi
                // TODO hardcode to the first identifier
                return selectFrom.getItemText(0);
        }
-       
+
        @Override
-       public ListBox getFromList(){
+       public ListBox getFromList() {
                return selectFrom;
        }
 
-
        @Override
        public HasText getMessageText() {
                return editor;
@@ -293,11 +308,17 @@ public class ComposeView extends Composi
                return editor;
        }
 
+       @Override
+       public IUploader getUploader() {
+               return uploader;
+       }
+
        // TODO
        private TextArea create() {
                TextArea t = new TextArea();
                return t;
        }
+
        interface ComposeUiBinder extends UiBinder<DockLayoutPanel, 
ComposeView> {
        }
 

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml?rev=1522303&r1=1522302&r2=1522303&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
 Thu Sep 12 04:09:09 2013
@@ -282,8 +282,8 @@
                                                <g:HTMLPanel 
addStyleNames="{style.composeoptionsbox}">composeOption</g:HTMLPanel>
                                        </g:north>
                                        <g:east size="257">
-                                               <g:HTMLPanel 
addStyleNames="{style.composeattachments}">composeAttachment
-                                               </g:HTMLPanel>
+                                               <g:FlowPanel ui:field="attach" 
addStyleNames="{style.composeattachments}">
+                                               </g:FlowPanel>
                                        </g:east>
                                        <g:center>
                                                <g:SimplePanel 
ui:field="composeEditor"



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to