Author: norman
Date: Sun Aug 23 19:25:01 2009
New Revision: 807004
URL: http://svn.apache.org/viewvc?rev=807004&view=rev
Log:
cancel edit on expose
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=807004&r1=807003&r2=807004&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
Sun Aug 23 19:25:01 2009
@@ -35,12 +35,15 @@
import org.apache.hupa.client.widgets.EditEvent;
import org.apache.hupa.client.widgets.EditHandler;
import org.apache.hupa.client.widgets.HasDialog;
+import org.apache.hupa.client.widgets.HasEditable;
import org.apache.hupa.client.widgets.HasEnable;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.events.DecreaseUnseenEvent;
import org.apache.hupa.shared.events.DecreaseUnseenEventHandler;
+import org.apache.hupa.shared.events.ExpandMessageEvent;
+import org.apache.hupa.shared.events.ExpandMessageEventHandler;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.rpc.CreateFolder;
import org.apache.hupa.shared.rpc.DeleteFolder;
@@ -66,6 +69,7 @@
protected User user;
protected IMAPTreeItem tItem;
protected IMAPFolder folder;
+ private HasEditable editableTreeItem;
@Inject
public IMAPFolderPresenter(Display display, EventBus eventBus,
DispatchAsync dispatcher) {
@@ -85,7 +89,7 @@
public HasEnable getDeleteEnable();
public HasEnable getNewEnable();
public void deleteSelectedFolder();
- public void createFolder(EditHandler handler);
+ public HasEditable createFolder(EditHandler handler);
}
protected void loadTreeItems() {
@@ -188,6 +192,15 @@
@Override
protected void onBind() {
+ registerHandler(eventBus.addHandler(ExpandMessageEvent.TYPE,
new ExpandMessageEventHandler() {
+
+ public void onExpandMessage(ExpandMessageEvent event) {
+ if (editableTreeItem.isEdit()) {
+ editableTreeItem.cancelEdit();
+ }
+ }
+
+ }));
registerHandler(eventBus.addHandler(DecreaseUnseenEvent.TYPE,
new DecreaseUnseenEventHandler() {
public void onDecreaseUnseenEvent(DecreaseUnseenEvent
event) {
@@ -259,7 +272,7 @@
registerHandler(display.getNewClick().addClickHandler(new
ClickHandler() {
public void onClick(ClickEvent event) {
- display.createFolder(new EditHandler() {
+ editableTreeItem = display.createFolder(new
EditHandler() {
public void onEditEvent(EditEvent
event) {
final IMAPTreeItem item =
(IMAPTreeItem)event.getSource();
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=807004&r1=807003&r2=807004&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 Sun
Aug 23 19:25:01 2009
@@ -34,6 +34,7 @@
import org.apache.hupa.client.widgets.EditHandler;
import org.apache.hupa.client.widgets.EditableTree;
import org.apache.hupa.client.widgets.HasDialog;
+import org.apache.hupa.client.widgets.HasEditable;
import org.apache.hupa.client.widgets.HasEnable;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.client.widgets.Loading;
@@ -340,8 +341,8 @@
* (non-Javadoc)
* @see
org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#createFolder(org.apache.hupa.client.widgets.EditHandler)
*/
- public void createFolder(EditHandler handler) {
- IMAPTreeItem selected =
(IMAPTreeItem)folderTree.getSelectedItem();
+ public HasEditable createFolder(EditHandler handler) {
+ final IMAPTreeItem selected =
(IMAPTreeItem)folderTree.getSelectedItem();
IMAPFolder oldFolder = (IMAPFolder) selected.getUserObject();
// Generate a new folder with a whitespace as name, this is
needed as workaround
@@ -359,6 +360,7 @@
if
(event.getEventType().equals(EditEvent.EventType.Cancel)) {
// remove the folder
newItem.remove();
+ folderTree.setSelectedItem(selected,
false);
} else if
(event.getEventType().equals(EditEvent.EventType.Stop)) {
// Select the new created folder and
fire an event
folderTree.setSelectedItem(newItem,
true);
@@ -376,6 +378,8 @@
// reset the text of the new item (remove the whitespace)
newItem.setText("");
+
+ return newItem;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]