Author: norman
Date: Thu Aug 13 17:09:04 2009
New Revision: 803949
URL: http://svn.apache.org/viewvc?rev=803949&view=rev
Log:
Decrease unseen message count on delete if the message was not seen
Some javadocs / cleanup
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java?rev=803949&r1=803948&r2=803949&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java Thu
Aug 13 17:09:04 2009
@@ -32,6 +32,7 @@
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.IMAPMessage;
import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.LogoutEvent;
@@ -143,6 +144,11 @@
panel.add(folderTree);
}
+ /**
+ * Drop controller which handle drop on TreeItems
+ *
+ *
+ */
private class IMAPFolderDropController extends SimpleDropController {
private IMAPTreeItem item;
@@ -151,16 +157,34 @@
this.item = item;
}
+ /**
+ * Veto the Drop if the folder is the same
+ */
+ @Override
public void onPreviewDrop(DragContext context) throws
VetoDragException {
if (item.equals(folderTree.getSelectedItem())) {
throw new VetoDragException();
}
}
+ /**
+ * Set the right unseen count on the folders and fire an event
+ */
+ @Override
public void onDrop(DragContext context) {
- bus.fireEvent(new
MoveMessageEvent(user,(IMAPFolder)folderTree.getSelectedItem().getUserObject(),(IMAPFolder)item.getUserObject(),(IMAPMessage)controller.getDragValue()));
+ IMAPTreeItem oldTreeItem =
(IMAPTreeItem)folderTree.getSelectedItem();
+ IMAPMessage message =
(IMAPMessage)controller.getDragValue();
+ if (message.getFlags().contains(IMAPFlag.SEEN) ==
false) {
+ oldTreeItem.decreaseUnseenMessageCount();
+ item.increaseUnseenMessageCount();
+ }
+ bus.fireEvent(new
MoveMessageEvent(user,(IMAPFolder)oldTreeItem.getUserObject(),(IMAPFolder)item.getUserObject(),message));
}
+ /**
+ * Update the proxy widget to show its valid to drop it
+ *
+ */
@Override
public void onEnter(DragContext context) {
if (item.equals(folderTree.getSelectedItem()) == false)
{
@@ -169,6 +193,9 @@
super.onEnter(context);
}
+ /**
+ * Update the proxy widget to show its invalid to drop it
+ */
@Override
public void onLeave(DragContext context) {
controller.getCurrentProxy().setIsValid(false);
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=803949&r1=803948&r2=803949&view=diff
==============================================================================
---
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
(original)
+++
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
Thu Aug 13 17:09:04 2009
@@ -34,6 +34,7 @@
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.IMAPMessage;
import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.events.DecreaseUnseenEvent;
import org.apache.hupa.shared.events.ExpandMessageEvent;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
@@ -137,7 +138,6 @@
public void onMoveMessageHandler(MoveMessageEvent
event) {
final long uid = event.getMessage().getUid();
- GWT.log("Start moving",null);
dispatcher.execute(new
MoveMessage(event.getUser().getSessionId(),event.getOldFolder(),event.getNewFolder(),uid),
new AsyncCallback<MoveMessageResult>() {
public void onFailure(Throwable caught)
{
@@ -148,8 +148,6 @@
ArrayList<Long> uidArray = new
ArrayList<Long>();
uidArray.add(uid);
display.removeMessages(uidArray);
- GWT.log("Stop moving",null);
-
}
});
@@ -217,6 +215,7 @@
public void onSuccess(DeleteMessageResult result) {
display.removeMessages(result.getMessageUids());
+ eventBus.fireEvent(new
DecreaseUnseenEvent(user,folder));
}
});
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]