You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 06:34:32 UTC
svn commit: r1522363 - in
/james/hupa/trunk/client/src/main/java/org/apache/hupa/client:
activity/LabelListActivity.java activity/MessageListActivity.java
activity/ToolBarActivity.java mapper/MessageListActivityMapper.java
ui/ToolBarView.java
Author: dongxu
Date: Thu Sep 12 04:34:31 2013
New Revision: 1522363
URL: http://svn.apache.org/r1522363
Log:
fixed issue#57 - really disable the tools in toolbar
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java
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/ToolBarActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java?rev=1522363&r1=1522362&r2=1522363&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LabelListActivity.java Thu Sep 12 04:34:31 2013
@@ -21,6 +21,7 @@ package org.apache.hupa.client.activity;
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
import org.apache.hupa.client.HupaController;
import org.apache.hupa.client.rf.DeleteFolderRequest;
import org.apache.hupa.client.ui.LabelNode;
@@ -116,6 +117,8 @@ public class LabelListActivity extends A
=======
import org.apache.hupa.client.ui.LabelNode;
>>>>>>> add rename RF to label setting feature
+=======
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import org.apache.hupa.client.ui.WidgetDisplayable;
import com.google.gwt.event.shared.EventBus;
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=1522363&r1=1522362&r2=1522363&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 04:34:31 2013
@@ -282,6 +282,8 @@ import org.apache.hupa.shared.domain.Get
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
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.ExpandMessageEvent;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
@@ -422,6 +424,12 @@ public class MessageListActivity extends
}
});
+ eventBus.addHandler(DeleteClickEvent.TYPE, new DeleteClickEventHandler(){
+ @Override
+ public void onDeleteClickEvent(DeleteClickEvent event) {
+ deleteSelectedMessages();
+ }
+ });
}
@@ -463,7 +471,7 @@ public class MessageListActivity extends
display.getGrid().getSelectionModel().setSelected(msg, false);
}
}
- public void deleteSelectedMessages() {
+ private void deleteSelectedMessages() {
MailFolderPlace currentPlace = (MailFolderPlace) placeController.getWhere();
final List<Long> uids = display.getSelectedMessagesIds();
DeleteMessageByUidRequest req = requestFactory.deleteMessageByUidRequest();
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=1522363&r1=1522362&r2=1522363&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:34:31 2013
@@ -33,12 +33,15 @@ import org.apache.hupa.client.place.Fold
=======
import org.apache.hupa.client.HupaController;
<<<<<<< HEAD
+<<<<<<< HEAD
>>>>>>> fixed issue#61; add loading to mark, unmark.
=======
import org.apache.hupa.client.place.ComposePlace;
>>>>>>> scrub code
import org.apache.hupa.client.place.MailFolderPlace;
>>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in toolsbar
+=======
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import org.apache.hupa.client.rf.SetFlagRequest;
import org.apache.hupa.client.ui.MessagesCellTable;
import org.apache.hupa.client.ui.ToolBarView.Parameters;
@@ -186,9 +189,9 @@ import com.google.gwt.event.dom.client.C
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.PopupPanel;
-import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.google.web.bindery.requestfactory.shared.Receiver;
@@ -197,10 +200,10 @@ public class ToolBarActivity extends App
@Inject private Displayable display;
@Inject private MessagesCellTable table;
@Inject private MessageListActivity.Displayable messagesDisplay;
- @Inject private MessageListActivity messageListActivity;
@Inject private HupaController hupaController;
//FIXME messagesDisplay can not be injected into ToolBarView, why?
private String folderName;
+
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
@@ -225,15 +228,6 @@ public class ToolBarActivity extends App
=======
private void bindTo(EventBus eventBus) {
- registerHandler(display.getMark().addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- Widget source = (Widget) event.getSource();
- int left = source.getAbsoluteLeft();
- int top = source.getAbsoluteTop() + source.getOffsetHeight();
- display.getPopup().setPopupPosition(left, top);
- display.getPopup().show();
- }
- }));
registerHandler(display.getMarkRead().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
@@ -250,17 +244,16 @@ public class ToolBarActivity extends App
display.getPopup().hide();
}
}));
- registerHandler(display.getDelete().addClickHandler(new ClickHandler(){
-
- @Override
- public void onClick(ClickEvent event) {
- if (!(placeController.getWhere() instanceof MailFolderPlace))
- return;
- messageListActivity.deleteSelectedMessages();
- }
- }));
+
+ registerHandler(display.getDeleteReg());
+ registerHandler(display.getMarkReg());
+ registerHandler(display.getReplyReg());
+ registerHandler(display.getReplyAllReg());
+ registerHandler(display.getForwardReg());
}
+
+
protected void toMarkRead(boolean read) {
List<Long> uids = new ArrayList<Long>();
for (Message msg : table.getVisibleItems()) {
@@ -290,6 +283,11 @@ public class ToolBarActivity extends App
public interface Displayable extends WidgetDisplayable {
void enableSendingTools(boolean is);
+ HandlerRegistration getForwardReg();
+ HandlerRegistration getReplyAllReg();
+ HandlerRegistration getReplyReg();
+ HandlerRegistration getMarkReg();
+ HandlerRegistration getDeleteReg();
void enableDealingTools(boolean is);
void enableAllTools(boolean is);
@@ -310,6 +308,7 @@ public class ToolBarActivity extends App
HasClickHandlers getDelete();
PopupPanel getPopup();
+ HasClickHandlers getCompose();
}
>>>>>>> add enable tool bar buttons toggling event, with being related to issue #31
}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java?rev=1522363&r1=1522362&r2=1522363&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java Thu Sep 12 04:34:31 2013
@@ -94,13 +94,15 @@ public class MessageListActivityMapper i
>>>>>>> integrate all of the views to their corresponding activities and mappers
=======
public Activity getActivity(final Place place) {
- if (place instanceof MailFolderPlace) {
- return new ActivityAsyncProxy() {
- @Override
- protected void doAsync(RunAsyncCallback callback) {
- GWT.runAsync(callback);
- }
+ if (!(place instanceof MailFolderPlace))
+ return null;
+ return new ActivityAsyncProxy() {
+ @Override
+ protected void doAsync(RunAsyncCallback callback) {
+ GWT.runAsync(callback);
+ }
+<<<<<<< HEAD
@Override
protected Activity createInstance() {
return messageListActivityProvider.get().with(((MailFolderPlace) place).getFullName());
@@ -109,5 +111,12 @@ public class MessageListActivityMapper i
}
return null;
>>>>>>> support code split
+=======
+ @Override
+ protected Activity createInstance() {
+ return messageListActivityProvider.get().with(((MailFolderPlace) place).getFullName());
+ }
+ };
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
}
}
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=1522363&r1=1522362&r2=1522363&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:34:31 2013
@@ -27,12 +27,17 @@ import org.apache.hupa.client.activity.T
import org.apache.hupa.client.place.ComposePlace;
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+import org.apache.hupa.client.place.MailFolderPlace;
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import org.apache.hupa.client.rf.HupaRequestFactory;
<<<<<<< HEAD
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.MessageDetails;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.DeleteClickEvent;
+<<<<<<< HEAD
=======
=======
import java.util.ArrayList;
@@ -67,6 +72,8 @@ import com.google.gwt.event.shared.Event
=======
import org.apache.hupa.shared.domain.User;
>>>>>>> beautify the multiuploader
+=======
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -77,11 +84,17 @@ import com.google.gwt.event.dom.client.C
import com.google.gwt.event.dom.client.ClickHandler;
>>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
import com.google.gwt.event.dom.client.HasClickHandlers;
+<<<<<<< HEAD
>>>>>>> coping with reply and forward sending message
+=======
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
+<<<<<<< HEAD
import com.google.gwt.uibinder.client.UiHandler;
<<<<<<< HEAD
import com.google.gwt.user.client.ui.Anchor;
@@ -374,6 +387,8 @@ import com.google.gwt.uibinder.client.Ui
import com.google.gwt.uibinder.client.UiField;
=======
>>>>>>> composing composing panel
+=======
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DecoratedPopupPanel;
@@ -388,6 +403,7 @@ public class ToolBarView extends Composi
@Inject private PlaceController placeController;
@Inject private HupaRequestFactory requestFactory;
+ @Inject private EventBus eventBus;
@UiField Anchor refresh;
@UiField Anchor compose;
@@ -400,6 +416,12 @@ public class ToolBarView extends Composi
@UiField Anchor mark;
@UiField Anchor more;
+ HandlerRegistration replyReg;
+ HandlerRegistration replyAllReg;
+ HandlerRegistration forwardReg;
+ HandlerRegistration deleteReg;
+ HandlerRegistration markReg;
+
@UiField Style style;
interface Style extends CssResource {
@@ -474,25 +496,6 @@ public class ToolBarView extends Composi
}
}
- @UiHandler("compose")
- void handleCompose(ClickEvent e){
- placeController.goTo(new ComposePlace("new").with(parameters));
- }
-
- @UiHandler("reply")
- void handleReplyClick(ClickEvent e) {
- placeController.goTo(new ComposePlace("reply").with(parameters));
- }
-
- @UiHandler("replyAll")
- void handleReplyAllClick(ClickEvent e) {
- placeController.goTo(new ComposePlace("replyAll").with(parameters));
- }
-
- @UiHandler("forward")
- void handleForwardClick(ClickEvent e) {
- placeController.goTo(new ComposePlace("forward").with(parameters));
- }
public ToolBarView() {
initWidget(binder.createAndBindUi(this));
@@ -534,9 +537,59 @@ public class ToolBarView extends Composi
popup.add(markRead);
popup.add(markUnread);
simplePopup.setWidget(popup);
+<<<<<<< HEAD
>>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
+=======
+
+ markReg = mark.addClickHandler(markHandler);
+ deleteReg = delete.addClickHandler(deleteHandler);
+ replyReg = reply.addClickHandler(replyHandler);
+ replyAllReg = replyAll.addClickHandler(replyAllHandler);
+ forwardReg = forward.addClickHandler(forwardHandler);
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
}
+ private ClickHandler forwardHandler = new ClickHandler(){
+
+ @Override
+ public void onClick(ClickEvent event) {
+ placeController.goTo(new ComposePlace("forward").with(parameters));
+ }
+
+ };
+ private ClickHandler replyAllHandler = new ClickHandler(){
+
+ @Override
+ public void onClick(ClickEvent event) {
+ placeController.goTo(new ComposePlace("replyAll").with(parameters));
+ }
+
+ };
+ private ClickHandler replyHandler = new ClickHandler(){
+
+ @Override
+ public void onClick(ClickEvent event) {
+ placeController.goTo(new ComposePlace("reply").with(parameters));
+ }
+
+ };
+ private ClickHandler deleteHandler = new ClickHandler(){
+ @Override
+ public void onClick(ClickEvent event) {
+ if (!(placeController.getWhere() instanceof MailFolderPlace))
+ return;
+ eventBus.fireEvent(new DeleteClickEvent());
+ }
+ };
+ private ClickHandler markHandler = new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ Widget source = (Widget) event.getSource();
+ int left = source.getAbsoluteLeft();
+ int top = source.getAbsoluteTop() + source.getOffsetHeight();
+ simplePopup.setPopupPosition(left, top);
+ simplePopup.show();
+ }
+ };
@Override
public HasClickHandlers getMark() {
return mark;
@@ -553,6 +606,10 @@ public class ToolBarView extends Composi
}
@Override
+ public HasClickHandlers getCompose() {
+ return compose;
+ }
+ @Override
public HasClickHandlers getReply() {
return reply;
}
@@ -603,17 +660,31 @@ public class ToolBarView extends Composi
reply.addStyleName(style.disabledButton());
replyAllGroup.addStyleName(style.disabledButton());
forwardGroup.addStyleName(style.disabledButton());
+
+ replyReg.removeHandler();
+ replyAllReg.removeHandler();
+ forwardReg.removeHandler();
}
private void removeSendingDisableds() {
reply.removeStyleName(style.disabledButton());
replyAllGroup.removeStyleName(style.disabledButton());
forwardGroup.removeStyleName(style.disabledButton());
+
+ replyReg = reply.addClickHandler(replyHandler);
+ replyAllReg = replyAll.addClickHandler(replyAllHandler);
+ forwardReg = forward.addClickHandler(forwardHandler);
+
}
+
+
private void addDealingDisableds() {
delete.addStyleName(style.disabledButton());
mark.addStyleName(style.disabledButton());
+
+ deleteReg.removeHandler();
+ markReg.removeHandler();
}
private void removeDealingDisableds() {
@@ -622,7 +693,13 @@ public class ToolBarView extends Composi
>>>>>>> add enable tool bar buttons toggling event, with being related to issue #31
=======
mark.removeStyleName(style.disabledButton());
+<<<<<<< HEAD
>>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
+=======
+
+ markReg = mark.addClickHandler(markHandler);
+ deleteReg = delete.addClickHandler(deleteHandler);
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
}
interface ToolBarUiBinder extends UiBinder<FlowPanel, ToolBarView> {
@@ -634,6 +711,7 @@ public class ToolBarView extends Composi
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
@Override
public HasClickHandlers getRefresh() {
return refresh;
@@ -649,6 +727,33 @@ public class ToolBarView extends Composi
=======
>>>>>>> add enable tool bar buttons toggling event, with being related to issue #31
=======
+=======
+ @Override
+ public HandlerRegistration getForwardReg() {
+ return forwardReg;
+ }
+
+ @Override
+ public HandlerRegistration getReplyAllReg() {
+ return replyAllReg;
+ }
+
+ @Override
+ public HandlerRegistration getReplyReg() {
+ return replyReg;
+ }
+
+ @Override
+ public HandlerRegistration getMarkReg() {
+ return markReg;
+ }
+
+ @Override
+ public HandlerRegistration getDeleteReg() {
+ return deleteReg;
+ }
+
+>>>>>>> fixed issue#57 - really disable the tools in toolbar
>>>>>>> scrub code
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org