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