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:16:29 UTC

svn commit: r1522320 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: activity/ToolBarActivity.java ui/MessageListView.java ui/MessageListView.ui.xml ui/MessagesCellTable.java

Author: dongxu
Date: Thu Sep 12 04:16:29 2013
New Revision: 1522320

URL: http://svn.apache.org/r1522320
Log:
try to link the mark actions to rf services

Modified:
    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/MessageListView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java

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=1522320&r1=1522319&r2=1522320&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:16:29 2013
@@ -22,6 +22,7 @@ package org.apache.hupa.client.activity;
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import java.util.ArrayList;
 import java.util.List;
 
@@ -152,12 +153,22 @@ public class ToolBarActivity extends App
 =======
 =======
 =======
+=======
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.hupa.client.rf.SetFlagRequest;
+>>>>>>> try to link the mark actions to rf services
 import org.apache.hupa.client.ui.MessagesCellTable;
 >>>>>>> link the mark action to the message list such that they can change upon the actions
 import org.apache.hupa.client.ui.ToolBarView.Parameters;
 >>>>>>> coping with reply and forward sending message
 import org.apache.hupa.client.ui.WidgetDisplayable;
+import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
+import org.apache.hupa.shared.domain.GenericResult;
+import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
+import org.apache.hupa.shared.domain.SetFlagAction;
 import org.apache.hupa.shared.events.ExpandMessageEvent;
 import org.apache.hupa.shared.events.ExpandMessageEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
@@ -173,11 +184,13 @@ import com.google.gwt.user.client.ui.Acc
 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;
 
 public class ToolBarActivity extends AppBaseActivity {
 
 	@Inject private Displayable display;
 	@Inject private MessagesCellTable table;
+	protected ImapFolder folder;
 
 	@Override
 	public void start(AcceptsOneWidget container, EventBus eventBus) {
@@ -202,6 +215,7 @@ public class ToolBarActivity extends App
 			public void onLoadMessagesEvent(LoadMessagesEvent e) {
 				display.disableMessageTools();
 				display.setParameters(new Parameters(e.getUser(), e.getFolder(), null, null));
+				folder = e.getFolder();
 			}
 		});
 		eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
@@ -239,11 +253,27 @@ public class ToolBarActivity extends App
 	}
 
 	protected void toMarkRead(boolean read) {
+		List<Long> uids = new ArrayList<Long>();
 		for (Message msg : table.getVisibleItems()) {
 			if (table.getSelectionModel().isSelected(msg)) {
-				table.markRead(msg, read);
+				uids.add(msg.getUid());
 			}
 		}
+		SetFlagRequest req = this.requestFactory.setFlagRequest();
+		SetFlagAction action = req.create(SetFlagAction.class);
+		ImapFolder f = req.create(ImapFolder.class);
+		f.setFullName(folder.getFullName());
+		action.setFolder(f);
+		action.setFlag(IMAPFlag.SEEN);
+		action.setValue(read);
+		action.setUids(uids);
+		req.set(action).fire(new Receiver<GenericResult>() {
+			@Override
+			public void onSuccess(GenericResult response) {
+				table.redraw();
+				table.onResize();
+			}
+		});
 	}
 
 	public interface Displayable extends WidgetDisplayable {

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java?rev=1522320&r1=1522319&r2=1522320&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java Thu Sep 12 04:16:29 2013
@@ -106,7 +106,7 @@ public class MessageListView extends Com
 
 	private static final Logger log = Logger.getLogger(MessageListView.class.getName());
 
-	@UiField(provided = true) DataGrid<Message> grid;
+	@UiField(provided = true) MessagesCellTable grid;
 	private HupaRequestFactory requestFactory;
 	private ImapFolder folder;
 	private String searchValue;

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml?rev=1522320&r1=1522319&r2=1522320&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml Thu Sep 12 04:16:29 2013
@@ -43,9 +43,13 @@
 =======
 	xmlns:hupa='urn:import:org.apache.hupa.client.ui' xmlns:c='urn:import:com.google.gwt.user.cellview.client'>
 <<<<<<< HEAD
+<<<<<<< HEAD
 	<c:DataGrid ui:field="table" />
 >>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
 =======
 	<c:DataGrid ui:field="grid" />
 >>>>>>> prepare for place management and history controller
+=======
+	<hupa:MessagesCellTable ui:field="grid" />
+>>>>>>> try to link the mark actions to rf services
 </ui:UiBinder>
\ No newline at end of file

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=1522320&r1=1522319&r2=1522320&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 04:16:29 2013
@@ -503,6 +503,7 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.hupa.client.HupaConstants;
+import org.apache.hupa.client.activity.ToolBarActivity;
 import org.apache.hupa.client.bundles.HupaImageBundle;
 import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
 import org.apache.hupa.shared.domain.Message;
@@ -530,6 +531,7 @@ import com.google.inject.Inject;
 public class MessagesCellTable extends DataGrid<Message> {
 
 	public static final int PAGE_SIZE = 25;
+	@Inject ToolBarActivity.Displayable display;
 
 	private HupaImageBundle imageBundle;
 	CheckboxColumn checkboxCol = new CheckboxColumn();
@@ -613,13 +615,12 @@ public class MessagesCellTable extends D
 				return getMessageStyle(row);
 			}
 		});
-		redraw();
+//		redraw();
 		setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
 		setAutoHeaderRefreshDisabled(true);
 		setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0));
 	}
 
-
 	private String getMessageStyle(Message row) {
 		return haveRead(row) ? getReadStyle() : getUnreadStyle();
 	}
@@ -656,6 +657,7 @@ public class MessagesCellTable extends D
 				@Override
 				public void update(int index, Message object, Boolean value) {
 					selectionModel.setSelected(object, value);
+					display.disableMessageTools();
 				}
 			});
 		}



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org