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:50:12 UTC
svn commit: r1522401 - in
/james/hupa/trunk/client/src/main/java/org/apache/hupa/client:
activity/FolderListActivity.java activity/ToolBarActivity.java
ui/FolderListView.java ui/ToolBarView.java
Author: dongxu
Date: Thu Sep 12 04:50:12 2013
New Revision: 1522401
URL: http://svn.apache.org/r1522401
Log:
done issue#72, get back the unread count
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/FolderListActivity.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/FolderListView.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/FolderListActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/FolderListActivity.java?rev=1522401&r1=1522400&r2=1522401&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/FolderListActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/FolderListActivity.java Thu Sep 12 04:50:12 2013
@@ -23,6 +23,7 @@ package org.apache.hupa.client.activity;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
import org.apache.hupa.shared.events.RefreshUnreadEvent;
import org.apache.hupa.shared.events.RefreshUnreadEventHandler;
@@ -41,6 +42,11 @@ import com.google.gwt.event.shared.Event
import com.google.gwt.user.client.ui.AcceptsOneWidget;
>>>>>>> integrate all of the views to their corresponding activities and mappers
=======
+=======
+import org.apache.hupa.shared.events.RefreshUnreadEvent;
+import org.apache.hupa.shared.events.RefreshUnreadEventHandler;
+
+>>>>>>> done issue#72, get back the unread count
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.IsWidget;
@@ -91,6 +97,17 @@ public class FolderListActivity extends
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
container.setWidget(display.asWidget());
+ bindTo(eventBus);
+ }
+
+ private void bindTo(EventBus eventBus) {
+
+ eventBus.addHandler(RefreshUnreadEvent.TYPE, new RefreshUnreadEventHandler() {
+ @Override
+ public void onRefreshEvent(RefreshUnreadEvent event) {
+ display.refresh();
+ }
+ });
}
<<<<<<< HEAD
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=1522401&r1=1522400&r2=1522401&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:50:12 2013
@@ -200,7 +200,6 @@ 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.IsWidget;
import com.google.gwt.user.client.ui.PopupPanel;
@@ -301,11 +300,6 @@ public class ToolBarActivity extends App
public interface Displayable extends IsWidget {
>>>>>>> replace with IsWidget
void enableSendingTools(boolean is);
- HandlerRegistration getForwardReg();
- HandlerRegistration getReplyAllReg();
- HandlerRegistration getReplyReg();
- HandlerRegistration getMarkReg();
- HandlerRegistration getDeleteReg();
void enableDealingTools(boolean is);
void enableAllTools(boolean is);
HasClickHandlers getReply();
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java?rev=1522401&r1=1522400&r2=1522401&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java Thu Sep 12 04:50:12 2013
@@ -228,10 +228,6 @@ import org.apache.hupa.client.activity.M
import org.apache.hupa.client.activity.ToolBarActivity;
import org.apache.hupa.client.place.FolderPlace;
import org.apache.hupa.client.rf.HupaRequestFactory;
-import org.apache.hupa.client.ui.LabelListView.ImapLabelListDataProvider;
-import org.apache.hupa.client.ui.LabelListView.LabelCell;
-import org.apache.hupa.client.ui.LabelListView.Resources;
-import org.apache.hupa.client.ui.RightCellTree.Css;
import org.apache.hupa.shared.domain.ImapFolder;
<<<<<<< HEAD
@@ -241,13 +237,10 @@ import com.google.gwt.cell.client.Abstra
>>>>>>> fixed issue#67; fixed issue#69 (with default select inbox folder); fixed issue#70;
import com.google.gwt.core.client.GWT;
import com.google.gwt.place.shared.PlaceController;
-import com.google.gwt.resources.client.ImageResource;
-import com.google.gwt.resources.client.ClientBundle.Source;
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.user.cellview.client.CellList;
-import com.google.gwt.user.cellview.client.CellTree;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -266,8 +259,7 @@ public class FolderListView extends Comp
@Inject private ToolBarActivity.Displayable toolBar;
@Inject private MessageListActivity.Displayable msgListDisplay;
@Inject private PlaceController placeController;
- private CellTree cellTree;
-// private FoldersTreeViewModel viewModel;
+ private CellList<LabelNode> cellList;
<<<<<<< HEAD
@Inject
@@ -325,13 +317,13 @@ public class FolderListView extends Comp
@Source("res/CssLabelListView.css")
public CellList.Style cellListStyle();
}
+
@Inject
public FolderListView(final HupaRequestFactory rf) {
initWidget(binder.createAndBindUi(this));
-
data = new ImapLabelListDataProvider(rf);
- CellList<LabelNode> cellList = new CellList<LabelNode>(new LabelCell(), Resources.INSTANCE);
+ cellList = new CellList<LabelNode>(new FolderCell(), Resources.INSTANCE);
cellList.setSelectionModel(selectionModel);
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
public void onSelectionChange(SelectionChangeEvent event) {
@@ -343,34 +335,13 @@ public class FolderListView extends Comp
});
data.addDataDisplay(cellList);
thisView.setWidget(cellList);
-
-// this.viewModel = viewModel;
-
-// cellTree = new CellTree(viewModel,null,Resources.INSTANCE);
-
-
-
-
-// cellTree.setAnimationEnabled(true);
-// thisView.add(cellTree);
}
-// public interface Resources extends CellTree.Resources {
-//
-// Resources INSTANCE = GWT.create(Resources.class);
-//
-// @Source("res/CssFolderListView.css")
-// public Css cellTreeStyle();
-//
-// @Source("res/listicons.png")
-// public ImageResource listicons();
-// }
-
+
@Override
- public void refresh(){
-// viewModel.refresh();
+ public void refresh() {
+ data.refresh();
}
-
public final SingleSelectionModel<LabelNode> selectionModel = new SingleSelectionModel<LabelNode>(
new ProvidesKey<LabelNode>() {
@Override
@@ -379,28 +350,26 @@ public class FolderListView extends Comp
}
});
- static class LabelCell extends AbstractCell<LabelNode> {
-
- public LabelCell() {
+ class FolderCell extends AbstractCell<LabelNode> {
+ public FolderCell(String... consumedEvents) {
+ super(consumedEvents);
}
-
+ // TODO different images for each folder
@Override
- public void render(com.google.gwt.cell.client.Cell.Context context, LabelNode value, SafeHtmlBuilder sb) {
- if (value == null) {
- return;
+ public void render(Context context, LabelNode value, SafeHtmlBuilder sb) {
+ if (value != null) {
+ sb.appendEscaped(value.getName());
}
-
- if (value.getFolder().getSubscribed()) {
- sb.appendHtmlConstant(value.getNameForDisplay());
- } else {
- sb.appendHtmlConstant("<span style='color:gray;'>");
- sb.appendHtmlConstant(value.getNameForDisplay());
- sb.appendHtmlConstant("</span>");
+ if (value.getFolder().getUnseenMessageCount() > 0) {
+ sb.appendHtmlConstant("<span style='position:absolute;right:6px;top:3px;font-weight:bold;'>(");
+ sb.appendHtmlConstant("" + value.getFolder().getUnseenMessageCount());
+ sb.appendHtmlConstant(")</span>");
}
}
}
private final ImapLabelListDataProvider data;
+
public class ImapLabelListDataProvider extends AsyncDataProvider<LabelNode> implements HasRefresh {
private HupaRequestFactory rf;
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=1522401&r1=1522400&r2=1522401&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:50:12 2013
@@ -71,6 +71,7 @@ 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;
+<<<<<<< HEAD
=======
=======
import org.apache.hupa.shared.domain.User;
@@ -93,6 +94,8 @@ import com.google.gwt.event.dom.client.H
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.HandlerRegistration;
>>>>>>> fixed issue#57 - really disable the tools in toolbar
+=======
+>>>>>>> done issue#72, get back the unread count
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
@@ -426,12 +429,6 @@ public class ToolBarView extends Composi
@UiField HTMLPanel replyAllTip;
@UiField HTMLPanel forwardTip;
- HandlerRegistration replyReg;
- HandlerRegistration replyAllReg;
- HandlerRegistration forwardReg;
- HandlerRegistration deleteReg;
- HandlerRegistration markReg;
-
@UiField Style style;
interface Style extends CssResource {
@@ -551,6 +548,7 @@ public class ToolBarView extends Composi
>>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
=======
+<<<<<<< HEAD
markReg = mark.addClickHandler(markHandler);
deleteReg = delete.addClickHandler(deleteHandler);
replyReg = reply.addClickHandler(replyHandler);
@@ -563,6 +561,13 @@ public class ToolBarView extends Composi
enableAllTools(false);
=======
>>>>>>> try to make messages list better for user experience
+=======
+ mark.addClickHandler(markHandler);
+ delete.addClickHandler(deleteHandler);
+ reply.addClickHandler(replyHandler);
+ replyAll.addClickHandler(replyAllHandler);
+ forward.addClickHandler(forwardHandler);
+>>>>>>> done issue#72, get back the unread count
}
@UiHandler("compose")
@@ -682,14 +687,6 @@ public class ToolBarView extends Composi
forwardGroup.addStyleName(style.disabledButton());
replyAllTip.addStyleName(style.disabledButton());
forwardTip.addStyleName(style.disabledButton());
-// if(replyReg != null){
-// replyReg.removeHandler();
-// replyAllReg.removeHandler();
-// forwardReg.removeHandler();
-// replyReg = null;
-// replyAllReg = null;
-// forwardReg = null;
-// }
}
private void removeSendingDisableds() {
@@ -698,16 +695,6 @@ public class ToolBarView extends Composi
forwardGroup.removeStyleName(style.disabledButton());
replyAllTip.removeStyleName(style.disabledButton());
forwardTip.removeStyleName(style.disabledButton());
-
-// if(replyReg != null){
-// replyReg.removeHandler();
-// replyAllReg.removeHandler();
-// forwardReg.removeHandler();
-// }
-// replyReg = reply.addClickHandler(replyHandler);
-// replyAllReg = replyAll.addClickHandler(replyAllHandler);
-// forwardReg = forward.addClickHandler(forwardHandler);
-
}
@@ -715,13 +702,6 @@ public class ToolBarView extends Composi
private void addDealingDisableds() {
delete.addStyleName(style.disabledButton());
mark.addStyleName(style.disabledButton());
-
-// if(deleteReg != null){
-// deleteReg.removeHandler();
-// markReg.removeHandler();
-// deleteReg = null;
-// markReg = null;
-// }
}
private void removeDealingDisableds() {
@@ -732,6 +712,7 @@ public class ToolBarView extends Composi
mark.removeStyleName(style.disabledButton());
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
>>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
=======
@@ -754,12 +735,15 @@ public class ToolBarView extends Composi
// markReg = mark.addClickHandler(markHandler);
// deleteReg = delete.addClickHandler(deleteHandler);
>>>>>>> make folders list view refresh automatically according to the actual unread message
+=======
+>>>>>>> done issue#72, get back the unread count
}
interface ToolBarUiBinder extends UiBinder<FlowPanel, ToolBarView> {
}
private static ToolBarUiBinder binder = GWT.create(ToolBarUiBinder.class);
+<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
@@ -810,4 +794,6 @@ public class ToolBarView extends Composi
>>>>>>> fixed issue#57 - really disable the tools in toolbar
>>>>>>> scrub code
+=======
+>>>>>>> done issue#72, get back the unread count
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org