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

Reply via email to