Author: dongxu
Date: Thu Sep 12 04:13:20 2013
New Revision: 1522312
URL: http://svn.apache.org/r1522312
Log:
beautify the multiuploader
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
james/hupa/trunk/client/src/main/webapp/styles.css
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
Thu Sep 12 04:13:20 2013
@@ -63,6 +63,7 @@ import com.google.gwt.activity.shared.Ac
=======
>>>>>>> make attachments sending work as expected
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.apache.hupa.client.place.ComposePlace;
@@ -130,6 +131,7 @@ public class ComposeActivity extends App
@Inject private Displayable display;
private List<MessageAttachment> attachments = new
ArrayList<MessageAttachment>();
<<<<<<< HEAD
+<<<<<<< HEAD
private Type type = Type.NEW;
<<<<<<< HEAD
>>>>>>> make send text mail work excellently
@@ -138,6 +140,9 @@ public class ComposeActivity extends App
>>>>>>> add user label, yet issue46 occur
=======
private User user;
+=======
+ static private User user;
+>>>>>>> beautify the multiuploader
private ComposePlace place;
>>>>>>> coping with reply and forward sending message
@@ -402,21 +407,19 @@ public class ComposeActivity extends App
=======
>>>>>>> add user label, yet issue46 occur
bindTo(eventBus);
-
- display.getFromList().addItem("demo");
- if (user != null) {// FIXME why user would be a null
+ if (user != null)
display.getFromList().addItem(user.getName());
- }
}
private void bindTo(EventBus eventBus) {
eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+ @Override
public void onLogin(LoginEvent event) {
user = event.getUser();
}
});
registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
-
+
registerHandler(display.getCcClick().addClickHandler(new
ClickHandler() {
@Override
public void onClick(ClickEvent event) {
@@ -526,9 +529,10 @@ public class ComposeActivity extends App
private OnCancelUploaderHandler onCancelUploadHandler = new
OnCancelUploaderHandler() {
public void onCancel(IUploader uploader) {
- for (MessageAttachment attachment : attachments) {
+ for (Iterator<MessageAttachment> i =
attachments.iterator(); i.hasNext();) {
+ MessageAttachment attachment = i.next();
if
(attachment.getName().equals(uploader.getInputName()))
- attachments.remove(attachment);
+ i.remove();
}
}
};
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ToolBarActivity.java
Thu Sep 12 04:13:20 2013
@@ -157,6 +157,8 @@ import org.apache.hupa.shared.events.Exp
import org.apache.hupa.shared.events.ExpandMessageEventHandler;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
+import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.LoginEventHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
@@ -180,15 +182,22 @@ public class ToolBarActivity extends App
>>>>>>> integrate all of the views to their corresponding activities and
>>>>>>> mappers
=======
private void bindTo(EventBus eventBus) {
+ eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+ @Override
+ public void onLogin(LoginEvent e) {
+ display.setParameters(new
Parameters(e.getUser(), null, null, null));
+ }
+ });
eventBus.addHandler(LoadMessagesEvent.TYPE, new
LoadMessagesEventHandler() {
- public void onLoadMessagesEvent(LoadMessagesEvent
loadMessagesEvent) {
+ public void onLoadMessagesEvent(LoadMessagesEvent e) {
display.disableMessageTools();
+ display.setParameters(new
Parameters(e.getUser(), e.getFolder(), null, null));
}
});
eventBus.addHandler(ExpandMessageEvent.TYPE, new
ExpandMessageEventHandler() {
public void onExpandMessage(ExpandMessageEvent event) {
display.enableMessageTools();
- display.setParameters(new
Parameters(event.getFolder(), event.getMessage(), null));
+ display.setParameters(new
Parameters(event.getUser(), event.getFolder(), event.getMessage(), null));
}
});
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
Thu Sep 12 04:13:20 2013
@@ -32,10 +32,7 @@ import org.apache.hupa.widgets.editor.Ed
import org.apache.hupa.widgets.ui.MultiValueSuggestArea;
import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -99,12 +96,10 @@ import com.google.gwt.user.client.ui.Anc
>>>>>>> composing composing panel
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DecoratorPanel;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
import com.google.gwt.user.client.ui.HasHTML;
import com.google.gwt.user.client.ui.HasText;
@@ -197,8 +192,8 @@ public class ComposeView extends Composi
private void createEditor(HupaConstants constants) {
editor = new Editor();
BaseUploadStatus uploadStatus = new BaseUploadStatus();
-
uploadStatus.setCancelConfiguration(IUploadStatus.GMAIL_CANCEL_CFG);
- uploader = new MultiUploader(FileInputType.CUSTOM.with(button),
uploadStatus);
+
uploadStatus.setCancelConfiguration(IUploadStatus.DEFAULT_CANCEL_CFG);
+ uploader = new MultiUploader(FileInputType.ANCHOR,
uploadStatus);
uploader.setServletPath(GWT.getModuleBaseURL() +
SConsts.SERVLET_UPLOAD);
uploader.avoidRepeatFiles(true);
uploader.setI18Constants(constants);
@@ -295,28 +290,12 @@ public class ComposeView extends Composi
addFollowupButton.addStyleName(style.add());
addOpsPanel.add(addCcButton);
addOpsPanel.add(addBccButton);
- addOpsPanel.add(addReplyButton);
- addOpsPanel.add(addFollowupButton);
+ // TODO the other operations
+ // addOpsPanel.add(addReplyButton);
+ // addOpsPanel.add(addFollowupButton);
return addOpsPanel;
}
- class MyFancyLookingButton extends Composite implements
HasClickHandlers {
- DecoratorPanel widget = new DecoratorPanel();
-
- public MyFancyLookingButton() {
- DecoratorPanel widget = new DecoratorPanel();
- initWidget(widget);
- widget.setWidget(new HTML("Choose ..."));
- widget.setSize("100px", "50px");
- }
-
- public HandlerRegistration addClickHandler(ClickHandler
handler) {
- return addDomHandler(handler, ClickEvent.getType());
- }
- }
-
- MyFancyLookingButton button = new MyFancyLookingButton();
-
HasText emptyText = new HasText() {
@Override
public String getText() {
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.ui.xml
Thu Sep 12 04:13:20 2013
@@ -273,6 +273,12 @@
overflow: hidden;
text-overflow: ellipsis;
}
+
+ .uploader{
+
+}
+.uploaderCancel{}
+.uploaderFilename{}
</ui:style>
<g:DockLayoutPanel ui:field="thisPanel" unit="PX"
addStyleNames="{style.box}">
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
Thu Sep 12 04:13:20 2013
@@ -23,12 +23,17 @@ import java.util.List;
import org.apache.hupa.client.place.MailFolderPlace;
import org.apache.hupa.client.rf.HupaRequestFactory;
+import org.apache.hupa.shared.data.ImapFolderImpl;
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.LoadMessagesEvent;
+import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.LoginEventHandler;
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.cell.client.ValueUpdater;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -48,28 +53,30 @@ import com.google.web.bindery.requestfac
public class FoldersTreeViewModel implements TreeViewModel {
@Inject private HupaRequestFactory rf;
- @Inject private EventBus eventBus;
@Inject private PlaceController placeController;
// @Inject private Provider<MailFolderPlace> folderPlaceProvider;
private User user;
private ImapFolder currentFolder;
+ private EventBus eventBus;
- public FoldersTreeViewModel() {
-
- selectionModel
- .addSelectionChangeHandler(new
SelectionChangeEvent.Handler() {
- @SuppressWarnings("unchecked")
- @Override
- public void
onSelectionChange(SelectionChangeEvent event) {
-
SingleSelectionModel<ImapFolder> selectionModel =
(SingleSelectionModel<ImapFolder>) event
- .getSource();
- currentFolder =
selectionModel.getSelectedObject();
- eventBus.fireEvent(new
LoadMessagesEvent(user,
-
selectionModel.getSelectedObject()));
- placeController.goTo(new
MailFolderPlace(selectionModel
-
.getSelectedObject().getFullName()));
- }
- });
+ @Inject
+ public FoldersTreeViewModel(final EventBus eventBus) {
+ this.eventBus = eventBus;
+ selectionModel.addSelectionChangeHandler(new
SelectionChangeEvent.Handler() {
+ @SuppressWarnings("unchecked")
+ @Override
+ public void onSelectionChange(SelectionChangeEvent
event) {
+ SingleSelectionModel<ImapFolder> selectionModel
= (SingleSelectionModel<ImapFolder>) event.getSource();
+ currentFolder =
selectionModel.getSelectedObject();
+ eventBus.fireEvent(new LoadMessagesEvent(user,
selectionModel.getSelectedObject()));
+ placeController.goTo(new
MailFolderPlace(selectionModel.getSelectedObject().getFullName()));
+ }
+ });
+ eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+ public void onLogin(LoginEvent event) {
+ user = event.getUser();
+ }
+ });
}
private final SingleSelectionModel<ImapFolder> selectionModel = new
SingleSelectionModel<ImapFolder>(
@@ -86,34 +93,30 @@ public class FoldersTreeViewModel implem
*/
@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
- return new DefaultNodeInfo<ImapFolder>(new
ImapFolderListDataProvider(
- (ImapFolder) value), new
AbstractCell<ImapFolder>(ClickEvent
- .getType().getName()) {
- // TODO different images for each folder
- @Override
- public void render(Context context, ImapFolder value,
- SafeHtmlBuilder sb) {
- if (value != null) {
- sb.appendEscaped(value.getName());
- }
- }
+ return new DefaultNodeInfo<ImapFolder>(new
ImapFolderListDataProvider((ImapFolder) value),
+ new
AbstractCell<ImapFolder>(ClickEvent.getType().getName()) {
+ // TODO different images for each folder
+ @Override
+ public void render(Context context,
ImapFolder value, SafeHtmlBuilder sb) {
+ if (value != null) {
+
sb.appendEscaped(value.getName());
+ }
+ }
- // TODO is this a click event?
- @Override
- public void onBrowserEvent(Context context, Element
parent,
- ImapFolder value, NativeEvent event,
- ValueUpdater<ImapFolder> valueUpdater) {
- if (clickSameFolder(value)) {
- eventBus.fireEvent(new
LoadMessagesEvent(user, value));
- placeController.goTo(new
MailFolderPlace(value
- .getFullName()));
- }
- }
+ // TODO is this a click event?
+ @Override
+ public void onBrowserEvent(Context
context, Element parent, ImapFolder value, NativeEvent event,
+
ValueUpdater<ImapFolder> valueUpdater) {
+ if (clickSameFolder(value)) {
+ eventBus.fireEvent(new
LoadMessagesEvent(user, value));
+
placeController.goTo(new MailFolderPlace(value.getFullName()));
+ }
+ }
- private boolean clickSameFolder(ImapFolder value) {
- return value == currentFolder;
- }
- }, selectionModel, null);
+ private boolean
clickSameFolder(ImapFolder value) {
+ return value == currentFolder;
+ }
+ }, selectionModel, null);
}
class ImapFolderListDataProvider extends AsyncDataProvider<ImapFolder> {
@@ -131,25 +134,24 @@ public class FoldersTreeViewModel implem
@Override
protected void onRangeChanged(HasData<ImapFolder> display) {
- rf.fetchFoldersRequest().fetch(folder)
- .fire(new Receiver<List<ImapFolder>>() {
- @Override
- public void
onSuccess(List<ImapFolder> response) {
- if (response == null ||
response.size() == 0) {
-
updateRowCount(-1, true);
- } else {
-
updateRowData(0, response);
- }
- }
+ rf.fetchFoldersRequest().fetch(folder).fire(new
Receiver<List<ImapFolder>>() {
+ @Override
+ public void onSuccess(List<ImapFolder>
response) {
+ if (response == null || response.size()
== 0) {
+ updateRowCount(-1, true);
+ } else {
+ updateRowData(0, response);
+ }
+ }
- @Override
- public void
onFailure(ServerFailure error) {
- if (error.isFatal()) {
- throw new
RuntimeException(error.getMessage());
- }
- }
+ @Override
+ public void onFailure(ServerFailure error) {
+ if (error.isFatal()) {
+ throw new
RuntimeException(error.getMessage());
+ }
+ }
- });
+ });
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java?rev=1522312&r1=1522311&r2=1522312&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
Thu Sep 12 04:13:20 2013
@@ -34,6 +34,7 @@ import org.apache.hupa.shared.events.Del
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.MessageDetails;
+<<<<<<< HEAD
>>>>>>> coping with reply and forward sending message
import com.google.gwt.core.client.GWT;
@@ -44,6 +45,9 @@ import com.google.gwt.event.dom.client.C
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
=======
+=======
+import org.apache.hupa.shared.domain.User;
+>>>>>>> beautify the multiuploader
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -371,7 +375,7 @@ public class ToolBarView extends Composi
@UiField Style style;
private Parameters parameters;
-
+
public Parameters getParameters() {
return parameters;
}
@@ -382,16 +386,26 @@ public class ToolBarView extends Composi
}
public static class Parameters {
+ private User user;
private ImapFolder folder;
private Message oldmessage;
private MessageDetails oldDetails;
- public Parameters(ImapFolder folder, Message oldmessage,
MessageDetails oldDetails) {
+ public Parameters(User user, ImapFolder folder, Message
oldmessage, MessageDetails oldDetails) {
+ this.user = user;
this.folder = folder;
this.oldmessage = oldmessage;
this.oldDetails = oldDetails;
}
+ public User getUser() {
+ return user;
+ }
+
+ public void setUser(User user) {
+ this.user = user;
+ }
+
public ImapFolder getFolder() {
return folder;
}
@@ -423,7 +437,7 @@ public class ToolBarView extends Composi
@UiHandler("compose")
void handleClick(ClickEvent e) {
- placeController.goTo(new ComposePlace("new"));
+ placeController.goTo(new ComposePlace("new").with(parameters));
}
@UiHandler("reply")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]