You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 06:34:32 UTC

svn commit: r1522363 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: activity/LabelListActivity.java activity/MessageListActivity.java activity/ToolBarActivity.java mapper/MessageListActivityMapper.java ui/ToolBarView.java

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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org