Author: norman
Date: Tue Aug 25 10:01:29 2009
New Revision: 807538
URL: http://svn.apache.org/viewvc?rev=807538&view=rev
Log:
Fix increasing / decreasing message count on deletion
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java?rev=807538&r1=807537&r2=807538&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
Tue Aug 25 10:01:29 2009
@@ -90,6 +90,8 @@
public HasEnable getNewEnable();
public void deleteSelectedFolder();
public HasEditable createFolder(EditHandler handler);
+ public void increaseUnseenMessageCount(IMAPFolder folder, int
amount);
+ public void decreaseUnseenMessageCount(IMAPFolder folder, int
amount);
}
protected void loadTreeItems() {
@@ -204,8 +206,11 @@
registerHandler(eventBus.addHandler(DecreaseUnseenEvent.TYPE,
new DecreaseUnseenEventHandler() {
public void onDecreaseUnseenEvent(DecreaseUnseenEvent
event) {
-
-
tItem.descreaseUnseenMessageCount(event.getAmount());
+ // Check if the folder was the trash folder. If
not increase the message count of the trash folder
+ if
(IMAPFolder.DEFAULT_TRASH.equalsIgnoreCase(event.getFolder().getFullName()) ==
false) {
+ display.increaseUnseenMessageCount(new
IMAPFolder(IMAPFolder.DEFAULT_TRASH),event.getAmount());
+ }
+
display.decreaseUnseenMessageCount(event.getFolder(),event.getAmount());
}
}));
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=807538&r1=807537&r2=807538&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 Tue
Aug 25 10:01:29 2009
@@ -381,5 +381,49 @@
return newItem;
}
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#decreaseUnseenMessageCount(org.apache.hupa.shared.data.IMAPFolder,
int)
+ */
+ public void decreaseUnseenMessageCount(IMAPFolder folder, int amount) {
+ int count = folderTree.getItemCount();
+ for (int i = 0; i < count; i++) {
+ IMAPTreeItem item =
findTreeItemForFolder((IMAPTreeItem) folderTree.getItem(i), folder);
+ if (item != null) {
+ item.descreaseUnseenMessageCount(amount);
+ break;
+ }
+
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#increaseUnseenMessageCount(org.apache.hupa.shared.data.IMAPFolder,
int)
+ */
+ public void increaseUnseenMessageCount(IMAPFolder folder, int amount) {
+ int count = folderTree.getItemCount();
+ for (int i = 0; i < count; i++) {
+ IMAPTreeItem item =
findTreeItemForFolder((IMAPTreeItem) folderTree.getItem(i), folder);
+ if (item != null) {
+ item.increaseUnseenMessageCount(amount);
+ break;
+ }
+
+ }
+ }
+ private IMAPTreeItem findTreeItemForFolder(IMAPTreeItem item,
IMAPFolder folder) {
+ if
(folder.getFullName().equalsIgnoreCase(((IMAPFolder)item.getUserObject()).getFullName()))
{
+ return item;
+ }
+ for (int i = 0; i < item.getChildCount(); i++) {
+ IMAPTreeItem tItem =
findTreeItemForFolder((IMAPTreeItem)item.getChild(i),folder);
+ if (tItem != null) {
+ return tItem;
+ }
+ }
+ return null;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]