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