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:41:52 UTC
svn commit: r1522377 - in
/james/hupa/trunk/client/src/main/java/org/apache/hupa/client:
activity/MessageListActivity.java ui/MessageListView.java
ui/MessagesCellTable.java ui/ToolBarView.java
Author: dongxu
Date: Thu Sep 12 04:41:52 2013
New Revision: 1522377
URL: http://svn.apache.org/r1522377
Log:
make folders list view refresh automatically according to the actual unread message
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/ui/MessageListView.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
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=1522377&r1=1522376&r2=1522377&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:41:52 2013
@@ -296,6 +296,7 @@ import org.apache.hupa.shared.domain.Use
import org.apache.hupa.shared.events.DeleteClickEvent;
import org.apache.hupa.shared.events.DeleteClickEventHandler;
import org.apache.hupa.shared.events.ExpandMessageEvent;
+import org.apache.hupa.shared.events.RefreshUnreadEvent;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
@@ -321,48 +322,54 @@ public class MessageListActivity extends
container.setWidget(display.asWidget());
bindTo(eventBus);
display.refresh();
-// this.registerHandler(display.getGrid().addCellPreviewHandler(new Handler<Message>() {
-// @Override
-// public void onCellPreview(final CellPreviewEvent<Message> event) {
-// if (hasClickedButFirstCol(event)) {
-// antiSelectMessages(display.getGrid().getVisibleItems());
-// GetMessageDetailsRequest req = rf.messageDetailsRequest();
-// GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
-// final ImapFolder f = req.create(ImapFolder.class);
-// f.setFullName(folderName);
-// action.setFolder(f);
-// action.setUid(event.getValue().getUid());
-// req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
-// @Override
-// public void onSuccess(GetMessageDetailsResult response) {
-// eventBus.fireEvent(new ExpandMessageEvent(user, new ImapFolderImpl(folderName), event
-// .getValue(), response.getMessageDetails()));
-//// display.getGrid().getSelectionModel().setSelected(event.getValue(), true);
-// display.getGrid().noSelectionModel.setSelected(event.getValue(), true);
-// toolBar.enableAllTools(true);
-// ToolBarView.Parameters p = new ToolBarView.Parameters(user, folderName, event.getValue(),
-// response.getMessageDetails());
-// toolBar.setParameters(p);
-// MessagePlace place = new MessagePlace(folderName + AbstractPlace.SPLITTER
-// + event.getValue().getUid());
-// pc.goTo(place);
-// }
-//
-// @Override
-// public void onFailure(ServerFailure error) {
-// if (error.isFatal()) {
-// // log.log(Level.SEVERE, error.getMessage());
-// // TODO write the error message to
-// // status bar.
-// toolBar.enableAllTools(false);
-// throw new RuntimeException(error.getMessage());
-// }
-// }
-// });
-// }
-// }
-//
-// }));
+ this.registerHandler(display.getGrid().addCellPreviewHandler(new Handler<Message>() {
+ @Override
+ public void onCellPreview(final CellPreviewEvent<Message> event) {
+ if (hasClickedButFirstCol(event)) {
+ antiSelectMessages(display.getGrid().getVisibleItems());
+ GetMessageDetailsRequest req = rf.messageDetailsRequest();
+ GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
+ final ImapFolder f = req.create(ImapFolder.class);
+ f.setFullName(folderName);
+ action.setFolder(f);
+ action.setUid(event.getValue().getUid());
+ req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
+ @Override
+ public void onSuccess(GetMessageDetailsResult response) {
+ eventBus.fireEvent(new ExpandMessageEvent(user, new ImapFolderImpl(folderName), event
+ .getValue(), response.getMessageDetails()));
+ // display.getGrid().getSelectionModel().setSelected(event.getValue(),
+ // true);
+ display.getGrid().getSelectionModel().setSelected(event.getValue(), true);
+ toolBar.enableAllTools(true);
+ ToolBarView.Parameters p = new ToolBarView.Parameters(user, folderName, event.getValue(),
+ response.getMessageDetails());
+ toolBar.setParameters(p);
+ MessagePlace place = new MessagePlace(folderName + AbstractPlace.SPLITTER
+ + event.getValue().getUid());
+ pc.goTo(place);
+ display.refresh();
+ eventBus.fireEvent(new RefreshUnreadEvent());
+ }
+
+ @Override
+ public void onFailure(ServerFailure error) {
+ if (error.isFatal()) {
+ // log.log(Level.SEVERE, error.getMessage());
+ // TODO write the error message to
+ // status bar.
+ toolBar.enableAllTools(false);
+ throw new RuntimeException(error.getMessage());
+ }
+ }
+ });
+ }
+ }
+
+ }));
+ }
+ private boolean hasClickedButFirstCol(CellPreviewEvent<Message> event) {
+ return "click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
}
private void bindTo(EventBus eventBus) {
@@ -397,7 +404,7 @@ public class MessageListActivity extends
>>>>>>> make reload message content work, use the same place with folder list, while separated with slash, that looks like Gmail's
public interface Displayable extends WidgetDisplayable {
MessagesCellTable getGrid();
-
+
void refresh();
List<Long> getSelectedMessagesIds();
@@ -431,7 +438,8 @@ public class MessageListActivity extends
@Override
public void onSuccess(DeleteMessageResult response) {
antiSelectMessages(display.getSelectedMessages());
-// refresh();
+ display.refresh();
+ eventBus.fireEvent(new RefreshUnreadEvent());
}
});
}
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=1522377&r1=1522376&r2=1522377&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 04:41:52 2013
@@ -261,7 +261,7 @@ public class MessageListView extends Com
List<Long> selecteds = new ArrayList<Long>();
MultiSelectionModel<? super Message> selectionModel = (MultiSelectionModel<? super Message>) grid
.getSelectionModel();
- NoSelectionModel<? super Message> noSelectionModel = (NoSelectionModel<? super Message>)grid.getSelectionModel();
+// NoSelectionModel<? super Message> noSelectionModel = (NoSelectionModel<? super Message>)grid.getSelectionModel();
selectionModel.getSelectedSet();
for (Message msg : getSelectedMessages()) {
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=1522377&r1=1522376&r2=1522377&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:41:52 2013
@@ -585,7 +585,7 @@ public class MessagesCellTable extends D
}
};
private final MultiSelectionModel<? super Message> selectionModel = new MultiSelectionModel<Message>(KEY_PROVIDER);
- public final NoSelectionModel<Message> noSelectionModel = new NoSelectionModel<Message>(KEY_PROVIDER);
+// public final NoSelectionModel<Message> noSelectionModel = new NoSelectionModel<Message>(KEY_PROVIDER);
PlaceController pc;
HupaRequestFactory rf;
@@ -700,49 +700,49 @@ public class MessagesCellTable extends D
// setSelectionModel(selectionModel,
// DefaultSelectionEventManager.<Message> createCheckboxManager(0));
- setSelectionModel(noSelectionModel, DefaultSelectionEventManager.<Message> createBlacklistManager(0));
+ setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createBlacklistManager(0));
- noSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
- @Override
- public void onSelectionChange(SelectionChangeEvent event) {
- message = noSelectionModel.getLastSelectedObject();
- GetMessageDetailsRequest req = rf.messageDetailsRequest();
- GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
- final ImapFolder f = req.create(ImapFolder.class);
-
- f.setFullName(parseFolderName(pc));
- action.setFolder(f);
- action.setUid(message.getUid());
- req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
- @Override
- public void onSuccess(GetMessageDetailsResult response) {
- // display.getGrid().getSelectionModel().setSelected(event.getValue(),
- // true);
- // noSelectionModel.setSelected(message, true);
- toolBar.enableAllTools(true);
- ToolBarView.Parameters p = new ToolBarView.Parameters(null, folderName, message, response
- .getMessageDetails());
- toolBar.setParameters(p);
- MessagePlace place = new MessagePlace(folderName + AbstractPlace.SPLITTER + message.getUid());
- refresh();
- eventBus.fireEvent(new RefreshUnreadEvent());
- pc.goTo(place);
- }
-
- @Override
- public void onFailure(ServerFailure error) {
- if (error.isFatal()) {
- // log.log(Level.SEVERE, error.getMessage());
- // TODO write the error message to
- // status bar.
- toolBar.enableAllTools(false);
- throw new RuntimeException(error.getMessage());
- }
- }
- });
- }
-
- });
+// selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
+// @Override
+// public void onSelectionChange(SelectionChangeEvent event) {
+// message = eventselectionModel.get;
+// GetMessageDetailsRequest req = rf.messageDetailsRequest();
+// GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
+// final ImapFolder f = req.create(ImapFolder.class);
+//
+// f.setFullName(parseFolderName(pc));
+// action.setFolder(f);
+// action.setUid(message.getUid());
+// req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
+// @Override
+// public void onSuccess(GetMessageDetailsResult response) {
+// // display.getGrid().getSelectionModel().setSelected(event.getValue(),
+// // true);
+// // noSelectionModel.setSelected(message, true);
+// toolBar.enableAllTools(true);
+// ToolBarView.Parameters p = new ToolBarView.Parameters(null, folderName, message, response
+// .getMessageDetails());
+// toolBar.setParameters(p);
+// MessagePlace place = new MessagePlace(folderName + AbstractPlace.SPLITTER + message.getUid());
+// refresh();
+// eventBus.fireEvent(new RefreshUnreadEvent());
+// pc.goTo(place);
+// }
+//
+// @Override
+// public void onFailure(ServerFailure error) {
+// if (error.isFatal()) {
+// // log.log(Level.SEVERE, error.getMessage());
+// // TODO write the error message to
+// // status bar.
+// toolBar.enableAllTools(false);
+// throw new RuntimeException(error.getMessage());
+// }
+// }
+// });
+// }
+//
+// });
if (dataProvider == null) {
dataProvider = new MessageListDataProvider();
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=1522377&r1=1522376&r2=1522377&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:41:52 2013
@@ -682,14 +682,14 @@ public class ToolBarView extends Composi
forwardGroup.addStyleName(style.disabledButton());
replyAllTip.addStyleName(style.disabledButton());
forwardTip.addStyleName(style.disabledButton());
- if(replyReg != null){
- replyReg.removeHandler();
- replyAllReg.removeHandler();
- forwardReg.removeHandler();
- replyReg = null;
- replyAllReg = null;
- forwardReg = null;
- }
+// if(replyReg != null){
+// replyReg.removeHandler();
+// replyAllReg.removeHandler();
+// forwardReg.removeHandler();
+// replyReg = null;
+// replyAllReg = null;
+// forwardReg = null;
+// }
}
private void removeSendingDisableds() {
@@ -699,14 +699,14 @@ public class ToolBarView extends Composi
replyAllTip.removeStyleName(style.disabledButton());
forwardTip.removeStyleName(style.disabledButton());
- if(replyReg != null){
- replyReg.removeHandler();
- replyAllReg.removeHandler();
- forwardReg.removeHandler();
- }
- replyReg = reply.addClickHandler(replyHandler);
- replyAllReg = replyAll.addClickHandler(replyAllHandler);
- forwardReg = forward.addClickHandler(forwardHandler);
+// if(replyReg != null){
+// replyReg.removeHandler();
+// replyAllReg.removeHandler();
+// forwardReg.removeHandler();
+// }
+// replyReg = reply.addClickHandler(replyHandler);
+// replyAllReg = replyAll.addClickHandler(replyAllHandler);
+// forwardReg = forward.addClickHandler(forwardHandler);
}
@@ -716,12 +716,12 @@ public class ToolBarView extends Composi
delete.addStyleName(style.disabledButton());
mark.addStyleName(style.disabledButton());
- if(deleteReg != null){
- deleteReg.removeHandler();
- markReg.removeHandler();
- deleteReg = null;
- markReg = null;
- }
+// if(deleteReg != null){
+// deleteReg.removeHandler();
+// markReg.removeHandler();
+// deleteReg = null;
+// markReg = null;
+// }
}
private void removeDealingDisableds() {
@@ -737,6 +737,7 @@ public class ToolBarView extends Composi
=======
+<<<<<<< HEAD
if(markReg != null){
deleteReg.removeHandler();
markReg.removeHandler();
@@ -745,6 +746,14 @@ public class ToolBarView extends Composi
markReg = mark.addClickHandler(markHandler);
deleteReg = delete.addClickHandler(deleteHandler);
>>>>>>> fixed issue#57 - really disable the tools in toolbar
+=======
+// if(markReg != null){
+// deleteReg.removeHandler();
+// markReg.removeHandler();
+// }
+// markReg = mark.addClickHandler(markHandler);
+// deleteReg = delete.addClickHandler(deleteHandler);
+>>>>>>> make folders list view refresh automatically according to the actual unread message
}
interface ToolBarUiBinder extends UiBinder<FlowPanel, ToolBarView> {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org