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

URL: http://svn.apache.org/r1522304
Log:
coping with reply and forward sending message

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/activity/MessageContentActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/ComposePlace.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java

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=1522304&r1=1522303&r2=1522304&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:36 2013
@@ -65,20 +65,28 @@ import com.google.gwt.activity.shared.Ac
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.hupa.client.activity.MessageSendActivity.Type;
+import org.apache.hupa.client.place.ComposePlace;
+import org.apache.hupa.client.rf.SendForwardMessageRequest;
 import org.apache.hupa.client.rf.SendMessageRequest;
+import org.apache.hupa.client.rf.SendReplyMessageRequest;
 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.SendForwardMessageAction;
 import org.apache.hupa.shared.domain.SendMessageAction;
+import org.apache.hupa.shared.domain.SendReplyMessageAction;
 import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.domain.User;
 import org.apache.hupa.shared.events.LoginEvent;
 import org.apache.hupa.shared.events.LoginEventHandler;
 
+<<<<<<< HEAD
 >>>>>>> make send text mail work excellently
+=======
+import com.google.gwt.activity.shared.Activity;
+>>>>>>> coping with reply and forward sending message
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
@@ -121,12 +129,17 @@ public class ComposeActivity extends App
        private SendMessageRequest sendReq;
        private SmtpMessage message;
        private List<MessageAttachment> attachments = new 
ArrayList<MessageAttachment>();
+<<<<<<< HEAD
        private Type type = Type.NEW;
 <<<<<<< HEAD
 >>>>>>> make send text mail work excellently
 =======
        private User user;
 >>>>>>> add user label, yet issue46 occur
+=======
+       private User user;
+       private ComposePlace place;
+>>>>>>> coping with reply and forward sending message
 
        @Override
        public void start(AcceptsOneWidget container, EventBus eventBus) {
@@ -395,12 +408,13 @@ public class ComposeActivity extends App
                        }
                });
                
registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
-        
display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
-        display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
-        display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
+               
display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
+               
display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
+               
display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
        }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> make send text mail work excellently
 =======
     private OnFinishUploaderHandler onFinishUploadHandler = new 
OnFinishUploaderHandler() {
@@ -429,6 +443,35 @@ public class ComposeActivity extends App
         }
     };
 >>>>>>> make attachments sending work as expected
+=======
+       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(); 
//TODO buttons
+                       // disabled
+               }
+       };
+
+       private OnCancelUploaderHandler onCancelUploadHandler = new 
OnCancelUploaderHandler() {
+               public void onCancel(IUploader uploader) {
+                       for (MessageAttachment attachment : attachments) {
+                               if 
(attachment.getName().equals(uploader.getInputName()))
+                                       attachments.remove(attachment);
+                       }
+               }
+       };
+
+>>>>>>> coping with reply and forward sending message
        protected ClickHandler sendClickHandler = new ClickHandler() {
                public void onClick(ClickEvent event) {
                        if (!validate())
@@ -444,17 +487,12 @@ public class ComposeActivity extends App
                        sendReq = requestFactory.sendMessageRequest();
                        message = sendReq.create(SmtpMessage.class);
                        List<MessageAttachment> attaches = new 
ArrayList<MessageAttachment>();
-                       for (MessageAttachment attach : attachments) {// we 
must use
-                                                                               
                                        // this, else
-                                                                               
                                        // console will
-                                                                               
                                        // complain a
-                                                                               
                                        // NullPointerException
+                       for (MessageAttachment attach : attachments) {
                                MessageAttachment attachMent = 
sendReq.create(MessageAttachment.class);
                                attachMent.setName(attach.getName());
                                attachMent.setSize(attach.getSize());
                                
attachMent.setContentType(attach.getContentType());
                                attaches.add(attachMent);
-                               System.out.println("++++++-----");
                        }
                        message.setFrom(display.getFromText());
                        message.setSubject(display.getSubjectText().getText());
@@ -464,11 +502,16 @@ public class ComposeActivity extends App
                        
message.setCc(emailTextToArray(display.getCcText().getText()));
                        
message.setBcc(emailTextToArray(display.getBccText().getText()));
 
-                       if (type == Type.NEW) {
+                       if ("new".equals(place.getToken())) {
                                SendMessageAction sendAction = 
sendReq.create(SendMessageAction.class);
+<<<<<<< HEAD
                                // SmtpMessage sm = sendReq.edit(message);
                                sendAction.setMessage(message);
 >>>>>>> make send text mail work excellently
+=======
+                               SmtpMessage sm = sendReq.edit(message);
+                               sendAction.setMessage(sm);
+>>>>>>> coping with reply and forward sending message
                                sendReq.send(sendAction).fire(new 
Receiver<GenericResult>() {
                                        @Override
                                        public void onSuccess(GenericResult 
response) {
@@ -476,6 +519,7 @@ public class ComposeActivity extends App
                                        }
                                });
 <<<<<<< HEAD
+<<<<<<< HEAD
                        } else if ("forward".equals(place.getToken())) {
                                // FIXME will get a NullPointerException given 
accessing
                                // directly from some URL like #/compose:forward
@@ -487,11 +531,22 @@ public class ComposeActivity extends App
                                action.setFolder(f);
                                
action.setUid(place.getParameters().getOldmessage().getUid());
                                req.send(action).fire(new 
Receiver<GenericResult>() {
+=======
+                               System.out.println("new: " + 
place.getParameters().getOldmessage().getUid());
+                       } else if ("reply".equals(place.getToken())) {
+                               SendForwardMessageRequest forwardReq = 
requestFactory.sendForwardMessageRequest();
+                               SendForwardMessageAction forwardAction = 
forwardReq.create(SendForwardMessageAction.class);
+                               forwardAction.setMessage(message);
+                               
forwardAction.setFolder(place.getParameters().getFolder());
+                               
forwardAction.setUid(place.getParameters().getOldmessage().getUid());
+                               forwardReq.send(forwardAction).fire(new 
Receiver<GenericResult>() {
+>>>>>>> coping with reply and forward sending message
                                        @Override
                                        public void onSuccess(GenericResult 
response) {
                                                afterSend(response);
                                        }
                                });
+<<<<<<< HEAD
                        } else {
                                SendReplyMessageRequest replyReq = 
rf.sendReplyMessageRequest();
                                SendReplyMessageAction action = 
replyReq.create(SendReplyMessageAction.class);
@@ -538,6 +593,23 @@ public class ComposeActivity extends App
                                // }
                                // });
 >>>>>>> make send text mail work excellently
+=======
+                               System.out.println("reply: " + 
place.getParameters().getOldmessage().getUid());
+                       } else {
+                               SendReplyMessageRequest replyReq = 
requestFactory.sendReplyMessageRequest();
+                               SendReplyMessageAction replyAction = 
replyReq.create(SendReplyMessageAction.class);
+                               message = replyReq.create(SmtpMessage.class);
+                               replyAction.setMessage(message);
+                               
replyAction.setFolder(place.getParameters().getFolder());
+                               
replyAction.setUid(place.getParameters().getOldmessage().getUid());
+                               replyReq.send(replyAction).fire(new 
Receiver<GenericResult>() {
+                                       @Override
+                                       public void onSuccess(GenericResult 
response) {
+                                               afterSend(response);
+                                       }
+                               });
+                               System.out.println("other forward: " + 
place.getParameters().getOldmessage().getUid());
+>>>>>>> coping with reply and forward sending message
                        }
                }
        };
@@ -659,4 +731,9 @@ public class ComposeActivity extends App
                IUploader getUploader();
 >>>>>>> make attachments sending work as expected
        }
+
+       public Activity with(ComposePlace place) {
+               this.place = place;
+               return this;
+       }
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageContentActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageContentActivity.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageContentActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageContentActivity.java
 Thu Sep 12 04:09:36 2013
@@ -219,7 +219,7 @@ public class MessageContentActivity exte
                                        if (error.isFatal()) {
                                                log.log(Level.SEVERE, 
error.getMessage());
                                                // TODO write the error message 
to status bar.
-                                               // throw new 
RuntimeException(error.getMessage());
+                                                throw new 
RuntimeException(error.getMessage());
                                        }
                                }
                        });

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
 Thu Sep 12 04:09:36 2013
@@ -20,6 +20,7 @@
 package org.apache.hupa.client.activity;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import java.util.ArrayList;
 import java.util.List;
 
@@ -148,12 +149,16 @@ public class ToolBarActivity extends App
                HasClickHandlers getCompose();
        }
 =======
+=======
+import org.apache.hupa.client.ui.ToolBarView.Parameters;
+>>>>>>> coping with reply and forward sending message
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.shared.events.ExpandMessageEvent;
 import org.apache.hupa.shared.events.ExpandMessageEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.events.LoadMessagesEventHandler;
 
+import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.inject.Inject;
@@ -175,25 +180,31 @@ public class ToolBarActivity extends App
 >>>>>>> integrate all of the views to their corresponding activities and 
 >>>>>>> mappers
 =======
        private void bindTo(EventBus eventBus) {
-               eventBus.addHandler(LoadMessagesEvent.TYPE,
-                               new LoadMessagesEventHandler() {
-                                       public void onLoadMessagesEvent(
-                                                       LoadMessagesEvent 
loadMessagesEvent) {
-                                               display.disableMessageTools();
-                                       }
-                               });
-               eventBus.addHandler(ExpandMessageEvent.TYPE,
-                               new ExpandMessageEventHandler() {
-                                       public void 
onExpandMessage(ExpandMessageEvent event) {
-                                               display.enableMessageTools();
-                                       }
-                               });
+               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
+                       public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
+                               display.disableMessageTools();
+                       }
+               });
+               eventBus.addHandler(ExpandMessageEvent.TYPE, new 
ExpandMessageEventHandler() {
+                       public void onExpandMessage(ExpandMessageEvent event) {
+                               display.enableMessageTools();
+                               display.setParameters(new 
Parameters(event.getFolder(), event.getMessage(), null));
+                       }
+               });
        }
 
        public interface Displayable extends WidgetDisplayable {
                void disableMessageTools();
 
                void enableMessageTools();
+
+               HasClickHandlers getReply();
+
+               HasClickHandlers getReplyAll();
+
+               HasClickHandlers getForward();
+
+               void setParameters(Parameters parameters);
        }
 >>>>>>> add enable tool bar buttons toggling event, with being related to 
 >>>>>>> issue #31
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
 Thu Sep 12 04:09:36 2013
@@ -20,6 +20,7 @@
 package org.apache.hupa.client.mapper;
 
 import org.apache.hupa.client.activity.ComposeActivity;
+import org.apache.hupa.client.place.ComposePlace;
 
 import com.google.gwt.activity.shared.Activity;
 import com.google.gwt.activity.shared.ActivityMapper;
@@ -37,7 +38,7 @@ public class ComposeActivityMapper imple
                this.composeActivityProvider = composeActivityProvider;
        }
 
-       public Activity getActivity(Place place) {
+       public Activity getActivity(final Place place) {
                return new ActivityAsyncProxy() {
                        @Override
                        protected void doAsync(RunAsyncCallback callback) {
@@ -46,6 +47,8 @@ public class ComposeActivityMapper imple
 
                        @Override
                        protected Activity createInstance() {
+                               if (place instanceof ComposePlace)
+                                       return 
composeActivityProvider.get().with((ComposePlace) place);
                                return composeActivityProvider.get();
                        }
                };

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/ComposePlace.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/ComposePlace.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/ComposePlace.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/ComposePlace.java
 Thu Sep 12 04:09:36 2013
@@ -20,11 +20,17 @@
 package org.apache.hupa.client.place;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.ui.ToolBarView.Parameters;
 
 import com.google.gwt.place.shared.Place;
 =======
 >>>>>>> composing composing panel
+=======
+import org.apache.hupa.client.ui.ToolBarView.Parameters;
+
+import com.google.gwt.place.shared.Place;
+>>>>>>> coping with reply and forward sending message
 import com.google.gwt.place.shared.PlaceTokenizer;
 import com.google.gwt.place.shared.Prefix;
 
@@ -36,7 +42,11 @@ public class ComposePlace extends Abstra
        private Parameters parameters;
 =======
        private String token;
+<<<<<<< HEAD
 >>>>>>> beautify composing panel
+=======
+       private Parameters parameters;
+>>>>>>> coping with reply and forward sending message
 
        public ComposePlace(String token) {
                this.token = token;
@@ -87,4 +97,13 @@ public class ComposePlace extends Abstra
 =======
 >>>>>>> beautify composing panel
 
+       public Place with(Parameters parameters) {
+               this.parameters = parameters;
+               return this;
+       }
+
+       public Parameters getParameters() {
+               return parameters;
+       }
+
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
 Thu Sep 12 04:09:36 2013
@@ -79,6 +79,7 @@ import org.apache.hupa.shared.domain.Get
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.ExpandMessageEvent;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.events.LoadMessagesEventHandler;
 import org.apache.hupa.shared.events.LoginEvent;
@@ -101,12 +102,10 @@ import com.google.inject.Inject;
 import com.google.web.bindery.requestfactory.shared.Receiver;
 import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
-public class MessageListView extends Composite implements
-               MessageListActivity.Displayable {
+public class MessageListView extends Composite implements 
MessageListActivity.Displayable {
+
+       private static final Logger log = 
Logger.getLogger(MessageListView.class.getName());
 
-       private static final Logger log = Logger.getLogger(MessageListView.class
-                       .getName());
-       
        @UiField(provided = true) DataGrid<Message> grid;
        private HupaRequestFactory requestFactory;
        private ImapFolder folder;
@@ -115,8 +114,7 @@ public class MessageListView extends Com
        private boolean pending;
 
        @Inject
-       public MessageListView(final EventBus eventBus,
-                       final HupaRequestFactory requestFactory,
+       public MessageListView(final EventBus eventBus, final 
HupaRequestFactory requestFactory,
                        final PlaceController placeController, final 
MessagesCellTable table) {
                this.requestFactory = requestFactory;
                grid = table;
@@ -129,47 +127,35 @@ public class MessageListView extends Com
                                        for (Message msg : displayedItems) {
                                                
table.getSelectionModel().setSelected(msg, false);
                                        }
-                                       
table.getSelectionModel().setSelected(event.getValue(),
-                                                       true);
-                                       GetMessageDetailsRequest req = 
requestFactory
-                                                       
.messageDetailsRequest();
-                                       GetMessageDetailsAction action = req
-                                                       
.create(GetMessageDetailsAction.class);
+                                       
table.getSelectionModel().setSelected(event.getValue(), true);
+                                       GetMessageDetailsRequest req = 
requestFactory.messageDetailsRequest();
+                                       GetMessageDetailsAction action = 
req.create(GetMessageDetailsAction.class);
                                        final ImapFolder f = 
req.create(ImapFolder.class);
                                        f.setFullName(folder.getFullName());
                                        action.setFolder(f);
                                        
action.setUid(event.getValue().getUid());
-                                       req.get(action).fire(
-                                                       new 
Receiver<GetMessageDetailsResult>() {
-                                                               @Override
-                                                               public void 
onSuccess(
-                                                                               
GetMessageDetailsResult response) {
-                                                                       
placeController.goTo(new MailFolderPlace(f
-                                                                               
        .getFullName()
-                                                                               
        + "/"
-                                                                               
        + event.getValue().getUid()));
-
-                                                               }
-
-                                                               @Override
-                                                               public void 
onFailure(ServerFailure error) {
-                                                                       if 
(error.isFatal()) {
-                                                                               
log.log(Level.SEVERE,
-                                                                               
                error.getMessage());
-                                                                               
// TODO write the error message to
-                                                                               
// status bar.
-                                                                               
throw new RuntimeException(error
-                                                                               
                .getMessage());
-                                                                       }
-                                                               }
-                                                       });
+                                       req.get(action).fire(new 
Receiver<GetMessageDetailsResult>() {
+                                               @Override
+                                               public void 
onSuccess(GetMessageDetailsResult response) {
+                                                       eventBus.fireEvent(new 
ExpandMessageEvent(user, folder, event.getValue()));
+                                                       
placeController.goTo(new MailFolderPlace(f.getFullName() + "/" + 
event.getValue().getUid()));
+                                               }
+
+                                               @Override
+                                               public void 
onFailure(ServerFailure error) {
+                                                       if (error.isFatal()) {
+                                                               
log.log(Level.SEVERE, error.getMessage());
+                                                               // TODO write 
the error message to
+                                                               // status bar.
+                                                               throw new 
RuntimeException(error.getMessage());
+                                                       }
+                                               }
+                                       });
                                }
                        }
 
-                       private boolean hasClickedButFirstCol(
-                                       CellPreviewEvent<Message> event) {
-                               return 
"click".equals(event.getNativeEvent().getType())
-                                               && 0 != event.getColumn();
+                       private boolean 
hasClickedButFirstCol(CellPreviewEvent<Message> event) {
+                               return 
"click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
                        }
 
                });
@@ -179,22 +165,19 @@ public class MessageListView extends Com
                                fetch(event.getNewRange().getStart());
                        }
                });
-               eventBus.addHandler(LoadMessagesEvent.TYPE,
-                               new LoadMessagesEventHandler() {
-                                       public void onLoadMessagesEvent(
-                                                       LoadMessagesEvent 
loadMessagesEvent) {
-                                               user = 
loadMessagesEvent.getUser();
-                                               folder = 
loadMessagesEvent.getFolder();
-                                               searchValue = 
loadMessagesEvent.getSearchValue();
-                                               fetch(0);
+               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
+                       public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
+                               user = loadMessagesEvent.getUser();
+                               folder = loadMessagesEvent.getFolder();
+                               searchValue = 
loadMessagesEvent.getSearchValue();
+                               fetch(0);
 
-                                       }
-                               });
+                       }
+               });
                eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
                        public void onLogin(LoginEvent event) {
                                user = event.getUser();
-                               folder = new ImapFolderImpl(user.getSettings()
-                                               .getInboxFolderName());
+                               folder = new 
ImapFolderImpl(user.getSettings().getInboxFolderName());
                                searchValue = null;
                                if (!pending) {
                                        pending = true;
@@ -212,8 +195,7 @@ public class MessageListView extends Com
 
        public void fetch(final int start) {
                FetchMessagesRequest messagesRequest = 
requestFactory.messagesRequest();
-               FetchMessagesAction action = messagesRequest
-                               .create(FetchMessagesAction.class);
+               FetchMessagesAction action = 
messagesRequest.create(FetchMessagesAction.class);
                final ImapFolder f = messagesRequest.create(ImapFolder.class);
                f.setFullName(folder.getFullName());
                action.setFolder(f);
@@ -232,7 +214,8 @@ public class MessageListView extends Com
                        @Override
                        public void onFailure(ServerFailure error) {
                                if (error.isFatal()) {
-                                       //FIXME should goto login page 
regarding the long time session expired.
+                                       // FIXME should goto login page 
regarding the long time
+                                       // session expired.
                                        throw new 
RuntimeException(error.getMessage());
                                }
                        }
@@ -244,6 +227,7 @@ public class MessageListView extends Com
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
        interface MessageListUiBinder extends UiBinder<HTMLPanel, 
MessageListView> {
 >>>>>>> make login page as one part of the overall layout & splite layout to 
 >>>>>>> little one
 =======
@@ -262,10 +246,12 @@ public class MessageListView extends Com
        interface MessageListUiBinder extends
                        UiBinder<DataGrid<Message>, MessageListView> {
 >>>>>>> prepare for place management and history controller
+=======
+       interface MessageListUiBinder extends UiBinder<DataGrid<Message>, 
MessageListView> {
+>>>>>>> coping with reply and forward sending message
        }
 
-       private static MessageListUiBinder binder = GWT
-                       .create(MessageListUiBinder.class);
+       private static MessageListUiBinder binder = 
GWT.create(MessageListUiBinder.class);
 
 <<<<<<< HEAD
 <<<<<<< HEAD

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java?rev=1522304&r1=1522303&r2=1522304&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
 Thu Sep 12 04:09:36 2013
@@ -24,15 +24,22 @@ package org.apache.hupa.client.ui;
 import org.apache.hupa.client.activity.ToolBarActivity;
 import org.apache.hupa.client.place.ComposePlace;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.rf.HupaRequestFactory;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageDetails;
 import org.apache.hupa.shared.domain.User;
 import org.apache.hupa.shared.events.DeleteClickEvent;
+=======
+import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.domain.Message;
+import org.apache.hupa.shared.domain.MessageDetails;
+>>>>>>> coping with reply and forward sending message
 
 import com.google.gwt.core.client.GWT;
 <<<<<<< HEAD
 import com.google.gwt.event.dom.client.ClickEvent;
+<<<<<<< HEAD
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.shared.EventBus;
@@ -41,6 +48,9 @@ import com.google.gwt.event.shared.Event
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 >>>>>>> composing composing panel
+=======
+import com.google.gwt.event.dom.client.HasClickHandlers;
+>>>>>>> coping with reply and forward sending message
 import com.google.gwt.place.shared.PlaceController;
 import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.uibinder.client.UiBinder;
@@ -343,13 +353,10 @@ import com.google.gwt.user.client.ui.Flo
 import com.google.gwt.user.client.ui.HTMLPanel;
 import com.google.inject.Inject;
 
-public class ToolBarView extends Composite implements
-               ToolBarActivity.Displayable {
+public class ToolBarView extends Composite implements 
ToolBarActivity.Displayable {
 
        @Inject PlaceController placeController;
 
-       @UiField Style style;
-
        @UiField Anchor refresh;
        @UiField Anchor compose;
        @UiField Anchor reply;
@@ -361,11 +368,74 @@ public class ToolBarView extends Composi
        @UiField Anchor mark;
        @UiField Anchor more;
 
+       @UiField Style style;
+
+       private Parameters parameters;
+       
+       public Parameters getParameters() {
+               return parameters;
+       }
+
+       @Override
+       public void setParameters(Parameters parameters) {
+               this.parameters = parameters;
+       }
+
+       public static class Parameters {
+               private ImapFolder folder;
+               private Message oldmessage;
+               private MessageDetails oldDetails;
+
+               public Parameters(ImapFolder folder, Message oldmessage, 
MessageDetails oldDetails) {
+                       this.folder = folder;
+                       this.oldmessage = oldmessage;
+                       this.oldDetails = oldDetails;
+               }
+
+               public ImapFolder getFolder() {
+                       return folder;
+               }
+
+               public void setFolder(ImapFolder folder) {
+                       this.folder = folder;
+               }
+
+               public Message getOldmessage() {
+                       return oldmessage;
+               }
+
+               public void setOldmessage(Message oldmessage) {
+                       this.oldmessage = oldmessage;
+               }
+
+               public MessageDetails getOldDetails() {
+                       return oldDetails;
+               }
+
+               public void setOldDetails(MessageDetails oldDetails) {
+                       this.oldDetails = oldDetails;
+               }
+       }
+
+       interface Style extends CssResource {
+               String disabledButton();
+       }
+
        @UiHandler("compose")
        void handleClick(ClickEvent e) {
                placeController.goTo(new ComposePlace("new"));
        }
 
+       @UiHandler("reply")
+       void handleReplyClick(ClickEvent e) {
+               placeController.goTo(new 
ComposePlace("reply").with(parameters));
+       }
+
+       @UiHandler("forward")
+       void handleForwardClick(ClickEvent e) {
+               placeController.goTo(new 
ComposePlace("forward").with(parameters));
+       }
+
        public ToolBarView() {
                initWidget(binder.createAndBindUi(this));
 <<<<<<< HEAD
@@ -377,10 +447,22 @@ public class ToolBarView extends Composi
 =======
        }
 
-       interface Style extends CssResource {
-               String disabledButton();
+       @Override
+       public HasClickHandlers getReply() {
+               return reply;
+       }
+
+       @Override
+       public HasClickHandlers getReplyAll() {
+               return replyAll;
+       }
+
+       @Override
+       public HasClickHandlers getForward() {
+               return forward;
        }
 
+       // TODO realy disabled the click event of the tool bar coupled with 
graying
        @Override
        public void disableMessageTools() {
                reply.addStyleName(style.disabledButton());



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

Reply via email to