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]

Reply via email to