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: [email protected]
For additional commands, e-mail: [email protected]