Author: norman
Date: Mon Aug 24 18:00:16 2009
New Revision: 807322
URL: http://svn.apache.org/viewvc?rev=807322&view=rev
Log:
only bind handlers if the presenter is not already bound
fix deleting of rows from the table
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java
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=807322&r1=807321&r2=807322&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
Mon Aug 24 18:00:16 2009
@@ -83,6 +83,7 @@
private String searchValue;
private DispatchAsync dispatcher;
private ShowMessageTableListener tableListener = new
ShowMessageTableListener();
+ private boolean isBound = false;
public final static Place PLACE = new Place("IMAPMessageList");
@@ -167,7 +168,7 @@
}));
display.addTableListener(tableListener);
-
+ isBound = true;
}
private void deleteMessages() {
@@ -190,7 +191,10 @@
this.user = user;
this.folder = folder;
this.searchValue = searchValue;
- bind();
+ // workaround
+ if (isBound == false) {
+ bind();
+ }
refreshDisplay();
}
@Override
@@ -204,6 +208,7 @@
display.removeTableListener(tableListener);
display.reset();
display.deselectAllMessages();
+ isBound = false;
}
public void refreshDisplay() {
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java?rev=807322&r1=807321&r2=807322&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
Mon Aug 24 18:00:16 2009
@@ -113,7 +113,6 @@
private Hyperlink allLink = new Hyperlink(constants.all(),"");
private Hyperlink noneLink = new Hyperlink(constants.none(),"");
-
@Inject
public IMAPMessageListView(DispatchAsync dispatcher,EventBus bus,
PagingScrollTableRowDragController controller) {
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=807322&r1=807321&r2=807322&view=diff
==============================================================================
---
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
(original)
+++
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
Mon Aug 24 18:00:16 2009
@@ -74,6 +74,7 @@
private DispatchAsync dispatcher;
private IMAPFolder folder;
private User user;
+ private boolean isBound = false;
@Inject
private IMAPMessagePresenter(IMAPMessagePresenter.Display
display,EventBus bus, DispatchAsync dispatcher) {
@@ -86,7 +87,9 @@
this.message = message;
this.folder = folder;
this.user = user;
- bind();
+ if (isBound == false) {
+ bind();
+ }
refreshDisplay();
}
@@ -149,7 +152,7 @@
}
}));
-
+ isBound = true;
}
@Override
@@ -181,7 +184,7 @@
@Override
protected void onUnbind() {
-
+ isBound = false;
}
public void refreshDisplay() {
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java?rev=807322&r1=807321&r2=807322&view=diff
==============================================================================
---
labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java
(original)
+++
labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java
Mon Aug 24 18:00:16 2009
@@ -23,6 +23,7 @@
import java.util.HashSet;
import java.util.Iterator;
+import com.google.gwt.core.client.GWT;
import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
import com.google.gwt.gen2.table.client.FixedWidthGrid;
import com.google.gwt.gen2.table.client.MutableTableModel;
@@ -97,10 +98,12 @@
// Check if we found any rows to remove
if (rowsIndex.isEmpty() == false) {
// remove the row value on deletion
- getRowValues().removeAll(rows);
- selectedRows.removeAll(rows);
for (int i = 0; i <rowsIndex.size();i++) {
- ((MutableTableModel)
getTableModel()).removeRow(rowsIndex.get(i));
+ int index = rowsIndex.get(i) -i;
+ selectedRows.remove(getRowValue(index));
+ getRowValues().remove(index);
+
+ ((MutableTableModel)
getTableModel()).removeRow(index);
}
// Check if we need to refetch rows
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]