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