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 ma...@apache.org on 2013/09/23 09:04:13 UTC
svn commit: r1525515 [6/13] - in /james/hupa/trunk: ./ client/
client/src/main/java/org/apache/hupa/
client/src/main/java/org/apache/hupa/client/
client/src/main/java/org/apache/hupa/client/activity/
client/src/main/java/org/apache/hupa/client/ioc/ cli...
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=1525515&r1=1525514&r2=1525515&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 Mon Sep 23 07:04:08 2013
@@ -1,482 +1,3 @@
-<<<<<<< HEAD
-<<<<<<< HEAD
-/****************************************************************
- * 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;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.hupa.client.HupaConstants;
-import org.apache.hupa.client.HupaController;
-import org.apache.hupa.client.activity.ToolBarActivity;
-import org.apache.hupa.client.bundles.HupaImageBundle;
-import org.apache.hupa.client.place.FolderPlace;
-import org.apache.hupa.client.place.MessagePlace;
-import org.apache.hupa.client.rf.FetchMessagesRequest;
-import org.apache.hupa.client.rf.HupaRequestFactory;
-import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
-import org.apache.hupa.shared.domain.FetchMessagesAction;
-import org.apache.hupa.shared.domain.FetchMessagesResult;
-import org.apache.hupa.shared.domain.ImapFolder;
-import org.apache.hupa.shared.domain.Message;
-import org.apache.hupa.shared.events.MessagesReceivedEvent;
-
-import com.google.gwt.cell.client.Cell.Context;
-import com.google.gwt.cell.client.CheckboxCell;
-import com.google.gwt.cell.client.DateCell;
-import com.google.gwt.cell.client.FieldUpdater;
-import com.google.gwt.cell.client.ImageResourceCell;
-import com.google.gwt.cell.client.TextCell;
-import com.google.gwt.cell.client.ValueUpdater;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.dom.client.Element;
-import com.google.gwt.dom.client.InputElement;
-import com.google.gwt.dom.client.NativeEvent;
-import com.google.gwt.dom.client.Style.Unit;
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.i18n.client.DateTimeFormat;
-import com.google.gwt.place.shared.Place;
-import com.google.gwt.place.shared.PlaceController;
-import com.google.gwt.resources.client.ImageResource;
-import com.google.gwt.storage.client.Storage;
-import com.google.gwt.user.cellview.client.Column;
-import com.google.gwt.user.cellview.client.ColumnSortEvent.AsyncHandler;
-import com.google.gwt.user.cellview.client.ColumnSortList.ColumnSortInfo;
-import com.google.gwt.user.cellview.client.DataGrid;
-import com.google.gwt.user.cellview.client.Header;
-import com.google.gwt.user.cellview.client.RowStyles;
-import com.google.gwt.view.client.AsyncDataProvider;
-import com.google.gwt.view.client.DefaultSelectionEventManager;
-import com.google.gwt.view.client.HasData;
-import com.google.gwt.view.client.MultiSelectionModel;
-import com.google.gwt.view.client.ProvidesKey;
-import com.google.gwt.view.client.Range;
-import com.google.inject.Inject;
-import com.google.web.bindery.requestfactory.shared.Receiver;
-import com.google.web.bindery.requestfactory.shared.ServerFailure;
-
-public class MessagesCellTable extends DataGrid<Message> {
-
- @Inject private ToolBarActivity.Displayable toolBar;
- @Inject protected HupaController hc;
- @Inject EventBus eventBus;
- private String folderName;
- private String searchValue;
-
- public static final int PAGE_SIZE = 100;
-
- private HupaImageBundle imageBundle;
- CheckboxColumn checkboxCol = new CheckboxColumn();
- Column<Message, ?> fromCol = new FromColumn();
- Column<Message, ?> subjectCol = new SubjectColumn();
- Column<Message, ?> attachedCol = new AttachmentColumn();
- Column<Message, ?> dateCol = new DateColumn();
-
- public interface Resources extends DataGrid.Resources {
-
- Resources INSTANCE = GWT.create(Resources.class);
-
- @Source("res/CssMessagesCellTable.css")
- CustomStyle dataGridStyle();
- }
-
- public interface CustomStyle extends Style {
- String fontBold();
- String fontNormal();
- }
-
- public CheckboxColumn getCheckboxCol() {
- return checkboxCol;
- }
-
- public final ProvidesKey<Message> KEY_PROVIDER = new ProvidesKey<Message>() {
- @Override
- public Object getKey(Message item) {
- return item == null ? null : item.getUid();
- }
- };
- private final MultiSelectionModel<? super Message> selectionModel = new MultiSelectionModel<Message>(KEY_PROVIDER);
-
- PlaceController pc;
- HupaRequestFactory rf;
-
- private MessageListDataProvider dataProvider;
- public static final String CONTACTS_STORE = "hupa-contacts";
-
- public class MessageListDataProvider extends AsyncDataProvider<Message> implements HasRefresh {
-
- HasData<Message> display;
-
- @Override
- public void addDataDisplay(HasData<Message> display) {
- super.addDataDisplay(display);
- this.display = display;
- }
-
- @Override
- public void refresh() {
- this.onRangeChanged(display);
- }
-
- Set<String> contacts = new LinkedHashSet<String>();
- private Storage contactsStore = null;
-
- private void cacheContacts(List<Message> messages) {
- for (Message message : messages) {
- message.getFrom();
- message.getTo();
- message.getCc();
- message.getReplyto();
-
- contacts.add(message.getFrom());
- contacts.add(message.getReplyto());
-
- for (String to : message.getTo()) {
- contacts.add(to);
- }
- for (String cc : message.getCc()) {
- contacts.add(cc);
- }
- }
- saveToLocalStorage(contacts);
- }
- private void saveToLocalStorage(Set<String> contacts) {
- contactsStore = Storage.getLocalStorageIfSupported();
- if (contactsStore != null) {
- String contactsString = contactsStore.getItem(CONTACTS_STORE);
- if (null != contactsString) {
- for (String contact : contactsString.split(",")) {
- contacts.add(contact.replace("[", "").replace("]", "").trim());
- }
- }
- contactsStore.setItem(CONTACTS_STORE, contacts.toString());
- }
- }
-
- @Override
- protected void onRangeChanged(HasData<Message> display) {
- FetchMessagesRequest req = rf.messagesRequest();
- FetchMessagesAction action = req.create(FetchMessagesAction.class);
- final ImapFolder f = req.create(ImapFolder.class);
- final int start = display.getVisibleRange().getStart();
- f.setFullName(parseFolderName(pc));
- action.setFolder(f);
- action.setOffset(display.getVisibleRange().getLength());
- action.setSearchString(searchValue);
- action.setStart(start);
- req.fetch(action).fire(new Receiver<FetchMessagesResult>() {
- @Override
- public void onSuccess(final FetchMessagesResult response) {
- if (response == null || response.getRealCount() == 0) {
- updateRowCount(-1, true);
- } else {
- updateRowCount(response.getRealCount(), true);
- updateRowData(start, response.getMessages());
- getColumnSortList().push(dateCol);
- }
- hc.hideTopLoading();
- Scheduler.get().scheduleDeferred(new ScheduledCommand() {
- public void execute() {
- cacheContacts(response.getMessages());
- eventBus.fireEvent(new MessagesReceivedEvent(f, response.getMessages()));
- }
- });
- }
-
- @Override
- public void onFailure(ServerFailure error) {
- if (error.isFatal()) {
- throw new RuntimeException(error.getMessage());
- }
- hc.hideTopLoading();
- }
- });
-
- }
-
- }
-
- public void setSearchValue(String searchValue){
- this.searchValue = searchValue;
- }
-
- public final class CheckboxHeader extends Header<Boolean> {
-
- private final MultiSelectionModel<? super Message> selectionModel;
- private final AsyncDataProvider<Message> provider;
-
- public CheckboxHeader(MultiSelectionModel<? super Message> selectionModel, AsyncDataProvider<Message> provider) {
- super(new CheckboxCell());
- this.selectionModel = selectionModel;
- this.provider = provider;
- }
-
- @Override
- public Boolean getValue() {
- if (selectionModel == null || provider == null) {
- return false;
- }
- if (selectionModel.getSelectedSet().size() == 0 || provider.getDataDisplays().size() == 0) {
- return false;
- }
- boolean allItemsSelected = selectionModel.getSelectedSet().size() == provider.getDataDisplays().size();
- return allItemsSelected;
- }
-
- @Override
- public void onBrowserEvent(Context context, Element elem, NativeEvent event) {
- InputElement input = elem.getFirstChild().cast();
- Boolean isChecked = input.isChecked();
- List<Message> displayedItems = MessagesCellTable.this.getVisibleItems();
- for (Message element : displayedItems) {
- selectionModel.setSelected(element, isChecked);
- checkboxCol.getFieldUpdater().update(0, element, isChecked);
- }
- }
-
- }
-
- @Inject
- public MessagesCellTable(final HupaImageBundle imageBundle, final HupaConstants constants,
- final PlaceController pc, final HupaRequestFactory rf) {
- super(PAGE_SIZE, Resources.INSTANCE);
- this.pc = pc;
- this.rf = rf;
- this.imageBundle = imageBundle;
-
- CheckboxCell headerCheckbox = new CheckboxCell();
- ImageResourceCell headerAttached = new ImageResourceCell();
- Header<Boolean> header = new Header<Boolean>(headerCheckbox) {
- @Override
- public Boolean getValue() {
- return false;
- }
- };
- Header<ImageResource> attachedPin = new Header<ImageResource>(headerAttached) {
- @Override
- public ImageResource getValue() {
- return imageBundle.attachmentIcon();
- }
- };
- header.setUpdater(new ValueUpdater<Boolean>() {
- @Override
- public void update(Boolean value) {
- List<Message> displayedItems = MessagesCellTable.this.getVisibleItems();
- for (Message msg : displayedItems) {
- checkboxCol.getFieldUpdater().update(0, msg, value);
- }
- }
- });
-
- addColumn(checkboxCol, new CheckboxHeader(selectionModel, dataProvider));
- setColumnWidth(checkboxCol, 3, Unit.EM);
- addColumn(fromCol, constants.mailTableFrom());
- setColumnWidth(fromCol, 40, Unit.PCT);
- addColumn(subjectCol, constants.mailTableSubject());
- setColumnWidth(subjectCol, 60, Unit.PCT);
- addColumn(attachedCol, attachedPin);
- setColumnWidth(attachedCol, 33, Unit.PX);
- addColumn(dateCol, constants.mailTableDate());
- setColumnWidth(dateCol, 10, Unit.EM);
- setRowCount(PAGE_SIZE, false);
- this.setStyleBaseOnTag();
- // redraw();
- setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
- setAutoHeaderRefreshDisabled(true);
-
- setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createBlacklistManager(0));
-
- if (dataProvider == null) {
- dataProvider = new MessageListDataProvider();
- dataProvider.addDataDisplay(this);
- }
-
- // make table sortable
- AsyncHandler columnSortHandler = new AsyncHandler(this);
- addColumnSortHandler(columnSortHandler);
- fromCol.setSortable(true);
- subjectCol.setSortable(true);
- attachedCol.setSortable(true);
- dateCol.setSortable(true);
-
- refresh();
- }
-
- // TODO: this should be perform in the server side, but in the meanwhile it is useful
- // some kind of sorting in client side.
- @Override
- public void setVisibleRangeAndClearData(Range range, boolean forceRangeChangeEvent) {
- final ColumnSortInfo sortInfo = getColumnSortList().get(0);
-
- List<Message> sortedList = new ArrayList<Message>(getVisibleItems());
- Collections.sort(sortedList, new Comparator<Message>() {
- public int compare(Message o1, Message o2) {
- Column<?,?> column = sortInfo.getColumn();
- Message a = sortInfo.isAscending() ? o1 : o2;
- Message b = sortInfo.isAscending() ? o2 : o1;
- if (fromCol.equals(column)) {
- return a.getFrom().compareToIgnoreCase(b.getFrom());
- }
- if (attachedCol.equals(column)) {
- return Boolean.valueOf(a.hasAttachment()).compareTo(Boolean.valueOf(b.hasAttachment()));
- }
- if (dateCol.equals(column)) {
- return a.getReceivedDate().compareTo(b.getReceivedDate());
- }
- if (subjectCol.equals(column)) {
- // Remove Re & Fwd, using ugly regex since replaceAll is not case-insensitive in client side.
- String s1 = a.getSubject().replaceAll("^([Rr][Ee]|[Ff][Ww][Dd]): (.+)$", "$2 ");
- String s2 = b.getSubject().replaceAll("^([Rr][Ee]|[Ff][Ww][Dd]): (.+)$", "$2 ");
- return s1.compareTo(s2);
- }
- return 0;
- }
- });
- dataProvider.updateRowData(range.getStart(), sortedList);
- }
-
- public String parseFolderName(final PlaceController pc) {
- Place place = pc.getWhere();
- if (place instanceof FolderPlace) {
- folderName = ((FolderPlace) place).getToken();
- } else if (place instanceof MessagePlace) {
- folderName = ((MessagePlace) place).getTokenWrapper().getFolder();
- }
- return folderName;
- }
-
- Message message; // the object selected by selectionModel
-
- public String getMessageStyle(Message row) {
- return haveRead(row) ? getReadStyle() : getUnreadStyle();
- }
- private String getUnreadStyle() {
- return Resources.INSTANCE.dataGridStyle().fontBold();
- }
-
- 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) {
- flush();
- }
-
- public class CheckboxColumn extends Column<Message, Boolean> {
-
- public CheckboxColumn() {
- super(new CheckboxCell(false, false));
- setFieldUpdater(new FieldUpdater<Message, Boolean>() {
- @Override
- public void update(int index, Message object, Boolean value) {
- selectionModel.setSelected(object, value);
- int size = selectionModel.getSelectedSet().size();
- if (size >= 1) {
- toolBar.enableDealingTools(true);
- toolBar.enableSendingTools(false);
- } else {
- toolBar.enableAllTools(false);
- }
- }
- });
- }
-
- @Override
- public Boolean getValue(Message object) {
- return selectionModel.isSelected(object);
- }
- }
-
- private class FromColumn extends Column<Message, String> {
- public FromColumn() {
- super(new TextCell());
- }
-
- @Override
- public String getValue(Message object) {
- return object.getFrom();
- }
- }
-
- private class SubjectColumn extends Column<Message, String> {
- public SubjectColumn() {
- super(new TextCell());
- }
-
- @Override
- public String getValue(Message object) {
- return object.getSubject();
- }
- }
-
- private class AttachmentColumn extends Column<Message, ImageResource> {
- public AttachmentColumn() {
- super(new ImageResourceCell());
- }
-
- @Override
- public ImageResource getValue(Message object) {
- return object.hasAttachment() ? imageBundle.attachmentIcon() : null;
- }
- }
-
- private class DateColumn extends Column<Message, Date> {
- private static final String DATE_FORMAT = "dd.MMM.yyyy";
-
- public DateColumn() {
- super(new DateCell(DateTimeFormat.getFormat(DATE_FORMAT)));
- }
-
- @Override
- public Date getValue(Message object) {
- return object.getReceivedDate();
- }
- }
-
- public void setStyleBaseOnTag() {
- setRowStyles(new RowStyles<Message>() {
- @Override
- public String getStyleNames(Message row, int rowIndex) {
- return getMessageStyle(row);
- }
- });
- }
- public void refresh() {
- dataProvider.refresh();
- redrawHeaders();
- }
-
-}
-=======
-=======
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -496,7 +17,6 @@ public class MessagesCellTable extends D
* under the License. *
****************************************************************/
->>>>>>> remove both of gwt-representer and gwt-dispatch dependencies, add license headers to all new files
package org.apache.hupa.client.ui;
import java.util.ArrayList;
@@ -953,4 +473,3 @@ public class MessagesCellTable extends D
}
}
->>>>>>> fix some bugs related to RF, and try to use new CellView to replace gwt-incubator
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.java Mon Sep 23 07:04:08 2013
@@ -19,31 +19,14 @@
package org.apache.hupa.client.ui;
-<<<<<<< HEAD
-<<<<<<< HEAD
import org.apache.hupa.client.activity.NavigationActivity;
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> prepared for issue#73, established the UI layout
import org.apache.hupa.client.place.ContactPlace;
import org.apache.hupa.client.place.FolderPlace;
-=======
-import org.apache.hupa.client.place.MailFolderPlace;
->>>>>>> try to make switch to setting work
-=======
-import org.apache.hupa.client.place.FolderPlace;
->>>>>>> change place management and make refresh folder and message list more gentle
import org.apache.hupa.client.place.SettingPlace;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.place.shared.PlaceController;
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> make navigation styles shufflling be working as expected
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -53,17 +36,6 @@ import com.google.gwt.user.client.ui.Anc
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.SimplePanel;
-<<<<<<< HEAD
-=======
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiHandler;
-import com.google.gwt.user.client.ui.Anchor;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
->>>>>>> try to make switch to setting work
-=======
->>>>>>> make navigation styles shufflling be working as expected
import com.google.inject.Inject;
public class NavigationView extends Composite implements NavigationActivity.Displayable{
@@ -71,17 +43,8 @@ public class NavigationView extends Comp
@Inject PlaceController placeController;
@UiField Anchor mail;
@UiField Anchor setting;
-<<<<<<< HEAD
-<<<<<<< HEAD
- @UiField Anchor contact;
- @UiField SimplePanel contactOuter;
-=======
@UiField Anchor contact;
-<<<<<<< HEAD
->>>>>>> make navigation styles shufflling be working as expected
-=======
@UiField SimplePanel contactOuter;
->>>>>>> prepared for issue#73, established the UI layout
@UiField SimplePanel mailOuter;
@UiField SimplePanel settingOuter;
@@ -92,91 +55,12 @@ public class NavigationView extends Comp
String selected();
String settingsInnerSelected();
String mailInnerSelected();
-<<<<<<< HEAD
-<<<<<<< HEAD
- String contactInnerSelected();
- }
-=======
-=======
-import org.apache.hupa.client.activity.NavigationActivity;
-
->>>>>>> integrate all of the views to their corresponding activities and mappers
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
-
-<<<<<<< HEAD
-public class NavigationView extends Composite {
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
-public class NavigationView extends Composite implements NavigationActivity.Displayable{
->>>>>>> integrate all of the views to their corresponding activities and mappers
-=======
->>>>>>> try to make switch to setting work
-=======
-=======
String contactInnerSelected();
->>>>>>> prepared for issue#73, established the UI layout
}
->>>>>>> make navigation styles shufflling be working as expected
public NavigationView() {
initWidget(binder.createAndBindUi(this));
}
-<<<<<<< HEAD
-<<<<<<< HEAD
-
- @UiHandler("mail")
- public void onMailClick(ClickEvent e){
- mailOuter.addStyleName(style.selected());
- mail.addStyleName(style.mailInnerSelected());
-
- settingOuter.removeStyleName(style.selected());
- setting.removeStyleName(style.settingsInnerSelected());
-
- contactOuter.removeStyleName(style.selected());
- contact.removeStyleName(style.contactInnerSelected());
- //FIXME need the configure one
- if(GWT.isProdMode()){
- placeController.goTo(new FolderPlace("INBOX"));
- }else{
- placeController.goTo(new FolderPlace("Mock-Inbox"));
- }
- }
-
-
-
- @UiHandler("setting")
- public void onSettingClick(ClickEvent e){
- mailOuter.removeStyleName(style.selected());
- mail.removeStyleName(style.mailInnerSelected());
- contactOuter.removeStyleName(style.selected());
- contact.removeStyleName(style.contactInnerSelected());
-
- settingOuter.addStyleName(style.selected());
- setting.addStyleName(style.settingsInnerSelected());
- placeController.goTo(new SettingPlace("labels"));
- }
-
-
- @UiHandler("contact")
- public void onContactClick(ClickEvent e){
- Window.alert("//TODO");
-// mailOuter.removeStyleName(style.selected());
-// mail.removeStyleName(style.mailInnerSelected());
-// contactOuter.addStyleName(style.selected());
-// contact.addStyleName(style.contactInnerSelected());
-//
-// settingOuter.removeStyleName(style.selected());
-// setting.removeStyleName(style.settingsInnerSelected());
-// placeController.goTo(new ContactPlace("contacts"));
- }
-
-
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
@UiHandler("mail")
public void onMailClick(ClickEvent e){
@@ -209,9 +93,6 @@ public class NavigationView extends Comp
setting.addStyleName(style.settingsInnerSelected());
placeController.goTo(new SettingPlace("labels"));
}
-<<<<<<< HEAD
->>>>>>> try to make switch to setting work
-=======
@UiHandler("contact")
@@ -228,7 +109,6 @@ public class NavigationView extends Comp
}
->>>>>>> prepared for issue#73, established the UI layout
interface NavigationUiBinder extends UiBinder<DockLayoutPanel, NavigationView> {
}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NavigationView.ui.xml Mon Sep 23 07:04:08 2013
@@ -12,15 +12,7 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:image field="buttons" src="res/buttons.png"/>
-<<<<<<< HEAD
-<<<<<<< HEAD
<ui:style type="org.apache.hupa.client.ui.NavigationView.Style">
-=======
- <ui:style>
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- <ui:style type="org.apache.hupa.client.ui.NavigationView.Style">
->>>>>>> make navigation styles shufflling be working as expected
@sprite .navigation .inner {
gwt-image: 'buttons';
display: inline-block;
@@ -44,8 +36,6 @@
}
.navigation .mailInner {
-<<<<<<< HEAD
-<<<<<<< HEAD
background-position: 0 2px;
}
@@ -54,22 +44,6 @@
color: #3cf;
}
-=======
- background-position: 0 -22px;
- color: #3cf;
- /*background-position: 0 2px;*/
- }
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- background-position: 0 2px;
- }
-
- .navigation .mailInnerSelected {
- background-position: 0 -22px;
- color: #3cf;
- }
-
->>>>>>> make navigation styles shufflling be working as expected
.navigation mailInner:hover,.navigation .mailInner.selected {
background-position: 0 -22px;
@@ -78,18 +52,9 @@
.navigation .contactInner {
background-position: 0 -48px;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
- .navigation .contactInnerSelected {
- background-position: 0 -72px;
- }
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
.navigation .contactInnerSelected {
background-position: 0 -72px;
}
->>>>>>> prepared for issue#73, established the UI layout
.navigation a.contact:hover span.inner,.navigation a.contact.selected span.inner
{
@@ -100,18 +65,9 @@
background-position: 0 -96px;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
- .navigation .settingsInnerSelected {
- background-position: 0 -120px;
- }
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
.navigation .settingsInnerSelected {
background-position: 0 -120px;
}
->>>>>>> make navigation styles shufflling be working as expected
.navigation a.settings:hover span.inner,.navigation a.settings.selected span.inner
{
background-position: 0 -120px;
@@ -128,44 +84,17 @@
</ui:style>
<g:DockLayoutPanel unit="PX" ui:field="Navigation">
<g:west size="74">
-<<<<<<< HEAD
-<<<<<<< HEAD
<g:SimplePanel ui:field="mailOuter" addStyleNames="{style.navigation} {style.selected}">
<g:Anchor ui:field="mail"
addStyleNames="
{style.mailInnerSelected} {style.inner}">
-=======
- <g:SimplePanel addStyleNames="{style.navigation} {style.selected}">
- <g:Anchor ui:field="mail"
- addStyleNames="
- {style.mailInner} {style.inner}">
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- <g:SimplePanel ui:field="mailOuter" addStyleNames="{style.navigation} {style.selected}">
- <g:Anchor ui:field="mail"
- addStyleNames="
- {style.mailInnerSelected} {style.inner}">
->>>>>>> make navigation styles shufflling be working as expected
Mail
</g:Anchor>
</g:SimplePanel>
</g:west>
<g:center>
-<<<<<<< HEAD
-<<<<<<< HEAD
- <g:SimplePanel ui:field="contactOuter" addStyleNames="{style.navigation}">
- <g:Anchor ui:field="contact"
-=======
- <g:SimplePanel addStyleNames="{style.navigation}">
-<<<<<<< HEAD
- <g:Anchor
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
-=======
<g:SimplePanel ui:field="contactOuter" addStyleNames="{style.navigation}">
->>>>>>> prepared for issue#73, established the UI layout
<g:Anchor ui:field="contact"
->>>>>>> make navigation styles shufflling be working as expected
addStyleNames="
{style.contactInner} {style.inner}">
Contacts
@@ -173,21 +102,8 @@
</g:SimplePanel>
</g:center>
<g:east size="97">
-<<<<<<< HEAD
-<<<<<<< HEAD
- <g:SimplePanel ui:field="settingOuter" addStyleNames="{style.navigation}">
- <g:Anchor ui:field="setting"
-=======
- <g:SimplePanel addStyleNames="{style.navigation}">
-<<<<<<< HEAD
- <g:Anchor
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
-=======
<g:SimplePanel ui:field="settingOuter" addStyleNames="{style.navigation}">
->>>>>>> make navigation styles shufflling be working as expected
<g:Anchor ui:field="setting"
->>>>>>> try to make switch to setting work
addStyleNames="
{style.settingsInner} {style.inner}">
Settings
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.java Mon Sep 23 07:04:08 2013
@@ -23,17 +23,6 @@ import org.apache.hupa.client.activity.N
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.CssResource;
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
-import com.google.gwt.safehtml.shared.SafeHtml;
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
-=======
-import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
->>>>>>> make the notification be able to cope with link
-=======
->>>>>>> upgrade maven-processor-plugin to the latest 2.2.4; change the middle-man in MessageListActivityMapper to string instead of the whole MessageFolderPlace
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
@@ -54,15 +43,7 @@ public class NotificationView extends Co
@Override
-<<<<<<< HEAD
-<<<<<<< HEAD
public void notice(String html){
-=======
- public void notice(SafeHtml html){
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
-=======
- public void notice(String html){
->>>>>>> make the notification be able to cope with link
this.notificationContainer.removeStyleName(style.hideNotification());
this.notification.setHTML(html);
}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/NotificationView.ui.xml Mon Sep 23 07:04:08 2013
@@ -21,14 +21,7 @@
}
.fontFeel {
-<<<<<<< HEAD
-<<<<<<< HEAD
z-index: 9999;
-=======
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
-=======
- z-index: 9999;
->>>>>>> make a notification timer to be able to schedule the notice with millis time.
position: relative;
display: inline-block;
border-color: #f0c36d;
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SearchBoxView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SearchBoxView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SearchBoxView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SearchBoxView.java Mon Sep 23 07:04:08 2013
@@ -29,16 +29,8 @@ import com.google.gwt.event.dom.client.H
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
-<<<<<<< HEAD
-<<<<<<< HEAD
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
-=======
->>>>>>> prepare to add search feature
-=======
-import com.google.gwt.event.logical.shared.ValueChangeEvent;
-import com.google.gwt.event.logical.shared.ValueChangeHandler;
->>>>>>> add searching... loading progress; add some attribute to searchbox, say magnifying glass and placeholder and so on
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
@@ -47,46 +39,12 @@ import com.google.gwt.user.client.ui.Has
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
import com.google.gwt.user.client.ui.SuggestBox;
-<<<<<<< HEAD
-<<<<<<< HEAD
-import com.google.gwt.user.client.ui.TextBox;
-=======
->>>>>>> prepare to add search feature
-=======
import com.google.gwt.user.client.ui.TextBox;
->>>>>>> quick fix something - use textbox for search and make contacts TODO
public class SearchBoxView extends Composite implements SearchBoxActivity.Displayable {
private MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(" ,@");
-<<<<<<< HEAD
-<<<<<<< HEAD
- private TextBox searchBox = new TextBox();
- private Button searchButton = new Button("Search");
- @UiField protected HorizontalPanel thisPanel;
-
- // @SuppressWarnings("deprecation")
- public SearchBoxView() {
- initWidget(binder.createAndBindUi(this));
-
- // searchBox.addStyleName(HupaCSS.C_msg_search);
-
- // searchBox.setAnimationEnabled(true);
- // searchBox.setAutoSelectEnabled(false);
- // searchBox.setLimit(20);
- searchBox.getElement().setAttribute("type", "search");
- searchBox.getElement().setAttribute("placeholder", "Search...");
- searchBox.getElement().setAttribute("results", "10");
- searchBox.getElement().setAttribute("incremental", "incremental");
- searchBox.getElement().setAttribute("name", "s");
- searchBox.addKeyUpHandler(new KeyUpHandler() {
- public void onKeyUp(KeyUpEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER || (event.getNativeKeyCode() == KeyCodes.KEY_BACKSPACE && searchBox.getText().trim().equals(""))) {
-=======
- private SuggestBox searchBox = new SuggestBox(oracle);
-=======
private TextBox searchBox = new TextBox();
->>>>>>> quick fix something - use textbox for search and make contacts TODO
private Button searchButton = new Button("Search");
@UiField protected HorizontalPanel thisPanel;
@@ -106,12 +64,7 @@ public class SearchBoxView extends Compo
searchBox.getElement().setAttribute("name", "s");
searchBox.addKeyUpHandler(new KeyUpHandler() {
public void onKeyUp(KeyUpEvent event) {
-<<<<<<< HEAD
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
->>>>>>> prepare to add search feature
-=======
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER || (event.getNativeKeyCode() == KeyCodes.KEY_BACKSPACE && searchBox.getText().trim().equals(""))) {
->>>>>>> add searching... loading progress; add some attribute to searchbox, say magnifying glass and placeholder and so on
searchButton.click();
}
}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.java Mon Sep 23 07:04:08 2013
@@ -33,14 +33,7 @@ import com.google.gwt.user.client.ui.HTM
public class SettingNavView extends Composite implements SettingNavActivity.Displayable {
@UiField Element navLabelsItem;
-<<<<<<< HEAD
- @UiField Element navEcsItem;
-
- @UiField Anchor labelsAnchor;
- @UiField Anchor ecsAnchor;
-=======
@UiField Anchor labelsAnchor;
->>>>>>> make a skeleton in the setting place, for more setting items
public SettingNavView() {
initWidget(binder.createAndBindUi(this));
@@ -57,44 +50,15 @@ public class SettingNavView extends Comp
}
@Override
-<<<<<<< HEAD
- public HasClickHandlers getEcsAchor() {
- return ecsAnchor;
- }
-
-
- @Override
public void singleSelect(int i) {
switch(i){
- case 2:selectEcsItem();break;
-=======
- public void singleSelect(int i) {
- switch(i){
->>>>>>> make a skeleton in the setting place, for more setting items
default:selectNavLabelItem();
}
}
-<<<<<<< HEAD
- private void selectEcsItem() {
- String labelClass = navLabelsItem.getAttribute("class");
- navLabelsItem.setAttribute("class", labelClass.replace("selected", ""));
- String ecsClass = navEcsItem.getAttribute("class");
- navEcsItem.setAttribute("class", ecsClass + " selected");
-
- }
-
- private void selectNavLabelItem() {
- String ecsClass = navEcsItem.getAttribute("class");
- navEcsItem.setAttribute("class", ecsClass.replace("selected", ""));
- String labelClass = navLabelsItem.getAttribute("class");
- navLabelsItem.setAttribute("class", labelClass + " selected");
- }
-=======
private void selectNavLabelItem() {
String clazz = navLabelsItem.getAttribute("class");
navLabelsItem.setAttribute("class", clazz + " selected");
}
->>>>>>> make a skeleton in the setting place, for more setting items
}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/SettingNavView.ui.xml Mon Sep 23 07:04:08 2013
@@ -11,31 +11,16 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-<<<<<<< HEAD
-=======
<ui:style>
.selected {
font-weight: bold;
}
</ui:style>
->>>>>>> make a skeleton in the setting place, for more setting items
<g:HTMLPanel ui:field="thisPanel">
<div id="settings-sections" class="uibox listbox">
<h2 class="boxtitle">Settings</h2>
<div id="settings-tabs" class="scroller">
<span class="listitem folders selected" ui:field="navLabelsItem">
-<<<<<<< HEAD
- <g:Anchor ui:field="labelsAnchor">Labels</g:Anchor>
- </span>
- <span class="listitem preferences" ui:field="navEcsItem">
- <g:Anchor ui:field="ecsAnchor">Envelope-Content Splitting
- </g:Anchor>
- </span>
- <!-- <span class="listitem identities"> <g:Anchor ui:field="others">Ohters</g:Anchor>
- </span> -->
- </div>
- </div>
-=======
<g:Anchor ui:field="labelsAnchor">Labels
</g:Anchor>
</span>
@@ -48,6 +33,5 @@
</div>
</div>
->>>>>>> make a skeleton in the setting place, for more setting items
</g:HTMLPanel>
</ui:UiBinder>
\ No newline at end of file
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.java Mon Sep 23 07:04:08 2013
@@ -19,30 +19,14 @@
package org.apache.hupa.client.ui;
-<<<<<<< HEAD
-<<<<<<< HEAD
import org.apache.hupa.client.activity.StatusActivity;
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
-import org.apache.hupa.client.activity.StatusActivity;
-
->>>>>>> integrate all of the views to their corresponding activities and mappers
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
-<<<<<<< HEAD
-<<<<<<< HEAD
-public class StatusView extends Composite implements StatusActivity.Displayable {
-=======
-public class StatusView extends Composite {
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
public class StatusView extends Composite implements StatusActivity.Displayable {
->>>>>>> integrate all of the views to their corresponding activities and mappers
public StatusView() {
initWidget(binder.createAndBindUi(this));
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/StatusView.ui.xml Mon Sep 23 07:04:08 2013
@@ -11,14 +11,6 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-<<<<<<< HEAD
-<<<<<<< HEAD
<g:HTMLPanel>
-=======
- <g:HTMLPanel>Status
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- <g:HTMLPanel>
->>>>>>> change the message content view with scrollbar
</g:HTMLPanel>
</ui:UiBinder>
\ No newline at end of file
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=1525515&r1=1525514&r2=1525515&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 Mon Sep 23 07:04:08 2013
@@ -19,91 +19,24 @@
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;
@@ -381,426 +314,15 @@ public class ToolBarView extends Composi
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
}
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=1525515&r1=1525514&r2=1525515&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 Mon Sep 23 07:04:08 2013
@@ -11,8 +11,6 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-<<<<<<< HEAD
-<<<<<<< HEAD
<ui:image field="buttons" src="res/buttons.png" />
<ui:image field="listicons" src="res/listicons.png" />
<ui:style type="org.apache.hupa.client.ui.ToolBarView.Style">
@@ -20,21 +18,6 @@
position: absolute;
display: block;
top: -2px;
-=======
- <ui:image field="buttons" src="res/buttons.png"/>
- <ui:style>
-=======
- <ui:image field="buttons" src="res/buttons.png" />
- <ui:style type="org.apache.hupa.client.ui.ToolBarView.Style">
->>>>>>> dynamical style tool bar
- .bar {
- position: absolute;
-<<<<<<< HEAD
- top: -6px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- top: -2px;
->>>>>>> beautify message list and content
right: 390px;
left: 0;
height: 40px;
@@ -42,10 +25,6 @@
z-index: 10;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
@sprite .listicon {
gwt-image: 'listicons';
display: block;
@@ -56,11 +35,6 @@
opacity: 0.99;
}
-<<<<<<< HEAD
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
->>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
@sprite .button {
gwt-image: 'buttons';
text-align: center;
@@ -72,15 +46,7 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-<<<<<<< HEAD
-<<<<<<< HEAD
- padding: 28px 2px 0 2px;
-=======
- padding: 24px 2px 0 2px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
padding: 28px 2px 0 2px;
->>>>>>> beautify message list and content
text-shadow: 0px 1px 1px #EEE;
box-shadow: none;
-webkit-box-shadow: none;
@@ -90,8 +56,6 @@
margin: 0 2px;
border-radius: 4px;
text-decoration: none;
-<<<<<<< HEAD
-<<<<<<< HEAD
}
.checkMail {
@@ -100,23 +64,6 @@
.compose {
background-position: center -530px;
-=======
- cursor: pointer;
-=======
->>>>>>> make tool bar's style work as expected
- }
-
- .checkMail {
- background-position: center -1176px;
- }
-
- .compose {
-<<<<<<< HEAD
- background-position: center -534px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- background-position: center -530px;
->>>>>>> integrate all of the views to their corresponding activities and mappers
}
.spacer {
@@ -127,15 +74,7 @@
}
.reply {
-<<<<<<< HEAD
-<<<<<<< HEAD
- background-position: center -570px;
-=======
- background-position: center -574px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
background-position: center -570px;
->>>>>>> integrate all of the views to their corresponding activities and mappers
}
.dropButton {
@@ -152,15 +91,7 @@
.replyAll {
min-width: 64px;
-<<<<<<< HEAD
-<<<<<<< HEAD
background-position: left -610px;
-=======
- background-position: left -614px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- background-position: left -610px;
->>>>>>> integrate all of the views to their corresponding activities and mappers
}
@sprite .dropButton .dropButtonTip {
@@ -171,10 +102,7 @@
top: 0;
height: 42px;
width: 18px;
-<<<<<<< HEAD
-<<<<<<< HEAD
background-position: 0 -1255px;
-<<<<<<< HEAD
}
.handCursor{
@@ -248,133 +176,12 @@
.unread {
background-position: 0 -1198px;
-=======
- background-position: 0 -1259px;
-=======
- background-position: 0 -1255px;
->>>>>>> integrate all of the views to their corresponding activities and mappers
- cursor: pointer;
-=======
->>>>>>> make tool bar's style work as expected
- }
-
- .handCursor{
- cursor: pointer;
- }
- .forward {
- min-width: 64px;
- background-position: left -650px;
- }
-
- .delete {
- background-position: center -690px;
- }
-
- .mark {
- background-position: center -1094px;
- }
-
- .more {
-<<<<<<< HEAD
- background-position: center -854px;
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- background-position: center -850px;
->>>>>>> integrate all of the views to their corresponding activities and mappers
- }
-
- .disabledButton {
- opacity: 0.4;
- cursor: default;
- }
-
- .popupMenu {
- width: auto;
- background: #444;
- border: 1px solid #999;
- z-index: 240;
- border-radius: 4px;
- box-shadow: 0 2px 6px 0 #333;
- -moz-box-shadow: 0 2px 6px 0 #333;
- -webkit-box-shadow: 0 2px 6px 0 #333;
- -o-box-shadow: 0 2px 6px 0 #333;
- }
-
- .toolBarMenu {
- margin: 0;
- padding: 0;
- }
-
- .toolBarMenu td {
- border-top: 1px solid #5a5a5a;
- border-bottom: 1px solid #333;
- padding: 3px 8px;
- }
-
- .toolBarMenu td:hover {
- background-color: #0186ba;
-
- }
-
- .activeIcon {
- display: block;
- white-space: nowrap;
- color: #666;
- text-shadow: 0px 1px 1px #333;
- text-decoration: none;
- min-height: 14px;
- color: #eee;
- padding: 2px 25px;
- cursor: default;
- }
-
- .read {
- background-position: 0 -1222px;
- }
-
- .unread {
- background-position: 0 -1198px;
}
</ui:style>
<g:FlowPanel addStyleNames="{style.bar}" ui:field="ToolBar">
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
- <g:Anchor ui:field="refresh" addStyleNames="{style.button} {style.checkMail} {style.handCursor}">Refresh</g:Anchor>
- <g:Anchor ui:field="compose" addStyleNames="{style.button} {style.compose} {style.handCursor}">Compose</g:Anchor>
- <g:HTMLPanel tag="span" addStyleNames="{style.spacer}"></g:HTMLPanel>
- <g:Anchor ui:field="reply"
- addStyleNames="{style.button} {style.reply} {style.handCursor}">Reply</g:Anchor>
- <g:HTMLPanel ui:field="replyAllGroup" tag="span"
- addStyleNames="{style.dropButton} {style.handCursor}">
- <g:Anchor ui:field="replyAll" addStyleNames="{style.button} {style.replyAll}">Reply all
- </g:Anchor>
- <g:HTMLPanel ui:field="replyAllTip" tag="span" addStyleNames="{style.dropButtonTip}" />
- </g:HTMLPanel>
- <g:HTMLPanel ui:field="forwardGroup" tag="span"
- addStyleNames="{style.dropButton} {style.handCursor}">
- <g:Anchor ui:field="forward" addStyleNames="{style.button} {style.forward}">Forward
- </g:Anchor>
- <g:HTMLPanel ui:field="forwardTip" tag="span" addStyleNames="{style.dropButtonTip}" />
- </g:HTMLPanel>
- <g:Anchor ui:field="delete"
- addStyleNames="{style.button} {style.delete} {style.handCursor}">Delete</g:Anchor>
- <g:Anchor ui:field="mark"
- addStyleNames="{style.button} {style.mark} {style.handCursor}">Mark</g:Anchor>
- <g:Anchor ui:field="more"
- addStyleNames="{style.button} {style.more} {style.handCursor}">More</g:Anchor>
-=======
- <g:Anchor addStyleNames="{style.button} {style.checkMail}">Refresh</g:Anchor>
- <g:Anchor addStyleNames="{style.button} {style.compose}">Compose</g:Anchor>
-=======
- <g:Anchor ui:field="refresh" addStyleNames="{style.button} {style.checkMail}">Refresh</g:Anchor>
- <g:Anchor ui:field="compose" addStyleNames="{style.button} {style.compose}">Compose</g:Anchor>
->>>>>>> add enable tool bar buttons toggling event, with being related to issue #31
-=======
<g:Anchor ui:field="refresh" addStyleNames="{style.button} {style.checkMail} {style.handCursor}">Refresh</g:Anchor>
<g:Anchor ui:field="compose" addStyleNames="{style.button} {style.compose} {style.handCursor}">Compose</g:Anchor>
->>>>>>> make tool bar's style work as expected
<g:HTMLPanel tag="span" addStyleNames="{style.spacer}"></g:HTMLPanel>
<g:Anchor ui:field="reply"
addStyleNames="{style.button} {style.reply} {style.handCursor}">Reply</g:Anchor>
@@ -390,34 +197,11 @@
</g:Anchor>
<g:HTMLPanel ui:field="forwardTip" tag="span" addStyleNames="{style.dropButtonTip}" />
</g:HTMLPanel>
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
- <g:Anchor addStyleNames="{style.button} {style.delete}">Delete</g:Anchor>
- <g:Anchor addStyleNames="{style.button} {style.mark}">Mark</g:Anchor>
- <g:Anchor addStyleNames="{style.button} {style.more}">More</g:Anchor>
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- <g:Anchor addStyleNames="{style.button} {style.delete} {style.disabledButton}">Delete</g:Anchor>
- <g:Anchor addStyleNames="{style.button} {style.mark} {style.disabledButton}">Mark</g:Anchor>
- <g:Anchor addStyleNames="{style.button} {style.more} {style.disabledButton}">More</g:Anchor>
->>>>>>> dynamical style tool bar
-=======
- <g:Anchor ui:field="delete" addStyleNames="{style.button} {style.delete} {style.disabledButton}">Delete</g:Anchor>
- <g:Anchor ui:field="mark" addStyleNames="{style.button} {style.mark} {style.disabledButton}">Mark</g:Anchor>
- <g:Anchor ui:field="more" addStyleNames="{style.button} {style.more} {style.disabledButton}">More</g:Anchor>
->>>>>>> add enable tool bar buttons toggling event, with being related to issue #31
-=======
<g:Anchor ui:field="delete"
addStyleNames="{style.button} {style.delete} {style.handCursor}">Delete</g:Anchor>
<g:Anchor ui:field="mark"
addStyleNames="{style.button} {style.mark} {style.handCursor}">Mark</g:Anchor>
<g:Anchor ui:field="more"
-<<<<<<< HEAD
- addStyleNames="{style.button} {style.more} {style.disabledButton}">More</g:Anchor>
->>>>>>> 1.do not select the message which is being focused on. 2.create the mark popup menu
-=======
addStyleNames="{style.button} {style.more} {style.handCursor}">More</g:Anchor>
->>>>>>> make tool bar's style work as expected
</g:FlowPanel>
</ui:UiBinder>
\ No newline at end of file
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java Mon Sep 23 07:04:08 2013
@@ -19,15 +19,9 @@
package org.apache.hupa.client.ui;
-<<<<<<< HEAD
-<<<<<<< HEAD
import org.apache.hupa.client.activity.TopBarActivity;
import com.google.gwt.core.client.GWT;
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> fill the empty compose view with the old message when the composing type are reply, replyAll, forward and preparing for about & deleting operation
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.resources.client.CssResource;
@@ -48,99 +42,22 @@ public class TopBarView extends Composit
@UiField Anchor logout;
@UiField HTMLPanel userLabel;
@UiField SimplePanel loading;
-<<<<<<< HEAD
-<<<<<<< HEAD
@UiField HTML loadingRegion;
-=======
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
-=======
- @UiField HTML loadingRegion;
->>>>>>> fixed issue#61; add loading to mark, unmark.
@UiField Style style;
interface Style extends CssResource {
String hideLoading();
}
-<<<<<<< HEAD
-=======
-=======
-import org.apache.hupa.client.activity.TopBarActivity;
-
->>>>>>> integrate all of the views to their corresponding activities and mappers
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
-
-<<<<<<< HEAD
-public class TopBarView extends Composite {
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
-public class TopBarView extends Composite implements TopBarActivity.Displayable{
->>>>>>> integrate all of the views to their corresponding activities and mappers
-=======
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.Anchor;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
-import com.google.gwt.user.client.ui.HTMLPanel;
-
-public class TopBarView extends Composite implements TopBarActivity.Displayable {
-
- @UiField Anchor logout;
- @UiField HTMLPanel userLabel;
->>>>>>> add logout support
-=======
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
public TopBarView() {
initWidget(binder.createAndBindUi(this));
}
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> fill the empty compose view with the old message when the composing type are reply, replyAll, forward and preparing for about & deleting operation
@UiHandler("about")
void handleAboutClick(ClickEvent e){
Window.alert("// TODO show about model view");
}
-<<<<<<< HEAD
-
- @Override
- public void showLoading(String message){
- loadingRegion.setHTML(message);
- loading.removeStyleName(style.hideLoading());
- }
-
- @Override
- public void hideLoading(){
- loadingRegion.setHTML("");
- loading.addStyleName(style.hideLoading());
- }
-
- @Override
- public HasClickHandlers getLogoutClick() {
- return logout;
- }
-
- @Override
- public HTMLPanel getUserLabel() {
- return userLabel;
- }
-
- @Override
- public void showUserName(String userName){
- userLabel.clear();
- userLabel.add(new HTML(userName));
- }
-=======
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
->>>>>>> fill the empty compose view with the old message when the composing type are reply, replyAll, forward and preparing for about & deleting operation
@Override
public void showLoading(String message){
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml Mon Sep 23 07:04:08 2013
@@ -11,21 +11,9 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-<<<<<<< HEAD
-<<<<<<< HEAD
<ui:image field="topBarBackgroundImg" src="res/linen_header.jpg" />
<ui:image field="buttons" src="res/buttons.png" />
<ui:style type="org.apache.hupa.client.ui.TopBarView.Style">
-=======
- <ui:image field="topBarBackgroundImg" src="res/linen_header.jpg"/>
- <ui:image field="buttons" src="res/buttons.png"/>
- <ui:style>
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- <ui:image field="topBarBackgroundImg" src="res/linen_header.jpg" />
- <ui:image field="buttons" src="res/buttons.png" />
- <ui:style type="org.apache.hupa.client.ui.TopBarView.Style">
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
@sprite .self {
gwt-image: 'topBarBackgroundImg';
width: 100%;
@@ -67,10 +55,6 @@
.right {
float: right;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
.textCenter {
text-align: center;
@@ -101,7 +85,6 @@
.hideLoading {
visibility: hidden;
}
-<<<<<<< HEAD
</ui:style>
<g:DockLayoutPanel ui:field="TopBar" unit="PX"
addStyleNames="{style.self} ">
@@ -123,34 +106,5 @@
addStyleNames="{style.right} {style.username}" />
</g:FlowPanel>
</g:east>
-=======
-=======
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
- </ui:style>
- <g:DockLayoutPanel ui:field="TopBar" unit="PX"
- addStyleNames="{style.self} ">
- <g:west size="300">
- <g:SimplePanel addStyleNames="{style.left}">
- <g:Anchor ui:field="about" styleName="{style.about}">About</g:Anchor>
- </g:SimplePanel>
- </g:west>
- <g:center>
- <g:SimplePanel addStyleNames="{style.hideLoading} {style.loadingPosition} {style.textCenter}" ui:field="loading">
- <g:HTML ui:field="loadingRegion" addStyleNames="{style.fontFeel}">Loading...
- </g:HTML>
- </g:SimplePanel>
- </g:center>
- <g:east size="300">
- <g:FlowPanel>
- <g:Anchor ui:field="logout" addStyleNames="{style.right} {style.logout}">Logout</g:Anchor>
- <g:HTMLPanel ui:field="userLabel" tag="span"
- addStyleNames="{style.right} {style.username}" />
- </g:FlowPanel>
-<<<<<<< HEAD
- </g:center>
->>>>>>> make login page as one part of the overall layout & splite layout to little one
-=======
- </g:east>
->>>>>>> add loading and notification bar(finishing the folder list click event), related to the issue#18
</g:DockLayoutPanel>
</ui:UiBinder>
\ No newline at end of file
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml Mon Sep 23 07:04:08 2013
@@ -1,8 +1,3 @@
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> remove both of gwt-representer and gwt-dispatch dependencies, add license headers to all new files
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -22,7 +17,6 @@
under the License.
-->
-<<<<<<< HEAD
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:FlowPanel ui:field="topWrapper">
@@ -36,41 +30,5 @@
<g:Label ui:field="appnameLabel"></g:Label>
<g:Label ui:field="extraLabel"></g:Label>
</g:HorizontalPanel>
-<<<<<<< HEAD
-=======
-=======
->>>>>>> decorate the theme
-=======
->>>>>>> remove both of gwt-representer and gwt-dispatch dependencies, add license headers to all new files
-<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
- xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-<<<<<<< HEAD
- <ui:style>
- .round-corner-panel {
- border: 1px solid #7FAAFF;
- box-shadow: 0 1px 4px grey;
- border-radius: 5px;
- overflow: hidden;
- }
- </ui:style>
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
- <g:FlowPanel addStyleNames="{style.round-corner-panel}">
->>>>>>> decorate the theme
-=======
- <g:FlowPanel ui:field="topWrapper" addStyleNames="{style.round-corner-panel}">
->>>>>>> introduce the top activity
-=======
- <g:FlowPanel addStyleNames="{style.round-corner-panel}">
->>>>>>> decorate the theme
-=======
- <g:FlowPanel ui:field="topWrapper" addStyleNames="{style.round-corner-panel}">
->>>>>>> introduce the top activity
-=======
- <g:FlowPanel ui:field="topWrapper">
->>>>>>> make it look more beautiful
-=======
->>>>>>> replace with uibinder
</g:FlowPanel>
</ui:UiBinder>
\ No newline at end of file
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java Mon Sep 23 07:04:08 2013
@@ -28,37 +28,9 @@ import com.google.gwt.user.client.ui.Spl
public class _CenterPanel extends Composite {
-<<<<<<< HEAD
-<<<<<<< HEAD
@UiField protected SplitLayoutPanel thisPanel;
@UiField protected __OutlinePanel outlinePanel;
@UiField protected __ContentPanel contentPanel;
-<<<<<<< HEAD
-=======
- @UiField SplitLayoutPanel thisPanel;
- @UiField __OutlinePanel outlinePanel;
- @UiField __ContentPanel contentPanel;
-<<<<<<< HEAD
-<<<<<<< HEAD
->>>>>>> split the layout panel to more small ones
-=======
- @UiField __ComposePanel composePanel;
->>>>>>> preparing for composing panel
-=======
- @UiField ComposeView composeView;
->>>>>>> scrub code
-=======
- @UiField protected SplitLayoutPanel thisPanel;
- @UiField protected __OutlinePanel outlinePanel;
- @UiField protected __ContentPanel contentPanel;
-<<<<<<< HEAD
- @UiField protected __ComposePanel composePanel;
->>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
-=======
- @UiField protected SimpleLayoutPanel composeContainer;
->>>>>>> make send text mail work excellently
-=======
->>>>>>> make layout can be arranged by clicking the navigation buttons; make the layout changing by set their sizes to zero rather than remove/add from their parent widgets; merge to the master branch.
public _CenterPanel() {
initWidget(binder.createAndBindUi(this));
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml Mon Sep 23 07:04:08 2013
@@ -11,21 +11,10 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:hupa='urn:import:org.apache.hupa.client.ui'>
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
->>>>>>> fixed issue#62
<ui:style src="res/CssSplitLayoutPanel.css" />
<g:SplitLayoutPanel ui:field="thisPanel"
addStyleNames="{style.splitLayoutPanel}">
<g:west size="220">
-<<<<<<< HEAD
-=======
- <g:SplitLayoutPanel ui:field="thisPanel">
- <g:west size="373">
->>>>>>> split the layout panel to more small ones
-=======
->>>>>>> fixed issue#62
<hupa:__OutlinePanel ui:field="outlinePanel" />
</g:west>
<g:center>
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterSettingPanel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterSettingPanel.java?rev=1525515&r1=1525514&r2=1525515&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterSettingPanel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterSettingPanel.java Mon Sep 23 07:04:08 2013
@@ -19,94 +19,6 @@
package org.apache.hupa.client.ui;
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
-import org.apache.hupa.client.place.SettingPlace;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.Style.Unit;
-import com.google.gwt.resources.client.CssResource;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.cellview.client.CellList;
-import com.google.gwt.user.client.ui.AcceptsOneWidget;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.IsWidget;
-import com.google.gwt.user.client.ui.LayoutPanel;
-import com.google.gwt.user.client.ui.SimpleLayoutPanel;
-import com.google.gwt.user.client.ui.SplitLayoutPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class _CenterSettingPanel extends Composite {
-
- public static final int LAYOUT_LABEL = 0x01;
- public static final int LAYOUT_ECS = 0x02;
-
- @UiField SplitLayoutPanel thisPanel;
-
- @UiField SimpleLayoutPanel settingNavContainer;
-
- @UiField SettingLabelPanel settingLabelPanel;
- @UiField SettingEcsPanel settingEcsPanel;
-
- @UiField LayoutPanel settingBox;
-
- @UiField protected Style style;
-
- interface Style extends CssResource {
-
- }
-
- public void arrangeLayout(int lyt) {
- showOrHideLabel(lyt);
- showOrHideEcs(lyt);
- }
-
- private void showOrHideLabel(int lyt) {
- settingBox.setWidgetLeftWidth(settingLabelPanel, 0, Unit.PCT, (lyt & LAYOUT_LABEL) / LAYOUT_LABEL * 100,
- Unit.PCT);
- settingBox.setWidgetTopHeight(settingLabelPanel, 0, Unit.PCT, (lyt & LAYOUT_LABEL) / LAYOUT_LABEL * 100,
- Unit.PCT);
- }
-
- private void showOrHideEcs(int lyt) {
- settingBox.setWidgetLeftWidth(settingEcsPanel, 0, Unit.PCT, (lyt & LAYOUT_ECS) / LAYOUT_ECS * 100, Unit.PCT);
- settingBox.setWidgetTopHeight(settingEcsPanel, 0, Unit.PCT, (lyt & LAYOUT_ECS) / LAYOUT_ECS * 100, Unit.PCT);
- }
-
- public _CenterSettingPanel() {
-
- initWidget(binder.createAndBindUi(this));
- }
-
- public interface Resources extends CellList.Resources {
-
- Resources INSTANCE = GWT.create(Resources.class);
-
- @Source("res/CssLabelListView.css")
- public CellList.Style cellListStyle();
- }
-
- interface _CeterSettingPanelUiBinder extends UiBinder<SplitLayoutPanel, _CenterSettingPanel> {
-=======
-=======
-import java.util.Arrays;
-import java.util.List;
-
-<<<<<<< HEAD
-<<<<<<< HEAD
-import com.google.gwt.cell.client.TextCell;
->>>>>>> make label settings prototype
-=======
-=======
-import org.apache.hupa.client.ui.FolderListView.Resources;
-
->>>>>>> fixed issue#66 and remove one useless class, make MessageListFooterActivityMapper do not map anything when it comes to setting place
-import com.google.gwt.cell.client.AbstractCell;
->>>>>>> try to rearrange the places and history managment.
-=======
->>>>>>> make a skeleton in the setting place, for more setting items
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
@@ -148,102 +60,21 @@ public class _CenterSettingPanel extends
@Source("res/CssLabelListView.css")
public CellList.Style cellListStyle();
}
-<<<<<<< HEAD
- private CellList<String> createTabList() {
- CellList<String> cellList = new CellList<String>(new SpanCell(), Resources.INSTANCE);
- cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
- final SingleSelectionModel<String> selectionModel = new SingleSelectionModel<String>();
- cellList.setSelectionModel(selectionModel);
- selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
- public void onSelectionChange(SelectionChangeEvent event) {
- String selected = selectionModel.getSelectedObject();
- if (selected != null) {
- // Window.alert("You selected: " + selected);
- }
- }
- });
- cellList.setRowCount(TABS.size(), true);
-
- // Push the data into the widget.
- cellList.setRowData(0, TABS);
- return cellList;
- }
-
-<<<<<<< HEAD
-<<<<<<< HEAD
- interface _CeterSettingPanelUiBinder extends UiBinder<DockLayoutPanel, _CenterSettingPanel> {
->>>>>>> attempt to add label setting feature
-=======
-=======
- static class SpanCell extends AbstractCell<String> {
-
- public SpanCell() {
- }
-
- @Override
- public void render(Context context, String value, SafeHtmlBuilder sb) {
- if (value == null) {
- return;
- }
- sb.appendHtmlConstant("<span >");
- sb.appendHtmlConstant(value);
- sb.appendHtmlConstant("</span>");
- }
- }
-=======
->>>>>>> make a skeleton in the setting place, for more setting items
->>>>>>> try to rearrange the places and history managment.
interface _CeterSettingPanelUiBinder extends UiBinder<SplitLayoutPanel, _CenterSettingPanel> {
->>>>>>> add layout styles to three part
}
private static _CeterSettingPanelUiBinder binder = GWT.create(_CeterSettingPanelUiBinder.class);
-<<<<<<< HEAD
-<<<<<<< HEAD
- public AcceptsOneWidget getLabelListView() {
- return settingLabelPanel.getLabelListView();
- }
-
- public AcceptsOneWidget getLabelPropertiesView() {
- return settingLabelPanel.getLabelPropertiesView();
- }
-
- public AcceptsOneWidget getSettingNavView() {
- return new AcceptsOneWidget() {
- @Override
- public void setWidget(IsWidget w) {
- settingNavContainer.setWidget(Widget.asWidgetOrNull(w));
-=======
public AcceptsOneWidget getLabelListView() {
return new AcceptsOneWidget() {
@Override
public void setWidget(IsWidget w) {
labelListContainer.setWidget(Widget.asWidgetOrNull(w));
->>>>>>> make label settings prototype
}
};
}
-<<<<<<< HEAD
-<<<<<<< HEAD
- public void swithTo(SettingPlace sp) {
- int lyt;
- if ("ecs".equals(sp.getToken())) {
- lyt = LAYOUT_ECS;
- } else {
- lyt = LAYOUT_LABEL;
- }
- showOrHideEcs(lyt);
- showOrHideLabel(lyt);
-
- }
-=======
->>>>>>> attempt to add label setting feature
-=======
->>>>>>> make label settings prototype
-=======
public AcceptsOneWidget getLabelPropertiesView() {
return new AcceptsOneWidget() {
@Override
@@ -252,9 +83,6 @@ public class _CenterSettingPanel extends
}
};
}
-<<<<<<< HEAD
->>>>>>> add rename RF to label setting feature
-=======
public AcceptsOneWidget getSettingNavView() {
return new AcceptsOneWidget() {
@@ -264,5 +92,4 @@ public class _CenterSettingPanel extends
}
};
}
->>>>>>> make a skeleton in the setting place, for more setting items
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org