Author: dongxu Date: Thu Sep 12 04:16:09 2013 New Revision: 1522319 URL: http://svn.apache.org/r1522319 Log: link the mark action to the message list such that they can change upon the actions
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/MessagesCellTable.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml 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=1522319&r1=1522318&r2=1522319&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:09 2013 @@ -21,6 +21,7 @@ package org.apache.hupa.client.activity; <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD import java.util.ArrayList; import java.util.List; @@ -150,9 +151,13 @@ public class ToolBarActivity extends App } ======= ======= +======= +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.domain.Message; import org.apache.hupa.shared.events.ExpandMessageEvent; import org.apache.hupa.shared.events.ExpandMessageEventHandler; import org.apache.hupa.shared.events.LoadMessagesEvent; @@ -160,14 +165,19 @@ import org.apache.hupa.shared.events.Loa import org.apache.hupa.shared.events.LoginEvent; import org.apache.hupa.shared.events.LoginEventHandler; +import com.google.gwt.event.dom.client.ClickEvent; +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.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; public class ToolBarActivity extends AppBaseActivity { @Inject private Displayable display; + @Inject private MessagesCellTable table; @Override public void start(AcceptsOneWidget container, EventBus eventBus) { @@ -197,9 +207,43 @@ public class ToolBarActivity extends App eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() { public void onExpandMessage(ExpandMessageEvent event) { display.enableMessageTools(); - display.setParameters(new Parameters(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails())); + display.setParameters(new Parameters(event.getUser(), event.getFolder(), event.getMessage(), event + .getMessageDetails())); } }); + registerHandler(display.getMark().addClickHandler(new ClickHandler() { + public void onClick(ClickEvent event) { + // Reposition the popup relative to the button + Widget source = (Widget) event.getSource(); + int left = source.getAbsoluteLeft(); + int top = source.getAbsoluteTop() + source.getOffsetHeight(); + display.getPopup().setPopupPosition(left, top); + // Show the popup + display.getPopup().show(); + } + })); + registerHandler(display.getMarkRead().addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + toMarkRead(true); + display.getPopup().hide(); + } + })); + registerHandler(display.getMarkUnread().addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + toMarkRead(false); + display.getPopup().hide(); + } + })); + } + + protected void toMarkRead(boolean read) { + for (Message msg : table.getVisibleItems()) { + if (table.getSelectionModel().isSelected(msg)) { + table.markRead(msg, read); + } + } } public interface Displayable extends WidgetDisplayable { @@ -214,6 +258,14 @@ public class ToolBarActivity extends App HasClickHandlers getForward(); void setParameters(Parameters parameters); + + HasClickHandlers getMarkUnread(); + + HasClickHandlers getMarkRead(); + + HasClickHandlers getMark(); + + PopupPanel getPopup(); } >>>>>>> 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/ui/MessagesCellTable.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522319&r1=1522318&r2=1522319&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:09 2013 @@ -610,24 +610,42 @@ public class MessagesCellTable extends D setRowStyles(new RowStyles<Message>() { @Override public String getStyleNames(Message row, int rowIndex) { - return haveRead(row) ? markAsRead() : markAsUnread(); + return getMessageStyle(row); } + }); + redraw(); + setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); + setAutoHeaderRefreshDisabled(true); + setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0)); + } - private String markAsUnread() { - return Resources.INSTANCE.dataGridStyle().fontBold(); - } - private String markAsRead() { - return Resources.INSTANCE.dataGridStyle().fontNormal(); - } + private String getMessageStyle(Message row) { + return haveRead(row) ? getReadStyle() : getUnreadStyle(); + } + private String getUnreadStyle() { + return Resources.INSTANCE.dataGridStyle().fontBold(); + } - private boolean haveRead(Message row) { - return row.getFlags().contains(IMAPFlag.SEEN); + private String getReadStyle() { + return Resources.INSTANCE.dataGridStyle().fontNormal(); + } + + private boolean haveRead(Message row) { + return row.getFlags().contains(IMAPFlag.SEEN); + } + public void markRead(final Message message, final boolean read) { + setRowStyles(new RowStyles<Message>() { + @Override + public String getStyleNames(Message row, int rowIndex) { + if (message.equals(row)) { + return (read ? getReadStyle() : getUnreadStyle()); + } else { + return getMessageStyle(row);// keep original + } } }); - setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); - setAutoHeaderRefreshDisabled(true); - setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0)); + redraw(); } public class CheckboxColumn extends Column<Message, Boolean> { 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=1522319&r1=1522318&r2=1522319&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:16:09 2013 @@ -371,6 +371,7 @@ import com.google.gwt.user.client.ui.Com import com.google.gwt.user.client.ui.DecoratedPopupPanel; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTMLPanel; +import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -405,6 +406,7 @@ public class ToolBarView extends Composi } private VerticalPanel popup; + final DecoratedPopupPanel simplePopup = new DecoratedPopupPanel(true); private Anchor markRead; private Anchor markUnread; @@ -511,6 +513,7 @@ public class ToolBarView extends Composi <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD >>>>>>> make login page as one part of the overall layout & splite layout to >>>>>>> little one ======= reply.addStyleName(style.disabledButton()); @@ -518,6 +521,8 @@ public class ToolBarView extends Composi ======= ======= final DecoratedPopupPanel simplePopup = new DecoratedPopupPanel(true); +======= +>>>>>>> link the mark action to the message list such that they can change upon the actions simplePopup.addStyleName(style.popupMenu()); mark.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { @@ -531,8 +536,8 @@ public class ToolBarView extends Composi } }); popup = new VerticalPanel(); - markRead = new Anchor("As Unread"); - markUnread = new Anchor("As Read"); + markRead = new Anchor("As Read"); + markUnread = new Anchor("As Unread"); popup.addStyleName(style.toolBarMenu()); markRead.addStyleName(style.activeIcon()); markRead.addStyleName(style.listicon()); @@ -547,6 +552,21 @@ public class ToolBarView extends Composi } @Override + public HasClickHandlers getMark() { + return mark; + } + + @Override + public HasClickHandlers getMarkRead() { + return markRead; + } + + @Override + public HasClickHandlers getMarkUnread() { + return markUnread; + } + + @Override public HasClickHandlers getReply() { return reply; } @@ -560,6 +580,10 @@ public class ToolBarView extends Composi public HasClickHandlers getForward() { return forward; } + @Override + public PopupPanel getPopup() { + return simplePopup; + } // TODO realy disabled the click event of the tool bar coupled with graying @Override Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml?rev=1522319&r1=1522318&r2=1522319&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml Thu Sep 12 04:16:09 2013 @@ -299,6 +299,12 @@ .toolBarMenu td { border-top: 1px solid #5a5a5a; border-bottom: 1px solid #333; + padding: 3px 8px; + } + + .toolBarMenu td:hover { + background-color: #0186ba; + } .activeIcon { @@ -309,7 +315,7 @@ text-decoration: none; min-height: 14px; color: #eee; - padding: 2px 20px; + padding: 2px 25px; cursor: default; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org