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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to