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:23:16 UTC

svn commit: r1522340 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: activity/MessageListActivity.java activity/ToolBarActivity.java ioc/AppGinModule.java ui/MessagesCellTable.java ui/ToolBarView.java ui/res/CssMessagesCellTable.css

Author: dongxu
Date: Thu Sep 12 04:23:15 2013
New Revision: 1522340

URL: http://svn.apache.org/r1522340
Log:
make the selected toolbar UI work

Modified:
    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/ioc/AppGinModule.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/res/CssMessagesCellTable.css

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=1522340&r1=1522339&r2=1522340&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:23:15 2013
@@ -273,12 +273,9 @@ import org.apache.hupa.shared.domain.Use
 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;
-import org.apache.hupa.shared.events.LoginEventHandler;
 
 import com.google.gwt.core.client.Scheduler;
 import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.core.shared.GWT;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.place.shared.PlaceController;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
@@ -336,13 +333,6 @@ public class MessageListActivity extends
 							}
 						}
 					});
-				} else if (hasChangedFirstCol(event)) {
-					Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-						@Override
-						public void execute() {
-							toolBarDisplay.enableMessageTools();
-						}
-					});
 				}
 			}
 
@@ -368,11 +358,6 @@ public class MessageListActivity extends
 	private boolean hasClickedButFirstCol(CellPreviewEvent<Message> event) {
 		return "click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
 	}
-	private boolean hasChangedFirstCol(CellPreviewEvent<Message> event) {
-		GWT.log(event.getNativeEvent().getType() + " "
-				+ ("change".equals(event.getNativeEvent().getType()) && 0 == event.getColumn()));
-		return "change".equals(event.getNativeEvent().getType()) && 0 == event.getColumn();
-	}
 	public void fetch(final int start) {
 		FetchMessagesRequest req = requestFactory.messagesRequest();
 		FetchMessagesAction action = req.create(FetchMessagesAction.class);
@@ -413,25 +398,6 @@ public class MessageListActivity extends
 
 			}
 		});
-//		eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
-//			public void onLogin(LoginEvent event) {
-//				user = event.getUser();
-//				if (folder == null) {
-//					folder = new ImapFolderImpl(user.getSettings().getInboxFolderName());
-//					searchValue = null;
-//					if (!pending) {
-//						pending = true;
-//						Scheduler.get().scheduleFinally(new ScheduledCommand() {
-//							@Override
-//							public void execute() {
-//								pending = false;
-//								fetch(0);
-//							}
-//						});
-//					}
-//				}
-//			}
-//		});
 
 	}
 

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=1522340&r1=1522339&r2=1522340&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:23:15 2013
@@ -169,8 +169,6 @@ import org.apache.hupa.shared.domain.Gen
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.SetFlagAction;
-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 org.apache.hupa.shared.events.LoginEvent;
@@ -197,8 +195,8 @@ public class ToolBarActivity extends App
 		container.setWidget(display.asWidget());
 		bindTo(eventBus);
 	}
-	
-	public ToolBarActivity with(String folder){
+
+	public ToolBarActivity with(String folder) {
 		this.folderName = folder;
 		return this;
 	}
@@ -216,16 +214,9 @@ public class ToolBarActivity extends App
 				display.setParameters(new Parameters(e.getUser(), null, null, null));
 			}
 		});
-		eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
-			public void onExpandMessage(ExpandMessageEvent event) {
-				display.enableMessageTools();
-				display.setParameters(new Parameters(event.getUser(), event.getFolder(), event.getMessage(), event
-						.getMessageDetails()));
-			}
-		});
 		eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
 			public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
-				display.disableMessageTools();
+				display.enableAllTools(false);
 			}
 		});
 		registerHandler(display.getMark().addClickHandler(new ClickHandler() {
@@ -280,9 +271,10 @@ public class ToolBarActivity extends App
 	}
 
 	public interface Displayable extends WidgetDisplayable {
-		void disableMessageTools();
 
-		void enableMessageTools();
+		void enableSendingTools(boolean is);
+		void enableDealingTools(boolean is);
+		void enableAllTools(boolean is);
 
 		HasClickHandlers getReply();
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522340&r1=1522339&r2=1522340&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java Thu Sep 12 04:23:15 2013
@@ -513,7 +513,7 @@ public class AppGinModule extends Abstra
 		bind(LogoActivity.Displayable.class).to(LogoView.class).in(Singleton.class);
 >>>>>>> fixed issue#46 and issue#32
 		bind(NavigationActivity.Displayable.class).to(NavigationView.class);
-		bind(ToolBarActivity.Displayable.class).to(ToolBarView.class);
+		bind(ToolBarActivity.Displayable.class).to(ToolBarView.class).in(Singleton.class);
 		// bind(FolderListActivity.Displayable.class).to(FolderListView.class);
 		bind(MessageListActivity.Displayable.class).to(MessageListView.class);
 		bind(MessageListFooterActivity.Displayable.class).to(MessageListFooterView.class);

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522340&r1=1522339&r2=1522340&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java Thu Sep 12 04:23:15 2013
@@ -525,7 +525,6 @@ import com.google.gwt.user.cellview.clie
 import com.google.gwt.view.client.DefaultSelectionEventManager;
 import com.google.gwt.view.client.MultiSelectionModel;
 import com.google.gwt.view.client.ProvidesKey;
-import com.google.gwt.view.client.SelectionModel;
 import com.google.inject.Inject;
 
 public class MessagesCellTable extends DataGrid<Message> {
@@ -563,7 +562,7 @@ public class MessagesCellTable extends D
 			return item == null ? null : item.getUid();
 		}
 	};
-	private final SelectionModel<? super Message> selectionModel = new MultiSelectionModel<Message>(KEY_PROVIDER);
+	private final MultiSelectionModel<? super Message> selectionModel = new MultiSelectionModel<Message>(KEY_PROVIDER);
 
 	@Inject
 	public MessagesCellTable(final HupaImageBundle imageBundle, final HupaConstants constants) {
@@ -590,7 +589,8 @@ public class MessagesCellTable extends D
 			public void update(Boolean value) {
 				List<Message> displayedItems = MessagesCellTable.this.getVisibleItems();
 				for (Message msg : displayedItems) {
-					selectionModel.setSelected(msg, value);
+					checkboxCol.getFieldUpdater().update(0, msg, value);
+//					selectionModel.setSelected(msg, value);
 				}
 			}
 		});
@@ -615,7 +615,7 @@ public class MessagesCellTable extends D
 				return getMessageStyle(row);
 			}
 		});
-//		redraw();
+		// redraw();
 		setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
 		setAutoHeaderRefreshDisabled(true);
 		setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0));
@@ -636,7 +636,7 @@ public class MessagesCellTable extends D
 		return row.getFlags().contains(IMAPFlag.SEEN);
 	}
 	public void markRead(final Message message, final boolean read) {
-		
+
 		setRowStyles(new RowStyles<Message>() {
 			@Override
 			public String getStyleNames(Message row, int rowIndex) {
@@ -658,7 +658,15 @@ public class MessagesCellTable extends D
 				@Override
 				public void update(int index, Message object, Boolean value) {
 					selectionModel.setSelected(object, value);
-					toolBarDisplay.enableMessageTools();
+					int size = selectionModel.getSelectedSet().size();
+					if (size == 1) {
+						toolBarDisplay.enableAllTools(true);
+					} else if (size > 1) {
+						toolBarDisplay.enableDealingTools(true);
+						toolBarDisplay.enableSendingTools(false);
+					} else {
+						toolBarDisplay.enableAllTools(false);
+					}
 				}
 			});
 		}

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=1522340&r1=1522339&r2=1522340&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:23:15 2013
@@ -585,21 +585,47 @@ public class ToolBarView extends Composi
 		return simplePopup;
 	}
 
-	// TODO realy disabled the click event of the tool bar coupled with graying
 	@Override
-	public void disableMessageTools() {
+	public void enableAllTools(boolean is) {
+		this.enableSendingTools(is);
+		this.enableDealingTools(is);
+	}
+	@Override
+	public void enableSendingTools(boolean is) {
+		if (is) {
+			removeSendingDisableds();
+		} else {
+			addSendingDisableds();
+		}
+	}
+
+	@Override
+	public void enableDealingTools(boolean is) {
+		if (is) {
+			removeDealingDisableds();
+		} else {
+			addDealingDisableds();
+		}
+	}
+
+	private void addSendingDisableds() {
 		reply.addStyleName(style.disabledButton());
 		replyAllGroup.addStyleName(style.disabledButton());
 		forwardGroup.addStyleName(style.disabledButton());
-		delete.addStyleName(style.disabledButton());
-		mark.addStyleName(style.disabledButton());
 	}
 
-	@Override
-	public void enableMessageTools() {
+	private void removeSendingDisableds() {
 		reply.removeStyleName(style.disabledButton());
 		replyAllGroup.removeStyleName(style.disabledButton());
 		forwardGroup.removeStyleName(style.disabledButton());
+	}
+
+	private void addDealingDisableds() {
+		delete.addStyleName(style.disabledButton());
+		mark.addStyleName(style.disabledButton());
+	}
+
+	private void removeDealingDisableds() {
 		delete.removeStyleName(style.disabledButton());
 <<<<<<< HEAD
 >>>>>>> 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/ui/res/CssMessagesCellTable.css
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/res/CssMessagesCellTable.css?rev=1522340&r1=1522339&r2=1522340&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/res/CssMessagesCellTable.css (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/res/CssMessagesCellTable.css Thu Sep 12 04:23:15 2013
@@ -48,8 +48,8 @@
 	display: table-cell;
 	vertical-align: inherit;
 	padding: 2px 7px;
-	border-left: 1px dotted #bbd3da;
-	border-bottom: 1px solid #111;
+/* 	border-left: 1px dotted #bbd3da;
+	border-bottom: 1px solid #111; */
 }
 
 .dataGridFirstColumnFooter {
@@ -90,8 +90,8 @@
 }
 
 .dataGridEvenRowCell {
-	border-left: 1px dotted #bbd3da;
-	border-bottom: 0px solid #bbd3da;
+/* 	border-left: 1px dotted #bbd3da; */
+	border-bottom: 1px solid #E5E5E5;
 }
 
 .dataGridOddRow {
@@ -99,8 +99,8 @@
 }
 
 .dataGridOddRowCell {
-	border-left: 1px dotted #bbd3da;
-	border-bottom: 0px solid #bbd3da;
+/* 	border-left: 1px dotted #bbd3da; */
+	border-bottom: 1px solid #E5E5E5;
 }
 
 .dataGridHoveredRow {
@@ -108,8 +108,8 @@
 }
 
 .dataGridHoveredRowCell {
-	border-left: 1px dotted #eee;
-	border-bottom: 0px solid #eee;
+/* 	border-left: 1px dotted #bbd3da; */
+	border-bottom: 1px solid #E5E5E5;
 }
 
 .dataGridKeyboardSelectedRow {
@@ -134,8 +134,13 @@
     /*background: linear-gradient(top, #019bc6 0%, #017cb4 100%);*/
 }
 
+
+.dataGridSelectedRow td{
+    border-bottom: 1px dotted #E5E5E5;
+}
+
 .dataGridSelectedRowCell {
-	border-left: 1px dotted #628cd5;
+	/* border-left: 1px dotted #628cd5; */
 	border-bottom: 0px solid #628cd5;
 }
 



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