Author: dongxu Date: Thu Sep 12 03:14:41 2013 New Revision: 1522177 URL: http://svn.apache.org/r1522177 Log: fix the CellTable display
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.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/IMAPMessageListView.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/activity/IMAPMessageListActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java?rev=1522177&r1=1522176&r2=1522177&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java Thu Sep 12 03:14:41 2013 @@ -870,20 +870,13 @@ public class IMAPMessageListActivity ext eventBus.fireEvent(new DecreaseUnseenEvent(user, folder, response.getCount())); } }); - - // dispatcher.execute(new DeleteMessageByUid(folder,uids), new - // HupaEvoCallback<DeleteMessageResult>(dispatcher, eventBus) { - // public void callback(DeleteMessageResult result) { - // eventBus.fireEvent(new - // DecreaseUnseenEvent(user,folder,result.getCount())); - // } - // }); } public IMAPMessageListActivity with(MailFolderPlace place) { this.user = place.getUser(); this.folder = place.getFolder(); this.searchValue = place.getSearchValue(); <<<<<<< HEAD +<<<<<<< HEAD ======= } @Override @@ -1128,6 +1121,8 @@ public class IMAPMessageListActivity ext ======= display.setImapFolder(folder); >>>>>>> use CellTable to deal with MessageTableModel, even a few issues +======= +>>>>>>> fix the CellTable display return this; } @@ -1302,7 +1297,6 @@ public class IMAPMessageListActivity ext public HasValue<String> getSearchValue(); public void fillSearchOracle(List<Message> messages); public void setExpandLoading(boolean expanding); - void setImapFolder(ImapFolder folder); } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java?rev=1522177&r1=1522176&r2=1522177&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java Thu Sep 12 03:14:41 2013 @@ -241,7 +241,7 @@ public class LoginActivity extends Abstr public void bind() { display.getLoginClick().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { - doLogin(); + doLogin();// FIXME double run if press "ENTER" key in the login page } }); <<<<<<< HEAD Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522177&r1=1522176&r2=1522177&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 03:14:41 2013 @@ -912,7 +912,7 @@ System.out.println("1111111"+response); } display.setLoadingMessage(true); - if(messagesRequest == null){ + if (messagesRequest == null) { messagesRequest = requestFactory.messagesRequest(); } GetMessageDetailsRequest req = messagesRequest.append(requestFactory.messageDetailsRequest()); @@ -937,9 +937,6 @@ System.out.println("1111111"+response); eventBus.fireEvent(new DecreaseUnseenEvent(user, folder)); } display.setLoadingMessage(false); - // showMessage(user, folder, message, - // response.getMessageDetails()); - placeController.goTo(messagePlaceProvider.get().with(user, folder, message, response.getMessageDetails())); } @@ -1100,6 +1097,7 @@ System.out.println("1111111"+response); folder = messagesRequest.edit(editableFolder); // folder = (ImapFolder) tItem.getUserObject(); + // FIXME not good to find eventBus.fireEvent(new LoadMessagesEvent(user, folder)); <<<<<<< HEAD >>>>>>> fix the frozen autobean issue, yet another occur @@ -1337,7 +1335,7 @@ System.out.println("1111111"+response); this.searchValue = searchValue; // FIXME goto? -// placeController.goTo(new MailFolderPlace().with(user, folder, searchValue)); + placeController.goTo(new MailFolderPlace().with(user, folder, searchValue)); // placeController.goTo(mailInboxPlaceProvider.get().with(user)); // System.out.println("111"); // placeController.goTo(new 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=1522177&r1=1522176&r2=1522177&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 03:14:41 2013 @@ -416,7 +416,7 @@ public class AppGinModule extends Abstra bind(PagingScrollTableRowDragController.class).in(Singleton.class); bind(MessageTableModel.class).in(Singleton.class); -// bind(MessagesCellTable.class).in(Singleton.class); + bind(MessagesCellTable.class).in(Singleton.class); // Places bind(PlaceHistoryMapper.class).to(AppPlaceHistoryMapper.class).in(Singleton.class); Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java?rev=1522177&r1=1522176&r2=1522177&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java Thu Sep 12 03:14:41 2013 @@ -75,7 +75,6 @@ import com.google.gwt.dom.client.Style.U >>>>>>> Change to new mvp framework - first step import org.apache.hupa.client.bundles.HupaImageBundle; import org.apache.hupa.client.dnd.PagingScrollTableRowDragController; -import org.apache.hupa.client.rf.FetchMessagesRequest; import org.apache.hupa.client.rf.HupaRequestFactory; import org.apache.hupa.client.widgets.CommandsBar; import org.apache.hupa.client.widgets.ConfirmDialogBox; @@ -83,11 +82,12 @@ import org.apache.hupa.client.widgets.Dr import org.apache.hupa.client.widgets.DragRefetchPagingScrollTable.DragHandlerFactory; import org.apache.hupa.client.widgets.EnableButton; import org.apache.hupa.client.widgets.HasDialog; +import org.apache.hupa.shared.data.MessageImpl; import org.apache.hupa.shared.data.MessageImpl.IMAPFlag; -import org.apache.hupa.shared.domain.FetchMessagesAction; -import org.apache.hupa.shared.domain.FetchMessagesResult; import org.apache.hupa.shared.domain.ImapFolder; import org.apache.hupa.shared.domain.Message; +import org.apache.hupa.shared.events.DecreaseUnseenEvent; +import org.apache.hupa.shared.events.ExpandMessageEvent; import org.apache.hupa.widgets.ui.HasEnable; import org.apache.hupa.widgets.ui.Loading; import org.apache.hupa.widgets.ui.PagingOptions; @@ -96,6 +96,7 @@ import org.cobogw.gwt.user.client.ui.But <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> Change to new mvp framework - first step ======= >>>>>>> Change to new mvp framework - first step @@ -108,6 +109,8 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; >>>>>>> use CellTable to deal with MessageTableModel, even a few issues +======= +>>>>>>> fix the CellTable display import com.google.gwt.event.dom.client.ChangeEvent; import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.HasChangeHandlers; @@ -119,6 +122,7 @@ import com.google.gwt.event.dom.client.K <<<<<<< HEAD <<<<<<< HEAD import com.google.gwt.event.shared.EventBus; +<<<<<<< HEAD import com.google.gwt.user.cellview.client.SimplePager; import com.google.gwt.user.cellview.client.SimplePager.TextLocation; import com.google.gwt.user.client.ui.Anchor; @@ -767,6 +771,8 @@ public class IMAPMessageListView extends ======= import com.google.gwt.event.shared.EventBus; >>>>>>> fix some bugs related to RF, and try to use new CellView to replace >>>>>>> gwt-incubator +======= +>>>>>>> fix the CellTable display import com.google.gwt.gen2.table.client.AbstractColumnDefinition; import com.google.gwt.gen2.table.client.AbstractScrollTable.ColumnResizePolicy; import com.google.gwt.gen2.table.client.AbstractScrollTable.ResizePolicy; @@ -794,6 +800,7 @@ import com.google.gwt.i18n.client.DateTi <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD ======= import com.google.gwt.user.cellview.client.AbstractPager; import com.google.gwt.user.cellview.client.DataGrid; @@ -809,6 +816,9 @@ import com.google.gwt.user.cellview.clie import com.google.gwt.user.cellview.client.SimplePager; import com.google.gwt.user.cellview.client.SimplePager.TextLocation; >>>>>>> use CellTable to deal with MessageTableModel, even a few issues +======= +import com.google.gwt.user.cellview.client.SimplePager; +>>>>>>> fix the CellTable display import com.google.gwt.user.client.ui.Anchor; >>>>>>> import com.google.gwt.user.client.ui.Composite; @@ -822,10 +832,9 @@ import com.google.gwt.user.client.ui.Sug import com.google.gwt.user.client.ui.TableListener; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; -import com.google.gwt.view.client.ListDataProvider; +import com.google.gwt.view.client.SelectionChangeEvent; +import com.google.gwt.view.client.SingleSelectionModel; import com.google.inject.Inject; -import com.google.web.bindery.requestfactory.shared.Receiver; -import com.google.web.bindery.requestfactory.shared.ServerFailure; @SuppressWarnings("deprecation") <<<<<<< HEAD @@ -1595,14 +1604,8 @@ public class IMAPMessageListView extends private Button searchButton; private Loading loading; - private MessagesCellTable table; private SimplePager pager; - - private ImapFolder folder; - @Override - public void setImapFolder(ImapFolder folder){ - this.folder = folder; - } + private EventBus eventBus; @Inject public IMAPMessageListView(final PagingScrollTableRowDragController controller, @@ -1611,9 +1614,7 @@ public class IMAPMessageListView extends final MessagesCellTable table) { this.messages = messages; this.imageBundle = imageBundle; - - // table = new MessagesCellTable(eventBus, requestFactory, imageBundle); - this.table = table; + this.eventBus = eventBus; pager = new SimplePager(); pager.setDisplay(table); @@ -1630,7 +1631,6 @@ public class IMAPMessageListView extends this.cTableModel = new CachedTableModel<Message>(mTableModel); cTableModel.setRowCount(MutableTableModel.UNKNOWN_ROW_COUNT); mTableModel.addRowCountChangeHandler(new RowCountChangeHandler() { - public void onRowCountChange(RowCountChangeEvent event) { cTableModel.setRowCount(event.getNewRowCount()); } @@ -1642,11 +1642,9 @@ public class IMAPMessageListView extends createTableDefinitation(), controller, 1); mailTable.setPageSize(20); mailTable.setDragHandler(0, 30, new DragHandlerFactory() { - public Widget createHandler() { return new Image(imageBundle.readyToMoveMailIcon()); } - }); HTML emptyTable = new HTML(constants.emptyMailTable()); @@ -1732,142 +1730,14 @@ public class IMAPMessageListView extends commandsBar.addRight(pager); msgListContainer.add(commandsBar); + + msgListContainer.add(table); // msgListContainer.add(mailTable); - msgListContainer.add(createTable(eventBus, requestFactory, imageBundle)); - // msgListContainer.addSouth(table, DEFAULT_MSG_PAGE_SIZE); confirmBox.setText(messages.confirmDeleteMessages()); confirmDeleteAllBox.setText(messages.confirmDeleteAllMessages()); initWidget(msgListContainer); } - - private boolean pending; - private ListDataProvider<Message> dataProvider = new ListDataProvider<Message>(); - private MessagesCellTable createTable(final EventBus eventBus, final HupaRequestFactory requestFactory, - final HupaImageBundle imageBundle){ - MessagesCellTable table = new MessagesCellTable(eventBus, requestFactory, imageBundle); - table.setWidth("100%", true); - SimplePager.Resources pr = GWT.create(SimplePager.Resources.class); - pager = new SimplePager(TextLocation.CENTER, pr, false, 0, true); - pager.setDisplay(table); - - table.addColumn(new CheckboxColumn()); - table.addColumn(new FromColumn()); - table.addColumn(new SubjectColumn()); - table.addColumn(new AttachmentColumn()); - table.addColumn(new DateColumn()); - - if (!pending) { - pending = true; - Scheduler.get().scheduleFinally(new ScheduledCommand() { - @Override - public void execute() { - pending = false; - fetch(0, requestFactory); - } - }); - } - dataProvider.addDataDisplay(table); - return table; - } - - public void fetch(final int start, final HupaRequestFactory requestFactory) { - FetchMessagesRequest messagesRequest = requestFactory.messagesRequest(); - FetchMessagesAction action = messagesRequest.create(FetchMessagesAction.class); - final ImapFolder folder1 = messagesRequest.create(ImapFolder.class); - folder1.setChildren(this.folder.getChildren()); - folder1.setDelimiter(this.folder.getDelimiter()); - folder1.setFullName(this.folder.getFullName()); - folder1.setMessageCount(this.folder.getMessageCount()); - folder1.setName(this.folder.getName()); - folder1.setSubscribed(this.folder.getSubscribed()); - folder1.setUnseenMessageCount(this.folder.getUnseenMessageCount()); - // FIXME cannot put setFolder to the first place - action.setOffset(table.getPageSize()); - action.setFolder(folder1); - action.setSearchString(null); - action.setStart(start); - messagesRequest.fetch(action).fire(new Receiver<FetchMessagesResult>() { - - @Override - public void onFailure(ServerFailure error) { - if (error.isFatal()) { - throw new RuntimeException(error.getMessage()); - } - } - @Override - public void onSuccess(final FetchMessagesResult result) { - assert result != null; - folder.setMessageCount(result.getRealCount()); - folder.setUnseenMessageCount(result.getRealUnreadCount()); - dataProvider.setList(result.getMessages()); -// table.setRowCount(result.getRealCount()); -// if (result.getMessages() != null) { -// table.setRowData(start + table.getPageSize(), result.getMessages()); -// } else { -// table.setRowData(start +table.getPageSize(), result.getMessages()); -// } - - pager.setPageStart(start); -// if (start == 0 || !table.isRowCountExact()) { -// table.setRowCount(start + result.getMessages().size(), result.getMessages().size() < table.getPageSize()); -// } -// flush(); - // Notify presenter to update folder tree view -// eventBus.fireEvent(new MessagesReceivedEvent(folder1, result.getMessages())); - } - }); - } - - private class CheckboxColumn extends Column<Message, Boolean> { - public CheckboxColumn() { - super(new CheckboxCell()); - } - @Override - public Boolean getValue(Message object) { - return true; - } - } - - private class FromColumn extends Column<Message, String> { - public FromColumn() { - super(new TextCell()); - } - @Override - public String getValue(Message object) { - return object.getFrom(); - } - } - - private class SubjectColumn extends Column<Message, String> { - public SubjectColumn() { - super(new TextCell()); - } - @Override - public String getValue(Message object) { - return object.getSubject(); - } - } - - private class AttachmentColumn extends Column<Message, ImageResource> { - public AttachmentColumn() { - super(new ImageResourceCell()); - } - @Override - public ImageResource getValue(Message object) { - return object.hasAttachment() ? imageBundle.attachmentIcon() : null; - } - } - - private class DateColumn extends Column<Message, Date> { - public DateColumn() { - super(new DateCell(DateTimeFormat.getFormat("dd.MMM.yyyy"))); - } - @Override - public Date getValue(Message object) { - return object.getReceivedDate(); - } - } PageLoadHandler onMessagePageLoadHandler = new PageLoadHandler() { public void onPageLoad(PageLoadEvent event) { 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=1522177&r1=1522176&r2=1522177&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:14:41 2013 @@ -483,11 +483,14 @@ import org.apache.hupa.client.bundles.Hu import org.apache.hupa.client.rf.FetchMessagesRequest; import org.apache.hupa.client.rf.HupaRequestFactory; import org.apache.hupa.shared.data.ImapFolderImpl; +import org.apache.hupa.shared.data.MessageImpl; import org.apache.hupa.shared.domain.FetchMessagesAction; import org.apache.hupa.shared.domain.FetchMessagesResult; 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.DecreaseUnseenEvent; +import org.apache.hupa.shared.events.ExpandMessageEvent; import org.apache.hupa.shared.events.FolderSelectionEvent; import org.apache.hupa.shared.events.FolderSelectionEventHandler; import org.apache.hupa.shared.events.LoadMessagesEvent; @@ -502,21 +505,25 @@ import com.google.gwt.cell.client.Checkb import com.google.gwt.cell.client.DateCell; import com.google.gwt.cell.client.ImageResourceCell; import com.google.gwt.cell.client.TextCell; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.event.shared.EventBus; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.user.cellview.client.CellTable; import com.google.gwt.user.cellview.client.Column; -import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy; import com.google.gwt.user.cellview.client.SimplePager; +import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.RangeChangeEvent; +import com.google.gwt.view.client.SelectionChangeEvent; +import com.google.gwt.view.client.SingleSelectionModel; import com.google.inject.Inject; import com.google.web.bindery.requestfactory.shared.Receiver; import com.google.web.bindery.requestfactory.shared.ServerFailure; public class MessagesCellTable extends CellTable<Message> { - private static final int PAGE_SIZE = 25; + private static final int PAGE_SIZE = 15; private User user; private ImapFolder folder; @@ -527,6 +534,7 @@ public class MessagesCellTable extends C private boolean pending; private SimplePager pager; + private ListDataProvider<Message> dataProvider; public SimplePager getPager(){ return pager; @@ -548,26 +556,15 @@ public class MessagesCellTable extends C pager = new SimplePager(); pager.setDisplay(this); + dataProvider = new ListDataProvider<Message>(); + dataProvider.addDataDisplay(this); setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); - setVisible(true); addRangeChangeHandler(new RangeChangeEvent.Handler() { @Override public void onRangeChange(RangeChangeEvent event) { fetch(event.getNewRange().getStart()); } }); - /* - if (!pending) { - pending = true; - Scheduler.get().scheduleFinally(new ScheduledCommand() { - @Override - public void execute() { - pending = false; - fetch(0); - } - }); - } - */ // bind some Events eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() { @@ -575,7 +572,18 @@ public class MessagesCellTable extends C user = loadMessagesEvent.getUser(); folder = loadMessagesEvent.getFolder(); searchValue = loadMessagesEvent.getSearchValue(); -// fetch(0); + fetch(0); +// if (!pending) { +// pending = true; +// Scheduler.get().scheduleFinally(new ScheduledCommand() { +// @Override +// public void execute() { +// pending = false; +// fetch(0); +// } +// }); +// } + } }); eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() { @@ -592,7 +600,16 @@ public class MessagesCellTable extends C user = event.getUser(); folder = new ImapFolderImpl(user.getSettings().getInboxFolderName()); searchValue = null; -// fetch(0); + if (!pending) { + pending = true; + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + pending = false; + fetch(0); + } + }); + } } }); eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() { @@ -606,22 +623,49 @@ public class MessagesCellTable extends C // this.setRowData(values); + setSelectionModel(selectionModel); + selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { + @Override + public void onSelectionChange(SelectionChangeEvent event) { + refreshSelection(); + } + }); + } + + private final SingleSelectionModel<Message> selectionModel = new SingleSelectionModel<Message>(); + protected void refreshSelection() { + Message message = selectionModel.getSelectedObject(); + if(message == null) return; +// display.setExpandLoading(true); + + if (message.getFlags().contains(MessageImpl.IMAPFlag.SEEN) == false) { + // add flag, fire event and redraw + message.getFlags().add(MessageImpl.IMAPFlag.SEEN); + eventBus.fireEvent(new DecreaseUnseenEvent(user, folder, 1)); + +// display.redraw(); + + } + eventBus.fireEvent(new ExpandMessageEvent(user, folder, message)); + selectionModel.setSelected(message, false); + + } public void fetch(final int start) { FetchMessagesRequest messagesRequest = requestFactory.messagesRequest(); FetchMessagesAction action = messagesRequest.create(FetchMessagesAction.class); - final ImapFolder folder = messagesRequest.create(ImapFolder.class); - folder.setChildren(this.folder.getChildren()); - folder.setDelimiter(this.folder.getDelimiter()); - folder.setFullName(this.folder.getFullName()); - folder.setMessageCount(this.folder.getMessageCount()); - folder.setName(this.folder.getName()); - folder.setSubscribed(this.folder.getSubscribed()); - folder.setUnseenMessageCount(this.folder.getUnseenMessageCount()); + final ImapFolder folder1 = messagesRequest.create(ImapFolder.class); + folder1.setChildren(this.folder.getChildren()); + folder1.setDelimiter(this.folder.getDelimiter()); + folder1.setFullName(this.folder.getFullName()); + folder1.setMessageCount(this.folder.getMessageCount()); + folder1.setName(this.folder.getName()); + folder1.setSubscribed(this.folder.getSubscribed()); + folder1.setUnseenMessageCount(this.folder.getUnseenMessageCount()); // FIXME cannot put setFolder to the first place action.setOffset(getPageSize()); - action.setFolder(folder); + action.setFolder(folder1); action.setSearchString(searchValue); action.setStart(start); messagesRequest.fetch(action).fire(new Receiver<FetchMessagesResult>() { @@ -637,6 +681,7 @@ public class MessagesCellTable extends C assert result != null; MessagesCellTable.this.folder.setMessageCount(result.getRealCount()); MessagesCellTable.this.folder.setUnseenMessageCount(result.getRealUnreadCount()); + dataProvider.setList(result.getMessages()); setRowCount(result.getRealCount()); if (result.getMessages() != null) { setRowData(start + getPageSize(), result.getMessages()); @@ -650,7 +695,7 @@ public class MessagesCellTable extends C } // flush(); // Notify presenter to update folder tree view - eventBus.fireEvent(new MessagesReceivedEvent(folder, result.getMessages())); + eventBus.fireEvent(new MessagesReceivedEvent(folder1, result.getMessages())); } }); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org