Author: dongxu Date: Thu Sep 12 04:34:31 2013 New Revision: 1522363 URL: http://svn.apache.org/r1522363 Log: fixed issue#57 - really disable the tools in toolbar
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.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/MessageListActivityMapper.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/LabelListActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java?rev=1522363&r1=1522362&r2=1522363&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java Thu Sep 12 04:34:31 2013 @@ -21,6 +21,7 @@ package org.apache.hupa.client.activity; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD import org.apache.hupa.client.HupaController; import org.apache.hupa.client.rf.DeleteFolderRequest; import org.apache.hupa.client.ui.LabelNode; @@ -116,6 +117,8 @@ public class LabelListActivity extends A ======= import org.apache.hupa.client.ui.LabelNode; >>>>>>> add rename RF to label setting feature +======= +>>>>>>> fixed issue#57 - really disable the tools in toolbar import org.apache.hupa.client.ui.WidgetDisplayable; import com.google.gwt.event.shared.EventBus; Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java?rev=1522363&r1=1522362&r2=1522363&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java Thu Sep 12 04:34:31 2013 @@ -282,6 +282,8 @@ 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.DeleteClickEvent; +import org.apache.hupa.shared.events.DeleteClickEventHandler; import org.apache.hupa.shared.events.ExpandMessageEvent; import org.apache.hupa.shared.events.LoadMessagesEvent; import org.apache.hupa.shared.events.LoadMessagesEventHandler; @@ -422,6 +424,12 @@ public class MessageListActivity extends } }); + eventBus.addHandler(DeleteClickEvent.TYPE, new DeleteClickEventHandler(){ + @Override + public void onDeleteClickEvent(DeleteClickEvent event) { + deleteSelectedMessages(); + } + }); } @@ -463,7 +471,7 @@ public class MessageListActivity extends display.getGrid().getSelectionModel().setSelected(msg, false); } } - public void deleteSelectedMessages() { + private void deleteSelectedMessages() { MailFolderPlace currentPlace = (MailFolderPlace) placeController.getWhere(); final List<Long> uids = display.getSelectedMessagesIds(); DeleteMessageByUidRequest req = requestFactory.deleteMessageByUidRequest(); 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=1522363&r1=1522362&r2=1522363&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:34:31 2013 @@ -33,12 +33,15 @@ import org.apache.hupa.client.place.Fold ======= import org.apache.hupa.client.HupaController; <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> fixed issue#61; add loading to mark, unmark. ======= import org.apache.hupa.client.place.ComposePlace; >>>>>>> scrub code import org.apache.hupa.client.place.MailFolderPlace; >>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in >>>>>>> toolsbar +======= +>>>>>>> fixed issue#57 - really disable the tools in toolbar import org.apache.hupa.client.rf.SetFlagRequest; import org.apache.hupa.client.ui.MessagesCellTable; import org.apache.hupa.client.ui.ToolBarView.Parameters; @@ -186,9 +189,9 @@ import com.google.gwt.event.dom.client.C import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.gwt.user.client.ui.PopupPanel; -import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; import com.google.web.bindery.requestfactory.shared.Receiver; @@ -197,10 +200,10 @@ public class ToolBarActivity extends App @Inject private Displayable display; @Inject private MessagesCellTable table; @Inject private MessageListActivity.Displayable messagesDisplay; - @Inject private MessageListActivity messageListActivity; @Inject private HupaController hupaController; //FIXME messagesDisplay can not be injected into ToolBarView, why? private String folderName; + @Override public void start(AcceptsOneWidget container, EventBus eventBus) { @@ -225,15 +228,6 @@ public class ToolBarActivity extends App ======= private void bindTo(EventBus eventBus) { - registerHandler(display.getMark().addClickHandler(new ClickHandler() { - public void onClick(ClickEvent event) { - Widget source = (Widget) event.getSource(); - int left = source.getAbsoluteLeft(); - int top = source.getAbsoluteTop() + source.getOffsetHeight(); - display.getPopup().setPopupPosition(left, top); - display.getPopup().show(); - } - })); registerHandler(display.getMarkRead().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { @@ -250,17 +244,16 @@ public class ToolBarActivity extends App display.getPopup().hide(); } })); - registerHandler(display.getDelete().addClickHandler(new ClickHandler(){ - - @Override - public void onClick(ClickEvent event) { - if (!(placeController.getWhere() instanceof MailFolderPlace)) - return; - messageListActivity.deleteSelectedMessages(); - } - })); + + registerHandler(display.getDeleteReg()); + registerHandler(display.getMarkReg()); + registerHandler(display.getReplyReg()); + registerHandler(display.getReplyAllReg()); + registerHandler(display.getForwardReg()); } + + protected void toMarkRead(boolean read) { List<Long> uids = new ArrayList<Long>(); for (Message msg : table.getVisibleItems()) { @@ -290,6 +283,11 @@ public class ToolBarActivity extends App public interface Displayable extends WidgetDisplayable { void enableSendingTools(boolean is); + HandlerRegistration getForwardReg(); + HandlerRegistration getReplyAllReg(); + HandlerRegistration getReplyReg(); + HandlerRegistration getMarkReg(); + HandlerRegistration getDeleteReg(); void enableDealingTools(boolean is); void enableAllTools(boolean is); @@ -310,6 +308,7 @@ public class ToolBarActivity extends App HasClickHandlers getDelete(); PopupPanel getPopup(); + HasClickHandlers getCompose(); } >>>>>>> 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/MessageListActivityMapper.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java?rev=1522363&r1=1522362&r2=1522363&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java Thu Sep 12 04:34:31 2013 @@ -94,13 +94,15 @@ public class MessageListActivityMapper i >>>>>>> integrate all of the views to their corresponding activities and >>>>>>> mappers ======= public Activity getActivity(final Place place) { - if (place instanceof MailFolderPlace) { - return new ActivityAsyncProxy() { - @Override - protected void doAsync(RunAsyncCallback callback) { - GWT.runAsync(callback); - } + if (!(place instanceof MailFolderPlace)) + return null; + return new ActivityAsyncProxy() { + @Override + protected void doAsync(RunAsyncCallback callback) { + GWT.runAsync(callback); + } +<<<<<<< HEAD @Override protected Activity createInstance() { return messageListActivityProvider.get().with(((MailFolderPlace) place).getFullName()); @@ -109,5 +111,12 @@ public class MessageListActivityMapper i } return null; >>>>>>> support code split +======= + @Override + protected Activity createInstance() { + return messageListActivityProvider.get().with(((MailFolderPlace) place).getFullName()); + } + }; +>>>>>>> fixed issue#57 - really disable the tools in toolbar } } 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=1522363&r1=1522362&r2=1522363&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:34:31 2013 @@ -27,12 +27,17 @@ import org.apache.hupa.client.activity.T import org.apache.hupa.client.place.ComposePlace; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +import org.apache.hupa.client.place.MailFolderPlace; +>>>>>>> fixed issue#57 - really disable the tools in toolbar import org.apache.hupa.client.rf.HupaRequestFactory; <<<<<<< HEAD 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; +<<<<<<< HEAD ======= ======= import java.util.ArrayList; @@ -67,6 +72,8 @@ import com.google.gwt.event.shared.Event ======= import org.apache.hupa.shared.domain.User; >>>>>>> beautify the multiuploader +======= +>>>>>>> fixed issue#57 - really disable the tools in toolbar import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; @@ -77,11 +84,17 @@ import com.google.gwt.event.dom.client.C import com.google.gwt.event.dom.client.ClickHandler; >>>>>>> 1.do not select the message which is being focused on. 2.create the >>>>>>> mark popup menu import com.google.gwt.event.dom.client.HasClickHandlers; +<<<<<<< HEAD >>>>>>> coping with reply and forward sending message +======= +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.HandlerRegistration; +>>>>>>> fixed issue#57 - really disable the tools in toolbar import com.google.gwt.place.shared.PlaceController; import com.google.gwt.resources.client.CssResource; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; +<<<<<<< HEAD import com.google.gwt.uibinder.client.UiHandler; <<<<<<< HEAD import com.google.gwt.user.client.ui.Anchor; @@ -374,6 +387,8 @@ import com.google.gwt.uibinder.client.Ui import com.google.gwt.uibinder.client.UiField; ======= >>>>>>> composing composing panel +======= +>>>>>>> fixed issue#57 - really disable the tools in toolbar import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.DecoratedPopupPanel; @@ -388,6 +403,7 @@ public class ToolBarView extends Composi @Inject private PlaceController placeController; @Inject private HupaRequestFactory requestFactory; + @Inject private EventBus eventBus; @UiField Anchor refresh; @UiField Anchor compose; @@ -400,6 +416,12 @@ public class ToolBarView extends Composi @UiField Anchor mark; @UiField Anchor more; + HandlerRegistration replyReg; + HandlerRegistration replyAllReg; + HandlerRegistration forwardReg; + HandlerRegistration deleteReg; + HandlerRegistration markReg; + @UiField Style style; interface Style extends CssResource { @@ -474,25 +496,6 @@ public class ToolBarView extends Composi } } - @UiHandler("compose") - void handleCompose(ClickEvent e){ - placeController.goTo(new ComposePlace("new").with(parameters)); - } - - @UiHandler("reply") - void handleReplyClick(ClickEvent e) { - placeController.goTo(new ComposePlace("reply").with(parameters)); - } - - @UiHandler("replyAll") - void handleReplyAllClick(ClickEvent e) { - placeController.goTo(new ComposePlace("replyAll").with(parameters)); - } - - @UiHandler("forward") - void handleForwardClick(ClickEvent e) { - placeController.goTo(new ComposePlace("forward").with(parameters)); - } public ToolBarView() { initWidget(binder.createAndBindUi(this)); @@ -534,9 +537,59 @@ public class ToolBarView extends Composi popup.add(markRead); popup.add(markUnread); simplePopup.setWidget(popup); +<<<<<<< HEAD >>>>>>> 1.do not select the message which is being focused on. 2.create the >>>>>>> mark popup menu +======= + + markReg = mark.addClickHandler(markHandler); + deleteReg = delete.addClickHandler(deleteHandler); + replyReg = reply.addClickHandler(replyHandler); + replyAllReg = replyAll.addClickHandler(replyAllHandler); + forwardReg = forward.addClickHandler(forwardHandler); +>>>>>>> fixed issue#57 - really disable the tools in toolbar } + private ClickHandler forwardHandler = new ClickHandler(){ + + @Override + public void onClick(ClickEvent event) { + placeController.goTo(new ComposePlace("forward").with(parameters)); + } + + }; + private ClickHandler replyAllHandler = new ClickHandler(){ + + @Override + public void onClick(ClickEvent event) { + placeController.goTo(new ComposePlace("replyAll").with(parameters)); + } + + }; + private ClickHandler replyHandler = new ClickHandler(){ + + @Override + public void onClick(ClickEvent event) { + placeController.goTo(new ComposePlace("reply").with(parameters)); + } + + }; + private ClickHandler deleteHandler = new ClickHandler(){ + @Override + public void onClick(ClickEvent event) { + if (!(placeController.getWhere() instanceof MailFolderPlace)) + return; + eventBus.fireEvent(new DeleteClickEvent()); + } + }; + private ClickHandler markHandler = new ClickHandler() { + public void onClick(ClickEvent event) { + Widget source = (Widget) event.getSource(); + int left = source.getAbsoluteLeft(); + int top = source.getAbsoluteTop() + source.getOffsetHeight(); + simplePopup.setPopupPosition(left, top); + simplePopup.show(); + } + }; @Override public HasClickHandlers getMark() { return mark; @@ -553,6 +606,10 @@ public class ToolBarView extends Composi } @Override + public HasClickHandlers getCompose() { + return compose; + } + @Override public HasClickHandlers getReply() { return reply; } @@ -603,17 +660,31 @@ public class ToolBarView extends Composi reply.addStyleName(style.disabledButton()); replyAllGroup.addStyleName(style.disabledButton()); forwardGroup.addStyleName(style.disabledButton()); + + replyReg.removeHandler(); + replyAllReg.removeHandler(); + forwardReg.removeHandler(); } private void removeSendingDisableds() { reply.removeStyleName(style.disabledButton()); replyAllGroup.removeStyleName(style.disabledButton()); forwardGroup.removeStyleName(style.disabledButton()); + + replyReg = reply.addClickHandler(replyHandler); + replyAllReg = replyAll.addClickHandler(replyAllHandler); + forwardReg = forward.addClickHandler(forwardHandler); + } + + private void addDealingDisableds() { delete.addStyleName(style.disabledButton()); mark.addStyleName(style.disabledButton()); + + deleteReg.removeHandler(); + markReg.removeHandler(); } private void removeDealingDisableds() { @@ -622,7 +693,13 @@ public class ToolBarView extends Composi >>>>>>> add enable tool bar buttons toggling event, with being related to >>>>>>> issue #31 ======= mark.removeStyleName(style.disabledButton()); +<<<<<<< HEAD >>>>>>> 1.do not select the message which is being focused on. 2.create the >>>>>>> mark popup menu +======= + + markReg = mark.addClickHandler(markHandler); + deleteReg = delete.addClickHandler(deleteHandler); +>>>>>>> fixed issue#57 - really disable the tools in toolbar } interface ToolBarUiBinder extends UiBinder<FlowPanel, ToolBarView> { @@ -634,6 +711,7 @@ public class ToolBarView extends Composi <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD @Override public HasClickHandlers getRefresh() { return refresh; @@ -649,6 +727,33 @@ public class ToolBarView extends Composi ======= >>>>>>> add enable tool bar buttons toggling event, with being related to >>>>>>> issue #31 ======= +======= + @Override + public HandlerRegistration getForwardReg() { + return forwardReg; + } + + @Override + public HandlerRegistration getReplyAllReg() { + return replyAllReg; + } + + @Override + public HandlerRegistration getReplyReg() { + return replyReg; + } + + @Override + public HandlerRegistration getMarkReg() { + return markReg; + } + + @Override + public HandlerRegistration getDeleteReg() { + return deleteReg; + } + +>>>>>>> fixed issue#57 - really disable the tools in toolbar >>>>>>> scrub code } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org