| /**************************************************************** |
| * Licensed to the Apache Software Foundation (ASF) under one * |
| * or more contributor license agreements. See the NOTICE file * |
| * distributed with this work for additional information * |
| * regarding copyright ownership. The ASF licenses this file * |
| * to you under the Apache License, Version 2.0 (the * |
| * "License"); you may not use this file except in compliance * |
| * with the License. You may obtain a copy of the License at * |
| * * |
| * http://www.apache.org/licenses/LICENSE-2.0 * |
| * * |
| * Unless required by applicable law or agreed to in writing, * |
| * software distributed under the License is distributed on an * |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * |
| * KIND, either express or implied. See the License for the * |
| * specific language governing permissions and limitations * |
| * under the License. * |
| ****************************************************************/ |
| |
| package org.apache.hupa.client.ui; |
| |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| import org.apache.hupa.client.activity.ToolBarActivity; |
| import org.apache.hupa.client.place.ComposePlace; |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| ======= |
| import org.apache.hupa.client.place.MailFolderPlace; |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| ======= |
| >>>>>>> change place management and make refresh folder and message list more gentle |
| import org.apache.hupa.client.rf.HupaRequestFactory; |
| <<<<<<< HEAD |
| import org.apache.hupa.shared.domain.Message; |
| import org.apache.hupa.shared.domain.MessageDetails; |
| import org.apache.hupa.shared.domain.User; |
| import org.apache.hupa.shared.events.DeleteClickEvent; |
| <<<<<<< HEAD |
| ======= |
| ======= |
| import java.util.ArrayList; |
| |
| ======= |
| >>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in toolsbar |
| import org.apache.hupa.client.activity.ToolBarActivity; |
| import org.apache.hupa.client.place.ComposePlace; |
| import org.apache.hupa.client.rf.HupaRequestFactory; |
| <<<<<<< HEAD |
| import org.apache.hupa.shared.domain.DeleteMessageByUidAction; |
| import org.apache.hupa.shared.domain.DeleteMessageResult; |
| >>>>>>> fill the empty compose view with the old message when the composing type are reply, replyAll, forward and preparing for about & deleting operation |
| ======= |
| >>>>>>> fixed issue#59, coupled with fixing some UI refreshment issues in toolsbar |
| import org.apache.hupa.shared.domain.ImapFolder; |
| ======= |
| >>>>>>> fixed issue#61; add loading to mark, unmark. |
| import org.apache.hupa.shared.domain.Message; |
| import org.apache.hupa.shared.domain.MessageDetails; |
| <<<<<<< HEAD |
| >>>>>>> coping with reply and forward sending message |
| |
| import com.google.gwt.core.client.GWT; |
| <<<<<<< HEAD |
| import com.google.gwt.event.dom.client.ClickEvent; |
| <<<<<<< HEAD |
| 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; |
| >>>>>>> beautify the multiuploader |
| ======= |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| |
| import com.google.gwt.core.client.GWT; |
| import com.google.gwt.event.dom.client.ClickEvent; |
| <<<<<<< HEAD |
| >>>>>>> composing composing panel |
| ======= |
| ======= |
| import com.google.gwt.event.dom.client.ClickHandler; |
| >>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu |
| import com.google.gwt.event.dom.client.HasClickHandlers; |
| <<<<<<< HEAD |
| >>>>>>> coping with reply and forward sending message |
| ======= |
| 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; |
| import com.google.gwt.uibinder.client.UiField; |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| import com.google.gwt.uibinder.client.UiHandler; |
| <<<<<<< HEAD |
| import com.google.gwt.user.client.ui.Anchor; |
| import com.google.gwt.user.client.ui.Composite; |
| 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; |
| |
| public class ToolBarView extends Composite implements ToolBarActivity.Displayable { |
| |
| @Inject private PlaceController placeController; |
| @Inject private HupaRequestFactory requestFactory; |
| @Inject private EventBus eventBus; |
| |
| @UiField Anchor refresh; |
| @UiField Anchor compose; |
| @UiField Anchor reply; |
| @UiField HTMLPanel replyAllGroup; |
| @UiField Anchor replyAll; |
| @UiField HTMLPanel forwardGroup; |
| @UiField Anchor forward; |
| @UiField Anchor delete; |
| @UiField Anchor mark; |
| @UiField Anchor more; |
| |
| @UiField HTMLPanel replyAllTip; |
| @UiField HTMLPanel forwardTip; |
| |
| @UiField Style style; |
| |
| |
| interface Style extends CssResource { |
| String disabledButton(); |
| String popupMenu(); |
| String activeIcon(); |
| String toolBarMenu(); |
| String listicon(); |
| String read(); |
| String unread(); |
| } |
| |
| private VerticalPanel popup; |
| final DecoratedPopupPanel simplePopup = new DecoratedPopupPanel(true); |
| private Anchor markRead; |
| private Anchor markUnread; |
| |
| private Parameters parameters; |
| |
| public Parameters getParameters() { |
| return parameters; |
| } |
| |
| @Override |
| public void setParameters(Parameters parameters) { |
| this.parameters = parameters; |
| } |
| |
| public static class Parameters { |
| private User user; |
| private String folderName; |
| private Message oldmessage; |
| private MessageDetails oldDetails; |
| |
| public Parameters(User user, String folderName, Message oldmessage, MessageDetails oldDetails) { |
| this.user = user; |
| this.folderName = folderName; |
| this.oldmessage = oldmessage; |
| this.oldDetails = oldDetails; |
| } |
| |
| public User getUser() { |
| return user; |
| } |
| |
| public void setUser(User user) { |
| this.user = user; |
| } |
| |
| public String getFolderName() { |
| return folderName; |
| } |
| |
| public void setFolderName(String folderName) { |
| this.folderName = folderName; |
| } |
| |
| public Message getOldmessage() { |
| return oldmessage; |
| } |
| |
| public void setOldmessage(Message oldmessage) { |
| this.oldmessage = oldmessage; |
| } |
| |
| public MessageDetails getOldDetails() { |
| return oldDetails; |
| } |
| |
| public void setOldDetails(MessageDetails oldDetails) { |
| this.oldDetails = oldDetails; |
| } |
| } |
| |
| |
| public ToolBarView() { |
| initWidget(binder.createAndBindUi(this)); |
| simplePopup.addStyleName(style.popupMenu()); |
| mark.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(); |
| simplePopup.setPopupPosition(left, top); |
| // Show the popup |
| simplePopup.show(); |
| } |
| }); |
| popup = new VerticalPanel(); |
| markRead = new Anchor("As Read"); |
| markUnread = new Anchor("As Unread"); |
| popup.addStyleName(style.toolBarMenu()); |
| markRead.addStyleName(style.activeIcon()); |
| markRead.addStyleName(style.listicon()); |
| markRead.addStyleName(style.read()); |
| markUnread.addStyleName(style.activeIcon()); |
| markUnread.addStyleName(style.listicon()); |
| markUnread.addStyleName(style.unread()); |
| popup.add(markRead); |
| popup.add(markUnread); |
| simplePopup.setWidget(popup); |
| |
| mark.addClickHandler(markHandler); |
| delete.addClickHandler(deleteHandler); |
| reply.addClickHandler(replyHandler); |
| replyAll.addClickHandler(replyAllHandler); |
| forward.addClickHandler(forwardHandler); |
| } |
| |
| @UiHandler("compose") |
| void handleClick(ClickEvent e) { |
| placeController.goTo(new ComposePlace("new").with(parameters)); |
| } |
| private ClickHandler forwardHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("forward").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler replyAllHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("replyAll").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler replyHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("reply").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler deleteHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| eventBus.fireEvent(new DeleteClickEvent()); |
| } |
| }; |
| private ClickHandler markHandler = new ClickHandler() { |
| public void onClick(ClickEvent event) { |
| Widget source = (Widget) event.getSource(); |
| int left = source.getAbsoluteLeft(); |
| int top = source.getAbsoluteTop() + source.getOffsetHeight(); |
| simplePopup.setPopupPosition(left, top); |
| simplePopup.show(); |
| } |
| }; |
| @Override |
| public HasClickHandlers getMark() { |
| return mark; |
| } |
| |
| @Override |
| public HasClickHandlers getMarkRead() { |
| return markRead; |
| } |
| |
| @Override |
| public HasClickHandlers getMarkUnread() { |
| return markUnread; |
| } |
| |
| @Override |
| public HasClickHandlers getCompose() { |
| return compose; |
| } |
| @Override |
| public HasClickHandlers getReply() { |
| return reply; |
| } |
| |
| @Override |
| public HasClickHandlers getReplyAll() { |
| return replyAll; |
| } |
| |
| @Override |
| public HasClickHandlers getForward() { |
| return forward; |
| } |
| @Override |
| public PopupPanel getPopup() { |
| return simplePopup; |
| } |
| |
| @Override |
| public HasClickHandlers getDelete() { |
| return delete; |
| } |
| |
| @Override |
| public void enableAllTools(boolean is) { |
| this.enableSendingTools(is); |
| this.enableDealingTools(is); |
| } |
| @Override |
| public void enableSendingTools(boolean is) { |
| if (is) { |
| removeSendingDisableds(); |
| } else { |
| addSendingDisableds(); |
| } |
| } |
| |
| @Override |
| public void enableDealingTools(boolean is) { |
| if (is) { |
| removeDealingDisableds(); |
| } else { |
| addDealingDisableds(); |
| } |
| } |
| |
| private void addSendingDisableds() { |
| reply.addStyleName(style.disabledButton()); |
| replyAllGroup.addStyleName(style.disabledButton()); |
| forwardGroup.addStyleName(style.disabledButton()); |
| replyAllTip.addStyleName(style.disabledButton()); |
| forwardTip.addStyleName(style.disabledButton()); |
| } |
| |
| private void removeSendingDisableds() { |
| reply.removeStyleName(style.disabledButton()); |
| replyAllGroup.removeStyleName(style.disabledButton()); |
| forwardGroup.removeStyleName(style.disabledButton()); |
| replyAllTip.removeStyleName(style.disabledButton()); |
| forwardTip.removeStyleName(style.disabledButton()); |
| } |
| |
| |
| |
| private void addDealingDisableds() { |
| delete.addStyleName(style.disabledButton()); |
| mark.addStyleName(style.disabledButton()); |
| } |
| |
| private void removeDealingDisableds() { |
| delete.removeStyleName(style.disabledButton()); |
| mark.removeStyleName(style.disabledButton()); |
| ======= |
| ======= |
| import org.apache.hupa.client.activity.ToolBarActivity; |
| |
| >>>>>>> integrate all of the views to their corresponding activities and mappers |
| import com.google.gwt.core.client.GWT; |
| ======= |
| import com.google.gwt.resources.client.CssResource; |
| >>>>>>> dynamical style tool bar |
| import com.google.gwt.uibinder.client.UiBinder; |
| import com.google.gwt.uibinder.client.UiField; |
| ======= |
| >>>>>>> composing composing panel |
| ======= |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| ======= |
| import com.google.gwt.uibinder.client.UiHandler; |
| >>>>>>> make tool bar's style work as expected |
| import com.google.gwt.user.client.ui.Anchor; |
| import com.google.gwt.user.client.ui.Composite; |
| 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; |
| |
| public class ToolBarView extends Composite implements ToolBarActivity.Displayable { |
| |
| @Inject private PlaceController placeController; |
| @Inject private HupaRequestFactory requestFactory; |
| @Inject private EventBus eventBus; |
| |
| @UiField Anchor refresh; |
| @UiField Anchor compose; |
| @UiField Anchor reply; |
| @UiField HTMLPanel replyAllGroup; |
| @UiField Anchor replyAll; |
| @UiField HTMLPanel forwardGroup; |
| @UiField Anchor forward; |
| @UiField Anchor delete; |
| @UiField Anchor mark; |
| @UiField Anchor more; |
| |
| @UiField HTMLPanel replyAllTip; |
| @UiField HTMLPanel forwardTip; |
| |
| @UiField Style style; |
| |
| interface Style extends CssResource { |
| String disabledButton(); |
| String popupMenu(); |
| String activeIcon(); |
| String toolBarMenu(); |
| String listicon(); |
| String read(); |
| String unread(); |
| } |
| |
| private VerticalPanel popup; |
| final DecoratedPopupPanel simplePopup = new DecoratedPopupPanel(true); |
| private Anchor markRead; |
| private Anchor markUnread; |
| |
| private Parameters parameters; |
| |
| public Parameters getParameters() { |
| return parameters; |
| } |
| |
| @Override |
| public void setParameters(Parameters parameters) { |
| this.parameters = parameters; |
| } |
| |
| public static class Parameters { |
| private User user; |
| private String folderName; |
| private Message oldmessage; |
| private MessageDetails oldDetails; |
| |
| public Parameters(User user, String folderName, Message oldmessage, MessageDetails oldDetails) { |
| this.user = user; |
| this.folderName = folderName; |
| this.oldmessage = oldmessage; |
| this.oldDetails = oldDetails; |
| } |
| |
| public User getUser() { |
| return user; |
| } |
| |
| public void setUser(User user) { |
| this.user = user; |
| } |
| |
| public String getFolderName() { |
| return folderName; |
| } |
| |
| public void setFolderName(String folderName) { |
| this.folderName = folderName; |
| } |
| |
| public Message getOldmessage() { |
| return oldmessage; |
| } |
| |
| public void setOldmessage(Message oldmessage) { |
| this.oldmessage = oldmessage; |
| } |
| |
| public MessageDetails getOldDetails() { |
| return oldDetails; |
| } |
| |
| public void setOldDetails(MessageDetails oldDetails) { |
| this.oldDetails = oldDetails; |
| } |
| } |
| |
| |
| public ToolBarView() { |
| initWidget(binder.createAndBindUi(this)); |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| >>>>>>> make login page as one part of the overall layout & splite layout to little one |
| ======= |
| reply.addStyleName(style.disabledButton()); |
| >>>>>>> dynamical style tool bar |
| ======= |
| ======= |
| 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) { |
| // Reposition the popup relative to the button |
| Widget source = (Widget) event.getSource(); |
| int left = source.getAbsoluteLeft(); |
| int top = source.getAbsoluteTop() + source.getOffsetHeight(); |
| simplePopup.setPopupPosition(left, top); |
| // Show the popup |
| simplePopup.show(); |
| } |
| }); |
| popup = new VerticalPanel(); |
| markRead = new Anchor("As Read"); |
| markUnread = new Anchor("As Unread"); |
| popup.addStyleName(style.toolBarMenu()); |
| markRead.addStyleName(style.activeIcon()); |
| markRead.addStyleName(style.listicon()); |
| markRead.addStyleName(style.read()); |
| markUnread.addStyleName(style.activeIcon()); |
| markUnread.addStyleName(style.listicon()); |
| markUnread.addStyleName(style.unread()); |
| popup.add(markRead); |
| popup.add(markUnread); |
| simplePopup.setWidget(popup); |
| <<<<<<< HEAD |
| >>>>>>> 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); |
| replyAllReg = replyAll.addClickHandler(replyAllHandler); |
| forwardReg = forward.addClickHandler(forwardHandler); |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| ======= |
| 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") |
| void handleClick(ClickEvent e) { |
| placeController.goTo(new ComposePlace("new").with(parameters)); |
| >>>>>>> make tool bar's style work as expected |
| } |
| private ClickHandler forwardHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("forward").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler replyAllHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("replyAll").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler replyHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| placeController.goTo(new ComposePlace("reply").with(parameters)); |
| } |
| |
| }; |
| private ClickHandler deleteHandler = new ClickHandler(){ |
| |
| @Override |
| public void onClick(ClickEvent event) { |
| eventBus.fireEvent(new DeleteClickEvent()); |
| } |
| }; |
| private ClickHandler markHandler = new ClickHandler() { |
| public void onClick(ClickEvent event) { |
| Widget source = (Widget) event.getSource(); |
| int left = source.getAbsoluteLeft(); |
| int top = source.getAbsoluteTop() + source.getOffsetHeight(); |
| simplePopup.setPopupPosition(left, top); |
| simplePopup.show(); |
| } |
| }; |
| @Override |
| public HasClickHandlers getMark() { |
| return mark; |
| } |
| |
| @Override |
| public HasClickHandlers getMarkRead() { |
| return markRead; |
| } |
| |
| @Override |
| public HasClickHandlers getMarkUnread() { |
| return markUnread; |
| } |
| |
| @Override |
| public HasClickHandlers getCompose() { |
| return compose; |
| } |
| @Override |
| public HasClickHandlers getReply() { |
| return reply; |
| } |
| |
| @Override |
| public HasClickHandlers getReplyAll() { |
| return replyAll; |
| } |
| |
| @Override |
| public HasClickHandlers getForward() { |
| return forward; |
| } |
| @Override |
| public PopupPanel getPopup() { |
| return simplePopup; |
| } |
| |
| @Override |
| public HasClickHandlers getDelete() { |
| return delete; |
| } |
| |
| @Override |
| public void enableAllTools(boolean is) { |
| this.enableSendingTools(is); |
| this.enableDealingTools(is); |
| } |
| @Override |
| public void enableSendingTools(boolean is) { |
| if (is) { |
| removeSendingDisableds(); |
| } else { |
| addSendingDisableds(); |
| } |
| } |
| |
| @Override |
| public void enableDealingTools(boolean is) { |
| if (is) { |
| removeDealingDisableds(); |
| } else { |
| addDealingDisableds(); |
| } |
| } |
| |
| private void addSendingDisableds() { |
| reply.addStyleName(style.disabledButton()); |
| replyAllGroup.addStyleName(style.disabledButton()); |
| forwardGroup.addStyleName(style.disabledButton()); |
| replyAllTip.addStyleName(style.disabledButton()); |
| forwardTip.addStyleName(style.disabledButton()); |
| } |
| |
| private void removeSendingDisableds() { |
| reply.removeStyleName(style.disabledButton()); |
| replyAllGroup.removeStyleName(style.disabledButton()); |
| forwardGroup.removeStyleName(style.disabledButton()); |
| replyAllTip.removeStyleName(style.disabledButton()); |
| forwardTip.removeStyleName(style.disabledButton()); |
| } |
| |
| |
| |
| private void addDealingDisableds() { |
| delete.addStyleName(style.disabledButton()); |
| mark.addStyleName(style.disabledButton()); |
| } |
| |
| private void removeDealingDisableds() { |
| delete.removeStyleName(style.disabledButton()); |
| <<<<<<< HEAD |
| >>>>>>> add enable tool bar buttons toggling event, with being related to issue #31 |
| ======= |
| mark.removeStyleName(style.disabledButton()); |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| >>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu |
| ======= |
| |
| ======= |
| |
| <<<<<<< HEAD |
| if(markReg != null){ |
| deleteReg.removeHandler(); |
| markReg.removeHandler(); |
| } |
| >>>>>>> try to make messages list better for user experience |
| markReg = mark.addClickHandler(markHandler); |
| deleteReg = delete.addClickHandler(deleteHandler); |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| ======= |
| // if(markReg != null){ |
| // deleteReg.removeHandler(); |
| // markReg.removeHandler(); |
| // } |
| // 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 |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| <<<<<<< HEAD |
| ======= |
| |
| >>>>>>> fixed issue#81, add refresh event handler |
| @Override |
| public HasClickHandlers getRefresh() { |
| return refresh; |
| } |
| <<<<<<< HEAD |
| ======= |
| >>>>>>> make login page as one part of the overall layout & splite layout to little one |
| ======= |
| interface Style extends CssResource { |
| String disabledButton(); |
| } |
| |
| >>>>>>> dynamical style tool bar |
| ======= |
| >>>>>>> add enable tool bar buttons toggling event, with being related to issue #31 |
| ======= |
| ======= |
| @Override |
| public HandlerRegistration getForwardReg() { |
| return forwardReg; |
| } |
| |
| @Override |
| public HandlerRegistration getReplyAllReg() { |
| return replyAllReg; |
| } |
| |
| @Override |
| public HandlerRegistration getReplyReg() { |
| return replyReg; |
| } |
| |
| @Override |
| public HandlerRegistration getMarkReg() { |
| return markReg; |
| } |
| |
| @Override |
| public HandlerRegistration getDeleteReg() { |
| return deleteReg; |
| } |
| |
| >>>>>>> fixed issue#57 - really disable the tools in toolbar |
| |
| >>>>>>> scrub code |
| ======= |
| >>>>>>> done issue#72, get back the unread count |
| ======= |
| >>>>>>> fixed issue#81, add refresh event handler |
| } |