Author: dongxu
Date: Thu Sep 12 03:52:25 2013
New Revision: 1522264

URL: http://svn.apache.org/r1522264
Log:
add click handler to every message row

Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml?rev=1522264&r1=1522263&r2=1522264&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
 Thu Sep 12 03:52:25 2013
@@ -116,7 +116,8 @@
                }
                
                @sprite .messageContentWorkAround {
-                       margin: 8px;
+                       margin: 8px 0 8px 8px;
+                       padding-right: 8px;
             gwt-image: 'originLogo';
             background-position: center center;
             width: auto;

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java?rev=1522264&r1=1522263&r2=1522264&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
 Thu Sep 12 03:52:25 2013
@@ -21,6 +21,7 @@ package org.apache.hupa.client.ui;
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -53,6 +54,10 @@ public class MessageListView extends Com
        interface MessageListUiBinder extends UiBinder<SimpleLayoutPanel, 
MessageListView> {
 =======
 =======
+=======
+import java.util.List;
+
+>>>>>>> add click handler to every message row
 import org.apache.hupa.client.activity.MessageListActivity;
 import org.apache.hupa.client.rf.FetchMessagesRequest;
 import org.apache.hupa.client.rf.HupaRequestFactory;
@@ -84,10 +89,10 @@ import com.google.inject.Inject;
 import com.google.web.bindery.requestfactory.shared.Receiver;
 import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
-public class MessageListView extends Composite implements 
MessageListActivity.Displayable {
+public class MessageListView extends Composite implements
+               MessageListActivity.Displayable {
 
-       @UiField(provided = true)
-       DataGrid<Message> table;
+       @UiField(provided = true) DataGrid<Message> table;
        private HupaRequestFactory requestFactory;
        private EventBus eventBus;
        private ImapFolder folder;
@@ -96,7 +101,8 @@ public class MessageListView extends Com
        private boolean pending;
 
        @Inject
-       public MessageListView(final EventBus eventBus, final 
HupaRequestFactory requestFactory,
+       public MessageListView(final EventBus eventBus,
+                       final HupaRequestFactory requestFactory,
                        final MessagesCellTable table) {
                this.requestFactory = requestFactory;
                this.eventBus = eventBus;
@@ -106,12 +112,21 @@ public class MessageListView extends Com
                        @Override
                        public void onCellPreview(CellPreviewEvent<Message> 
event) {
                                if (hasClickedButFirstCol(event)) {
-                                       eventBus.fireEvent(new 
ExpandMessageEvent(user, folder, event.getValue()));
+                                       List<Message> displayedItems = 
table.getVisibleItems();
+                                       for (Message msg : displayedItems) {
+                                               
table.getSelectionModel().setSelected(msg, false);
+                                       }
+                                       
table.getSelectionModel().setSelected(event.getValue(),
+                                                       true);
+                                       eventBus.fireEvent(new 
ExpandMessageEvent(user, folder,
+                                                       event.getValue()));
                                }
                        }
 
-                       private boolean 
hasClickedButFirstCol(CellPreviewEvent<Message> event) {
-                               return 
"click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
+                       private boolean hasClickedButFirstCol(
+                                       CellPreviewEvent<Message> event) {
+                               return 
"click".equals(event.getNativeEvent().getType())
+                                               && 0 != event.getColumn();
                        }
 
                });
@@ -121,19 +136,22 @@ public class MessageListView extends Com
                                fetch(event.getNewRange().getStart());
                        }
                });
-               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
-                       public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
-                               user = loadMessagesEvent.getUser();
-                               folder = loadMessagesEvent.getFolder();
-                               searchValue = 
loadMessagesEvent.getSearchValue();
-                               fetch(0);
+               eventBus.addHandler(LoadMessagesEvent.TYPE,
+                               new LoadMessagesEventHandler() {
+                                       public void onLoadMessagesEvent(
+                                                       LoadMessagesEvent 
loadMessagesEvent) {
+                                               user = 
loadMessagesEvent.getUser();
+                                               folder = 
loadMessagesEvent.getFolder();
+                                               searchValue = 
loadMessagesEvent.getSearchValue();
+                                               fetch(0);
 
-                       }
-               });
+                                       }
+                               });
                eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
                        public void onLogin(LoginEvent event) {
                                user = event.getUser();
-                               folder = new 
ImapFolderImpl(user.getSettings().getInboxFolderName());
+                               folder = new ImapFolderImpl(user.getSettings()
+                                               .getInboxFolderName());
                                searchValue = null;
                                if (!pending) {
                                        pending = true;
@@ -151,7 +169,8 @@ public class MessageListView extends Com
 
        public void fetch(final int start) {
                FetchMessagesRequest messagesRequest = 
requestFactory.messagesRequest();
-               FetchMessagesAction action = 
messagesRequest.create(FetchMessagesAction.class);
+               FetchMessagesAction action = messagesRequest
+                               .create(FetchMessagesAction.class);
                final ImapFolder folder1 = 
messagesRequest.create(ImapFolder.class);
                folder1.setChildren(folder.getChildren());
                folder1.setDelimiter(folder.getDelimiter());
@@ -183,7 +202,8 @@ public class MessageListView extends Com
                                table.setRowData(start, result.getMessages());
 
                                // pager.setPageStart(start);
-//                             eventBus.fireEvent(new 
MessagesReceivedEvent(folder1, result.getMessages()));
+                               // eventBus.fireEvent(new 
MessagesReceivedEvent(folder1,
+                               // result.getMessages()));
                        }
                });
        }
@@ -208,7 +228,8 @@ public class MessageListView extends Com
 >>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
        }
 
-       private static MessageListUiBinder binder = 
GWT.create(MessageListUiBinder.class);
+       private static MessageListUiBinder binder = GWT
+                       .create(MessageListUiBinder.class);
 
 <<<<<<< HEAD
        @Override

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=1522264&r1=1522263&r2=1522264&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 03:52:25 2013
@@ -551,6 +551,7 @@ public class MessagesCellTable extends D
                        KEY_PROVIDER);
 
        static DataGrid.Resources res = GWT.create(DataGridResources.class);
+
        @Inject
        public MessagesCellTable(final HupaImageBundle imageBundle,
                        final HupaConstants constants) {
@@ -566,7 +567,8 @@ public class MessagesCellTable extends D
                                return false;
                        }
                };
-               Header<ImageResource> attachedPin = new 
Header<ImageResource>(headerAttached) {
+               Header<ImageResource> attachedPin = new Header<ImageResource>(
+                               headerAttached) {
                        @Override
                        public ImageResource getValue() {
                                return imageBundle.attachmentIcon();
@@ -585,8 +587,10 @@ public class MessagesCellTable extends D
 
                addColumn(checkboxCol, header);
                setColumnWidth(checkboxCol, 3, Unit.EM);
-//             addColumn(fromCol, new 
SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.mailTableFrom())), 
fromFooter);
-               addColumn(fromCol,constants.mailTableFrom());
+               // addColumn(fromCol, new
+               // 
SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.mailTableFrom())),
+               // fromFooter);
+               addColumn(fromCol, constants.mailTableFrom());
                setColumnWidth(fromCol, 40, Unit.PCT);
                addColumn(subjectCol, constants.mailTableSubject());
                setColumnWidth(subjectCol, 60, Unit.PCT);
@@ -629,6 +633,7 @@ public class MessagesCellTable extends D
                        return object.getFrom();
                }
        }
+
        private class SubjectColumn extends Column<Message, String> {
                public SubjectColumn() {
                        super(new TextCell());
@@ -661,11 +666,6 @@ public class MessagesCellTable extends D
                        return object.getReceivedDate();
                }
        }
-       Header<String> fromFooter = new Header<String>(new TextCell()) {
-             @Override
-             public String getValue() {
-               return "From Footer";
-           };
-       };
+
 }
 >>>>>>> fix some bugs related to RF, and try to use new CellView to replace 
 >>>>>>> gwt-incubator 



---------------------------------------------------------------------
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