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

Reply via email to