Author: dongxu
Date: Thu Sep 12 05:01:25 2013
New Revision: 1522431
URL: http://svn.apache.org/r1522431
Log:
fixed issue#85, can move one message now in DEMO mode, while not test in Gmail
mode
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListFooterActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LabelListView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.ui.xml
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
Thu Sep 12 05:01:25 2013
@@ -294,13 +294,17 @@ import org.apache.hupa.shared.data.ImapF
>>>>>>> fixed issue#82, make display message first and then mark etc.
import org.apache.hupa.shared.domain.DeleteMessageByUidAction;
import org.apache.hupa.shared.domain.DeleteMessageResult;
+import org.apache.hupa.shared.domain.GenericResult;
import org.apache.hupa.shared.domain.GetMessageDetailsAction;
import org.apache.hupa.shared.domain.GetMessageDetailsResult;
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
+import org.apache.hupa.shared.domain.MoveMessageAction;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.DeleteClickEvent;
import org.apache.hupa.shared.events.DeleteClickEventHandler;
+import org.apache.hupa.shared.events.MoveMessageEvent;
+import org.apache.hupa.shared.events.MoveMessageEventHandler;
import org.apache.hupa.shared.events.RefreshMessagesEvent;
import org.apache.hupa.shared.events.RefreshMessagesEventHandler;
import org.apache.hupa.shared.events.RefreshUnreadEvent;
@@ -320,7 +324,7 @@ public class MessageListActivity extends
@Inject private ToolBarActivity.Displayable toolBar;
@Inject private TopBarActivity.Displayable topBar;
private String folderName;
-// private String searchValue;
+ // private String searchValue;
private User user;
@Override
@@ -377,15 +381,15 @@ public class MessageListActivity extends
return "click".equals(event.getNativeEvent().getType()) && 0 !=
event.getColumn();
}
- private void bindTo(EventBus eventBus) {
+ private void bindTo(final EventBus eventBus) {
eventBus.addHandler(DeleteClickEvent.TYPE, new
DeleteClickEventHandler() {
@Override
public void onDeleteClickEvent(DeleteClickEvent event) {
deleteSelectedMessages();
}
});
-
- eventBus.addHandler(RefreshMessagesEvent.TYPE, new
RefreshMessagesEventHandler(){
+
+ eventBus.addHandler(RefreshMessagesEvent.TYPE, new
RefreshMessagesEventHandler() {
@Override
public void onRefresh(RefreshMessagesEvent event) {
display.setSearchValue(event.getSearchValue());
@@ -393,6 +397,56 @@ public class MessageListActivity extends
}
});
+ eventBus.addHandler(MoveMessageEvent.TYPE, new
MoveMessageEventHandler() {
+
+ @Override
+ public void onMoveMessageHandler(final MoveMessageEvent
event) {
+ hc.showTopLoading("Moving...");
+ MoveMessageRequest req =
rf.moveMessageRequest();
+ ImapFolder f = req.create(ImapFolder.class);
+ ImapFolder newF = req.create(ImapFolder.class);
+
+ String fullName = null;
+ if (pc.getWhere() instanceof FolderPlace) {
+ fullName = ((FolderPlace)
pc.getWhere()).getToken();
+ } else {
+ fullName = ((MessagePlace)
pc.getWhere()).getTokenWrapper().getFolder();
+ }
+ f.setFullName(fullName);
+
newF.setFullName(event.getNewFolder().getFullName());
+ MoveMessageAction action =
req.create(MoveMessageAction.class);
+
+ final List<Long> uids =
display.getSelectedMessagesIds();
+ if(uids.isEmpty() || uids.size() > 1){//TODO
can move more than one message once.
+ hc.hideTopLoading();
+ hc.showNotice("Please select one and
only one message", 10000);
+ return;
+ }
+ action.setMessageUid(uids.get(0));
+ action.setNewFolder(newF);
+ action.setOldFolder(f);
+ req.move(action).fire(new
Receiver<GenericResult>() {
+
+ @Override
+ public void onSuccess(GenericResult
response) {
+ display.refresh();
+ eventBus.fireEvent(new
RefreshUnreadEvent());
+ hc.hideTopLoading();
+ hc.showNotice("The conversation
has been moved to \"" + event.getNewFolder() + "\"", 10000);
+ }
+
+ @Override
+ public void onFailure(ServerFailure
error) {
+ super.onFailure(error);
+ hc.hideTopLoading();
+
hc.showNotice(error.getMessage(), 10000);
+ }
+
+ });
+ }
+
+ });
+
}
public MessageListActivity with(String folderName) {
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListFooterActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListFooterActivity.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListFooterActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListFooterActivity.java
Thu Sep 12 05:01:25 2013
@@ -21,11 +21,15 @@ package org.apache.hupa.client.activity;
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
import org.apache.hupa.shared.data.ImapFolderImpl;
import org.apache.hupa.shared.events.MoveMessageEvent;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
+<<<<<<< HEAD
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
@@ -40,11 +44,18 @@ import com.google.gwt.user.cellview.clie
import com.google.gwt.user.client.ui.AcceptsOneWidget;
>>>>>>> integrate all of the views to their corresponding activities and
>>>>>>> mappers
=======
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.gwt.user.client.ui.HasVisibility;
import com.google.gwt.user.client.ui.IsWidget;
+<<<<<<< HEAD
>>>>>>> replace with IsWidget
+=======
+import com.google.gwt.user.client.ui.ListBox;
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
import com.google.inject.Inject;
public class MessageListFooterActivity extends AppBaseActivity {
@@ -53,6 +64,9 @@ public class MessageListFooterActivity e
public void start(AcceptsOneWidget container, EventBus eventBus) {
container.setWidget(display.asWidget());
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
bindTo(eventBus);
}
@@ -67,8 +81,11 @@ public class MessageListFooterActivity e
}
}
});
+<<<<<<< HEAD
=======
>>>>>>> integrate all of the views to their corresponding activities and
>>>>>>> mappers
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
}
@Inject private Displayable display;
@@ -90,6 +107,8 @@ public class MessageListFooterActivity e
public interface Displayable extends IsWidget {
>>>>>>> replace with IsWidget
SimplePager getPager();
+ HasVisibility getLabelsPanel();
+ ListBox getLabels();
}
>>>>>>> try to rearrange the places and history managment.
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LabelListView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LabelListView.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LabelListView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LabelListView.java
Thu Sep 12 05:01:25 2013
@@ -194,11 +194,9 @@ import org.apache.hupa.client.activity.L
import org.apache.hupa.client.rf.HupaRequestFactory;
import org.apache.hupa.shared.domain.ImapFolder;
-import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
@@ -267,27 +265,6 @@ public class LabelListView extends Compo
}
});
- static class LabelCell extends AbstractCell<LabelNode> {
-
- public LabelCell() {
- }
-
- @Override
- public void render(com.google.gwt.cell.client.Cell.Context
context, LabelNode value, SafeHtmlBuilder sb) {
- if (value == null) {
- return;
- }
-
- if (value.getFolder().getSubscribed()) {
-
sb.appendHtmlConstant(value.getNameForDisplay());
- } else {
- sb.appendHtmlConstant("<span
style='color:gray;'>");
-
sb.appendHtmlConstant(value.getNameForDisplay());
- sb.appendHtmlConstant("</span>");
- }
- }
- }
-
public class ImapLabelListDataProvider extends
AsyncDataProvider<LabelNode> implements HasRefresh {
private HupaRequestFactory rf;
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.java
Thu Sep 12 05:01:25 2013
@@ -21,6 +21,9 @@ package org.apache.hupa.client.ui;
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
import java.util.ArrayList;
import java.util.List;
@@ -35,6 +38,7 @@ import com.google.gwt.user.cellview.clie
import com.google.gwt.user.cellview.client.SimplePager.TextLocation;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasVisibility;
+<<<<<<< HEAD
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -129,21 +133,88 @@ import com.google.gwt.uibinder.client.Ui
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.cellview.client.SimplePager.TextLocation;
import com.google.gwt.user.client.ui.Composite;
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.SimplePanel;
import com.google.inject.Inject;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
public class MessageListFooterView extends Composite implements
MessageListFooterActivity.Displayable {
- @UiField(provided = true)
- SimplePager simplePager;
+ @UiField(provided = true) SimplePager simplePager;
+
+ @UiField ListBox labels;
+ @UiField SimplePanel labelsPanel;
+ private List<LabelNode> folderNodes = new ArrayList<LabelNode>();
+
+ private static final String ROOT_PATH = "imap_root";
@Inject
- public MessageListFooterView(final MessagesCellTable table) {
+ public MessageListFooterView(final MessagesCellTable table, final
HupaRequestFactory rf) {
SimplePager.Resources pagerResources =
GWT.create(SimplePager.Resources.class);
simplePager = new SimplePager(TextLocation.CENTER,
pagerResources, false, 0, true);
simplePager.setDisplay(table);
-// simplePager.setRangeLimited(false);
+ // simplePager.setRangeLimited(false);
initWidget(binder.createAndBindUi(this));
+
+ rf.fetchFoldersRequest().fetch(null, Boolean.TRUE).fire(new
Receiver<List<ImapFolder>>() {
+
+ private String INTENTS = " ";
+
+ @Override
+ public void onSuccess(List<ImapFolder> response) {
+ folderNodes.clear();
+ if (response == null || response.size() == 0) {
+ } else {
+ for (ImapFolder folder : response) {
+ fillCellList(folderNodes,
folder, LabelNode.ROOT, "");
+ }
+ }
+
+ makeParentList();
+ }
+
+ private void fillCellList(List<LabelNode> folderNodes,
ImapFolder curFolder, LabelNode parent,
+ String intents) {
+ LabelNode labelNode = new LabelNode();
+ labelNode.setFolder(curFolder);
+ labelNode.setName(curFolder.getName());
+ labelNode.setNameForDisplay(intents +
curFolder.getName());
+ labelNode.setParent(parent);
+ labelNode.setPath(curFolder.getFullName());
+ folderNodes.add(labelNode);
+ if
("inbox".equalsIgnoreCase(curFolder.getName())) {
+ //
if(selectionModel.getSelectedObject() == null){
+ //
selectionModel.setSelected(labelNode, true);
+ // }
+ }
+ if (curFolder.getHasChildren()) {
+ for (ImapFolder subFolder :
curFolder.getChildren()) {
+ fillCellList(folderNodes,
subFolder, labelNode, intents + INTENTS);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(ServerFailure error) {
+ if (error.isFatal()) {
+ throw new
RuntimeException(error.getMessage());
+ }
+ }
+
+ });
+ }
+
+ private void makeParentList() {
+ labels.clear();
+ labels.addItem("Move to...", ROOT_PATH);
+ for (LabelNode folderNode : this.folderNodes) {
+
labels.addItem(folderNode.getNameForDisplay().replace(" ", ". "),
folderNode.getPath());
+ }
+
}
<<<<<<< HEAD
@@ -175,6 +246,9 @@ public class MessageListFooterView exten
}
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
@Override
public HasVisibility getLabelsPanel() {
return labelsPanel;
@@ -185,8 +259,11 @@ public class MessageListFooterView exten
return labels;
}
+<<<<<<< HEAD
=======
>>>>>>> make login page as one part of the overall layout & splite layout to
>>>>>>> little one
=======
>>>>>>> try to rearrange the places and history managment.
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.ui.xml
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.ui.xml?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.ui.xml
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListFooterView.ui.xml
Thu Sep 12 05:01:25 2013
@@ -24,6 +24,7 @@
<c:SimplePager ui:field="simplePager" />
<g:SimplePanel ui:field="labelsPanel"
addStyleNames="{style.moveMessage}">
<g:ListBox ui:field="labels"></g:ListBox>
+<<<<<<< HEAD
</g:SimplePanel>
</g:HorizontalPanel>
=======
@@ -48,6 +49,8 @@
=======
<g:SimplePanel addStyleNames="{style.moveMessage}">
<g:HTML>Hello</g:HTML>
+=======
+>>>>>>> fixed issue#85, can move one message now in DEMO mode, while not test
in Gmail mode
</g:SimplePanel>
</g:HorizontalPanel>
>>>>>>> remove deprecated code
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
Thu Sep 12 05:01:25 2013
@@ -838,7 +838,7 @@ public class MessagesCellTable extends D
dataProvider.updateRowData(range.getStart(), sortedList);
}
- private String parseFolderName(final PlaceController pc) {
+ public String parseFolderName(final PlaceController pc) {
Place place = pc.getWhere();
if (place instanceof FolderPlace) {
folderName = ((FolderPlace) place).getToken();
Modified:
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java?rev=1522431&r1=1522430&r2=1522431&view=diff
==============================================================================
---
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
(original)
+++
james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
Thu Sep 12 05:01:25 2013
@@ -119,7 +119,11 @@ public class MoveMessageEvent extends Gw
this.message = message;
}
- public User getUser() {
+ public MoveMessageEvent(ImapFolder newFolder) {
+ this.newFolder = newFolder;
+ }
+
+ public User getUser() {
return user;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]