blob: 31073a281892a17cb71e8c3efe11e5bbb3d1664f [file] [log] [blame]
<<<<<<< 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 *
* 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. *
****************************************************************/
<<<<<<< HEAD
package org.apache.hupa.client.activity;
import org.apache.hupa.client.activity.MessageSendActivity.Type;
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.client.place.FolderPlace;
import org.apache.hupa.client.place.MessageSendPlace;
import org.apache.hupa.client.rf.GetMessageDetailsRequest;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.ImapFolderImpl;
import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
import org.apache.hupa.shared.domain.GetMessageDetailsAction;
import org.apache.hupa.shared.domain.GetMessageDetailsResult;
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.BackEvent;
import org.apache.hupa.shared.events.BackEventHandler;
import org.apache.hupa.shared.events.ExpandMessageEvent;
import org.apache.hupa.shared.events.ExpandMessageEventHandler;
import org.apache.hupa.shared.events.FolderSelectionEvent;
import org.apache.hupa.shared.events.FolderSelectionEventHandler;
import org.apache.hupa.shared.events.ForwardMessageEvent;
import org.apache.hupa.shared.events.ForwardMessageEventHandler;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.NewMessageEvent;
import org.apache.hupa.shared.events.NewMessageEventHandler;
import org.apache.hupa.shared.events.ReplyMessageEvent;
import org.apache.hupa.shared.events.ReplyMessageEventHandler;
import org.apache.hupa.shared.events.SentMessageEvent;
import org.apache.hupa.shared.events.SentMessageEventHandler;
import org.apache.hupa.widgets.ui.HasEditable;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.Place;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.web.bindery.requestfactory.shared.Receiver;
public class WestActivity extends AppBaseActivity {
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
bind();
container.setWidget(display.asWidget());
}
public void setCurrentPlace(Place place) {
this.currentPlace = place;
}
public WestActivity with(FolderPlace place) {
this.currentPlace = place;
// this.user = place.getUser();
this.folder = new ImapFolderImpl(user.getSettings().getInboxFolderName());
return this;
}
private void cloneFolder(ImapFolder desc, ImapFolder src) {
desc.setChildren(src.getChildren());
desc.setDelimiter(src.getDelimiter());
desc.setFullName(src.getFullName());
desc.setMessageCount(src.getMessageCount());
desc.setName(src.getName());
desc.setSubscribed(src.getSubscribed());
desc.setUnseenMessageCount(src.getUnseenMessageCount());
}
private void bind() {
eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
showMessageTable(loadMessagesEvent.getUser(), loadMessagesEvent.getFolder(),
loadMessagesEvent.getSearchValue());
}
});
eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
public void onExpandMessage(ExpandMessageEvent event) {
// final boolean decreaseUnseen;
final Message message = event.getMessage();
// check if the message was already seen in the past
if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
// decreaseUnseen = true;//TODO 1209
} else {
// decreaseUnseen = false;
}
GetMessageDetailsRequest req = rf.messageDetailsRequest();
<<<<<<< HEAD
GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
final ImapFolder f = req.create(ImapFolder.class);
// event.getFolder().setFolderTo(f);
cloneFolder(f, event.getFolder());
action.setFolder(f);
action.setUid(message.getUid());
req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
@Override
public void onSuccess(GetMessageDetailsResult response) {
/*
* TODO if (decreaseUnseen) { eventBus.fireEvent(new
* DecreaseUnseenEvent(user, folder)); }
*/
// placeController.goTo(messagePlaceProvider.get().with(user, f, message,
// response.getMessageDetails()));
}
});
}
});
eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
showNewMessage();
}
});
eventBus.addHandler(SentMessageEvent.TYPE, new SentMessageEventHandler() {
public void onSentMessageEvent(SentMessageEvent ev) {
showMessageTable(user, folder, searchValue);
}
});
eventBus.addHandler(ForwardMessageEvent.TYPE, new ForwardMessageEventHandler() {
public void onForwardMessageEvent(ForwardMessageEvent event) {
showForwardMessage(event);
}
});
eventBus.addHandler(ReplyMessageEvent.TYPE, new ReplyMessageEventHandler() {
public void onReplyMessageEvent(ReplyMessageEvent event) {
showReplyMessage(event);
}
});
eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() {
public void onFolderSelectionEvent(FolderSelectionEvent event) {
user = event.getUser();
folder = event.getFolder();
showMessageTable(user, event.getFolder(), searchValue);
}
});
eventBus.addHandler(BackEvent.TYPE, new BackEventHandler() {
public void onBackEvent(BackEvent event) {
showMessageTable(user, folder, searchValue);
}
});
eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
public void onExpandMessage(ExpandMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
});
eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
});
eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
public void onLogin(LoginEvent event) {
user = event.getUser();
searchValue = null;
}
});
exportJSMethods(this);
}
public void openLink(String url) {
Window.open(url, "_blank", "");
}
public void mailTo(String mailto) {
// sendPresenter.revealDisplay(user, mailto);
}
private native void exportJSMethods(WestActivity westactivity) /*-{
$wnd.openLink = function(url) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::openLink(Ljava/lang/String;) (url);
} catch(e) {}
return false;
};
$wnd.mailTo = function(mail) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::mailTo(Ljava/lang/String;) (mail);
} catch(e) {}
return false;
};
}-*/;
private void showMessageTable(User user, ImapFolder folder, String searchValue) {
this.user = user;
this.folder = folder;
this.searchValue = searchValue;
// FIXME goto?
// placeController.goTo(new MailFolderPlace().with(user, folder, searchValue));
}
private void showNewMessage() {
pc.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW));
}
private void showForwardMessage(ForwardMessageEvent event) {
pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), Type.FORWARD));
}
private void showReplyMessage(ReplyMessageEvent event) {
pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), event.getReplyAll() ? Type.REPLY_ALL : Type.REPLY));
}
@Inject private Displayable display;
@Inject private Provider<MessageSendPlace> messageSendPlaceProvider;
// @Inject private Provider<IMAPMessagePlace> messagePlaceProvider;
private User user;
private ImapFolder folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
private String searchValue;
private Place currentPlace;
public interface Displayable extends IsWidget {
}
=======
=======
>>>>>>> Change to new mvp framework - first step
=======
>>>>>>> remove both of gwt-representer and gwt-dispatch dependencies, add license headers to all new files
package org.apache.hupa.client.activity;
<<<<<<< HEAD
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> try to change fetch messages to use RF
=======
>>>>>>> refactoring.
import org.apache.hupa.client.activity.MessageSendActivity.Type;
import org.apache.hupa.client.place.IMAPMessagePlace;
=======
>>>>>>> scrub code
import org.apache.hupa.client.place.MailFolderPlace;
=======
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.MessageSendPlace;
import org.apache.hupa.client.rf.GetMessageDetailsRequest;
import org.apache.hupa.client.ui.WidgetDisplayable;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.ImapFolderImpl;
import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
import org.apache.hupa.shared.domain.GetMessageDetailsAction;
import org.apache.hupa.shared.domain.GetMessageDetailsResult;
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.BackEvent;
import org.apache.hupa.shared.events.BackEventHandler;
import org.apache.hupa.shared.events.ExpandMessageEvent;
import org.apache.hupa.shared.events.ExpandMessageEventHandler;
import org.apache.hupa.shared.events.FolderSelectionEvent;
import org.apache.hupa.shared.events.FolderSelectionEventHandler;
import org.apache.hupa.shared.events.ForwardMessageEvent;
import org.apache.hupa.shared.events.ForwardMessageEventHandler;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.NewMessageEvent;
import org.apache.hupa.shared.events.NewMessageEventHandler;
import org.apache.hupa.shared.events.ReplyMessageEvent;
import org.apache.hupa.shared.events.ReplyMessageEventHandler;
import org.apache.hupa.shared.events.SentMessageEvent;
import org.apache.hupa.shared.events.SentMessageEventHandler;
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.rpc.CreateFolder;
import org.apache.hupa.shared.rpc.DeleteFolder;
import org.apache.hupa.shared.rpc.GenericResult;
import org.apache.hupa.shared.rpc.GetMessageDetails;
import org.apache.hupa.shared.rpc.GetMessageDetailsResult;
=======
import org.apache.hupa.client.HupaEvoCallback;
=======
>>>>>>> Make the evo more clear.
import org.apache.hupa.client.activity.MessageSendActivity.Type;
import org.apache.hupa.client.evo.HupaEvoCallback;
import org.apache.hupa.client.place.IMAPMessagePlace;
import org.apache.hupa.client.place.MailFolderPlace;
import org.apache.hupa.client.place.MessageSendPlace;
import org.apache.hupa.client.rf.HupaRequestFactory;
import org.apache.hupa.client.rf.IMAPFolderRequestContext;
import org.apache.hupa.client.ui.WidgetContainerDisplayable;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.events.BackEvent;
import org.apache.hupa.shared.events.BackEventHandler;
import org.apache.hupa.shared.events.DecreaseUnseenEvent;
import org.apache.hupa.shared.events.DecreaseUnseenEventHandler;
import org.apache.hupa.shared.events.ExpandMessageEvent;
import org.apache.hupa.shared.events.ExpandMessageEventHandler;
import org.apache.hupa.shared.events.FolderSelectionEvent;
import org.apache.hupa.shared.events.FolderSelectionEventHandler;
import org.apache.hupa.shared.events.ForwardMessageEvent;
import org.apache.hupa.shared.events.ForwardMessageEventHandler;
import org.apache.hupa.shared.events.IncreaseUnseenEvent;
import org.apache.hupa.shared.events.IncreaseUnseenEventHandler;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoadMessagesEventHandler;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.MessagesReceivedEvent;
import org.apache.hupa.shared.events.MessagesReceivedEventHandler;
import org.apache.hupa.shared.events.NewMessageEvent;
import org.apache.hupa.shared.events.NewMessageEventHandler;
import org.apache.hupa.shared.events.ReplyMessageEvent;
import org.apache.hupa.shared.events.ReplyMessageEventHandler;
import org.apache.hupa.shared.events.SentMessageEvent;
import org.apache.hupa.shared.events.SentMessageEventHandler;
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
import org.apache.hupa.shared.rpc.CreateFolder;
import org.apache.hupa.shared.rpc.DeleteFolder;
import org.apache.hupa.shared.rpc.GenericResult;
<<<<<<< HEAD
>>>>>>> Change to new mvp framework - first step
=======
import org.apache.hupa.shared.rpc.GetMessageDetails;
import org.apache.hupa.shared.rpc.GetMessageDetailsResult;
>>>>>>>
import org.apache.hupa.shared.rpc.RenameFolder;
=======
>>>>>>> try to change fetch messages to use RF
import org.apache.hupa.widgets.event.EditEvent;
import org.apache.hupa.widgets.event.EditHandler;
=======
>>>>>>> refactoring.
import org.apache.hupa.widgets.ui.HasEditable;
<<<<<<< HEAD
<<<<<<< HEAD
import com.google.gwt.activity.shared.AbstractActivity;
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>>
=======
>>>>>>> scrub code
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
=======
>>>>>>> refactoring.
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.Place;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Inject;
import com.google.inject.Provider;
<<<<<<< HEAD
<<<<<<< HEAD
import com.google.web.bindery.requestfactory.shared.Receiver;
<<<<<<< HEAD
=======
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.inject.Inject;
>>>>>>> Change to new mvp framework - first step
=======
>>>>>>>
=======
import com.google.web.bindery.requestfactory.shared.Receiver;
<<<<<<< HEAD
>>>>>>> As the FetchFolders RequestFactory, but can not run correctly.
=======
import com.google.web.bindery.requestfactory.shared.ServerFailure;
>>>>>>> Succeed creating new folder
=======
>>>>>>> refactoring.
public class WestActivity extends AppBaseActivity {
<<<<<<< HEAD
private final Displayable display;
private final EventBus eventBus;
private final PlaceController placeController;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
private final Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
private final Provider<MessageSendPlace> messageSendPlaceProvider;
private final Provider<IMAPMessagePlace> messagePlaceProvider;
<<<<<<< HEAD
private DispatchAsync dispatcher;
private User user;
private IMAPFolderProxy folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
private String searchValue;
private Place currentPlace;
public void setCurrentPlace(Place place){
this.currentPlace = place;
}
@Inject
public WestActivity(Displayable display, EventBus eventBus, PlaceController placeController,
DispatchAsync dispatcher,Provider<IMAPMessagePlace> IMAPMessagePlaceProvider,Provider<MessageSendPlace> messageSendPlaceProvider,Provider<IMAPMessagePlace> messagePlaceProvider){
=======
=======
private final Provider<MailInboxPlace> mailInboxPlaceProvider;
=======
>>>>>>> At first make the inbox work, but only when click the refresh button. The page also be working, the other folder will be like the same.
private final Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
private final Provider<MessageSendPlace> messageSendPlaceProvider;
>>>>>>>
=======
>>>>>>> 1. improve the inbox folder place.
=======
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
display.setUser(user);
loadTreeItems();
bind();
container.setWidget(display.asWidget());
}
<<<<<<< HEAD
@Inject private Displayable display;
@Inject private EventBus eventBus;
@Inject private PlaceController placeController;
@Inject private Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
@Inject private Provider<MessageSendPlace> messageSendPlaceProvider;
@Inject private Provider<IMAPMessagePlace> messagePlaceProvider;
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> fix issue 2&3. Handle exceptions thrown in async blocks & Simply injection code
private User user;
private ImapFolder folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
private String searchValue;
private Place currentPlace;
public void setCurrentPlace(Place place){
this.currentPlace = place;
}
<<<<<<< HEAD
@Inject
public WestActivity(Displayable display, EventBus eventBus, PlaceController placeController,
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
DispatchAsync dispatcher){
>>>>>>> Change to new mvp framework - first step
=======
DispatchAsync dispatcher,Provider<MailInboxPlace> mailInboxPlaceProvider,Provider<IMAPMessagePlace> IMAPMessagePlaceProvider,Provider<MessageSendPlace> messageSendPlaceProvider){
>>>>>>>
=======
DispatchAsync dispatcher,Provider<IMAPMessagePlace> IMAPMessagePlaceProvider,Provider<MessageSendPlace> messageSendPlaceProvider){
>>>>>>> At first make the inbox work, but only when click the refresh button. The page also be working, the other folder will be like the same.
=======
DispatchAsync dispatcher,Provider<IMAPMessagePlace> IMAPMessagePlaceProvider,Provider<MessageSendPlace> messageSendPlaceProvider,Provider<IMAPMessagePlace> messagePlaceProvider){
>>>>>>> 1. improve the inbox folder place.
this.dispatcher = dispatcher;
this.display = display;
this.eventBus = eventBus;
this.placeController = placeController;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
this.IMAPMessagePlaceProvider = IMAPMessagePlaceProvider;
this.messageSendPlaceProvider = messageSendPlaceProvider;
this.messagePlaceProvider = messagePlaceProvider;
<<<<<<< HEAD
=======
>>>>>>> Change to new mvp framework - first step
=======
this.mailInboxPlaceProvider = mailInboxPlaceProvider;
=======
>>>>>>> At first make the inbox work, but only when click the refresh button. The page also be working, the other folder will be like the same.
this.IMAPMessagePlaceProvider = IMAPMessagePlaceProvider;
this.messageSendPlaceProvider = messageSendPlaceProvider;
>>>>>>>
=======
>>>>>>> 1. improve the inbox folder place.
}
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
bind();
container.setWidget(display.asWidget());
}
<<<<<<< HEAD
<<<<<<< HEAD
public WestActivity with(MailFolderPlace place){
this.currentPlace = place;
this.user = place.getUser();
=======
public WestActivity with(User user){
this.user = user;
>>>>>>> Change to new mvp framework - first step
=======
=======
>>>>>>> fix issue 2&3. Handle exceptions thrown in async blocks & Simply injection code
public WestActivity with(MailFolderPlace place){
this.currentPlace = place;
this.user = place.getUser();
>>>>>>> 1. improve the inbox folder place.
return this;
}
protected void loadTreeItems() {
display.setLoadingFolders(true);
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> As the FetchFolders RequestFactory, but can not run correctly.
HupaRequestFactory rf = GWT.create(HupaRequestFactory.class);
=======
=======
@Inject private HupaRequestFactory requestFactory;
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> Succeed creating new folder
=======
private FetchMessagesRequest messageRequest;
>>>>>>> Solved the "java.lang.IllegalArgumentException: Attempting to edit an EntityProxy previously edited by another RequestContext" and make GetMessageDetails work. Thanks to http://fascynacja.wordpress.com/tag/java-lang-illegalargumentexception-attempting-to-edit-an-entityproxy-previously-edited-by-another-requestcontext/
=======
<<<<<<< HEAD
private FetchMessagesRequest messagesRequest;
>>>>>>> forward and reply message to use RF
=======
>>>>>>> fixed unread mail bug with just not dealing with it, for the west view should be replaced by Cell Tree in the future.
private User user;
private ImapFolder folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
private String searchValue;
private Place currentPlace;
=======
>>>>>>> scrub code
public void setCurrentPlace(Place place) {
this.currentPlace = place;
}
public WestActivity with(FolderPlace place) {
this.currentPlace = place;
// this.user = place.getUser();
this.folder = new ImapFolderImpl(user.getSettings().getInboxFolderName());
return this;
}
<<<<<<< HEAD
protected void loadTreeItems() {
display.setLoadingFolders(true);
HupaRequestFactory rf = GWT.create(HupaRequestFactory.class);
>>>>>>> try to change fetch messages to use RF
rf.initialize(eventBus);
ImapFolderRequest folderRequest = rf.folderRequest();
folderRequest.requestFolders().fire(new Receiver<List<ImapFolder>>() {
@Override
<<<<<<< HEAD
public void onSuccess(List<IMAPFolderProxy> response) {
<<<<<<< HEAD
<<<<<<< HEAD
=======
public void onSuccess(List<ImapFolder> response) {
<<<<<<< HEAD
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
display.bindTreeItems(createTreeNodes(response));
<<<<<<< HEAD
=======
System.out.println("1111111"+response);
display.bindTreeItems(null);
>>>>>>> As the FetchFolders RequestFactory, but can not run correctly.
=======
display.bindTreeItems(createTreeNodes(response));
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
// // disable
=======
>>>>>>> Allow client can use the domain entity interface.
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
display.setLoadingFolders(false);
=======
display.bindTreeItems(createTreeNodes(response));
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
display.setLoadingFolders(false);
>>>>>>> try to change fetch messages to use RF
}
});
<<<<<<< HEAD
// dispatcher.execute(new FetchFolders(), new HupaEvoCallback<FetchFoldersResult>(dispatcher, eventBus, display) {
// public void callback(FetchFoldersResult result) {
// display.bindTreeItems(createTreeNodes(result.getFolders()));
// // disable
// display.getDeleteEnable().setEnabled(false);
// display.getRenameEnable().setEnabled(false);
// display.setLoadingFolders(false);
//
// }
// });
<<<<<<< HEAD
=======
dispatcher.execute(new FetchFolders(), new HupaEvoCallback<FetchFoldersResult>(dispatcher, eventBus, display) {
public void callback(FetchFoldersResult result) {
display.bindTreeItems(createTreeNodes(result.getFolders()));
// disable
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
display.setLoadingFolders(false);
}
});
>>>>>>> Change to new mvp framework - first step
=======
>>>>>>> As the FetchFolders RequestFactory, but can not run correctly.
}
/**
* Create recursive the TreeNodes with all childs
*
* @param list
* @return
*/
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
private List<IMAPTreeItem> createTreeNodes(List<IMAPFolderProxy> list) {
List<IMAPTreeItem> tList = new ArrayList<IMAPTreeItem>();
for (IMAPFolderProxy iFolder : list) {
=======
private List<IMAPTreeItem> createTreeNodes(List<IMAPFolder> list) {
List<IMAPTreeItem> tList = new ArrayList<IMAPTreeItem>();
for (IMAPFolder iFolder : list) {
>>>>>>> Change to new mvp framework - first step
=======
private List<IMAPTreeItem> createTreeNodes(List<IMAPFolderProxy> list) {
List<IMAPTreeItem> tList = new ArrayList<IMAPTreeItem>();
for (IMAPFolderProxy iFolder : list) {
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
private List<IMAPTreeItem> createTreeNodes(List<ImapFolder> list) {
List<IMAPTreeItem> tList = new ArrayList<IMAPTreeItem>();
for (ImapFolder iFolder : list) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
final IMAPTreeItem record = new IMAPTreeItem(iFolder);
// record.addEditHandler(new EditHandler() {
//
// public void onEditEvent(EditEvent event) {
// if (event.getEventType().equals(EditEvent.EventType.Stop)) {
// ImapFolderImpl iFolder = new ImapFolderImpl((String) event.getOldValue());
// final String newName = (String) event.getNewValue();
// if (iFolder.getFullName().equalsIgnoreCase(newName) == false) {
// dispatcher.execute(new RenameFolder(iFolder, newName), new HupaEvoCallback<GenericResult>(dispatcher, eventBus) {
// public void callback(GenericResult result) {
// folder.setFullName(newName);
// }
// public void callbackError(Throwable caught) {
// record.cancelEdit();
// }
// });
// }
// }
// }
//
// });
record.setUserObject(iFolder);
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
List<IMAPFolderProxy> childFolders = iFolder.getChildIMAPFolders();
=======
List<IMAPFolder> childFolders = iFolder.getChildIMAPFolders();
>>>>>>> Change to new mvp framework - first step
=======
List<IMAPFolderProxy> childFolders = iFolder.getChildIMAPFolders();
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
List<IMAPFolderProxy> childFolders = iFolder.getChildren();
>>>>>>>
=======
List<ImapFolder> childFolders = iFolder.getChildren();
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
List<IMAPTreeItem> items = createTreeNodes(childFolders);
for (IMAPTreeItem item : items) {
record.addItem(item);
}
// Store the INBOX as starting point after first loading
if (iFolder.getFullName().equals(user.getSettings().getInboxFolderName())) {
folder = iFolder;
tItem = record;
}
tList.add(record);
}
// Sort tree
Collections.sort(tList, new Comparator<TreeItem>() {
public int compare(TreeItem o1, TreeItem o2) {
return o1.getText().compareTo(o2.getText());
}
});
return tList;
}
private void bind(){
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>>
=======
}
/**
* Create recursive the TreeNodes with all childs
*
* @param list
* @return
*/
private List<IMAPTreeItem> createTreeNodes(List<ImapFolder> list) {
List<IMAPTreeItem> tList = new ArrayList<IMAPTreeItem>();
for (ImapFolder iFolder : list) {
final IMAPTreeItem record = new IMAPTreeItem(iFolder);
record.addEditHandler(new EditHandler() {
public void onEditEvent(EditEvent event) {
if (event.getEventType().equals(EditEvent.EventType.Stop)) {
String oldFullName = (String) event.getOldValue();
final String newName = (String) event.getNewValue();
if (oldFullName.equalsIgnoreCase(newName) == false) {
RenameFolderRequest req = requestFactory.renameFolderRequest();
RenameFolderAction action = req.create(RenameFolderAction.class);
ImapFolder iFolder = req.create(ImapFolder.class);
iFolder.setFullName(oldFullName);
action.setNewName(newName);
action.setFolder(iFolder);
req.rename(action).fire(new Receiver<GenericResult>() {
@Override
public void onSuccess(GenericResult response) {
folder.setFullName(newName);
}
@Override
public void onFailure(ServerFailure error) {
GWT.log("Error while renaming" + error.getStackTraceString());
record.cancelEdit();
}
});
}
}
}
});
record.setUserObject(iFolder);
List<ImapFolder> childFolders = iFolder.getChildren();
List<IMAPTreeItem> items = createTreeNodes(childFolders);
for (IMAPTreeItem item : items) {
record.addItem(item);
}
// Store the INBOX as starting point after first loading
if (iFolder.getFullName().equals(user.getSettings().getInboxFolderName())) {
folder = iFolder;
tItem = record;
}
tList.add(record);
}
// Sort tree
Collections.sort(tList, new Comparator<TreeItem>() {
public int compare(TreeItem o1, TreeItem o2) {
return o1.getText().compareTo(o2.getText());
}
});
return tList;
}
=======
>>>>>>> refactoring.
private void cloneFolder(ImapFolder desc, ImapFolder src) {
desc.setChildren(src.getChildren());
desc.setDelimiter(src.getDelimiter());
desc.setFullName(src.getFullName());
desc.setMessageCount(src.getMessageCount());
desc.setName(src.getName());
desc.setSubscribed(src.getSubscribed());
desc.setUnseenMessageCount(src.getUnseenMessageCount());
}
private void bind() {
>>>>>>> try to change fetch messages to use RF
eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
showMessageTable(loadMessagesEvent.getUser(), loadMessagesEvent.getFolder(),
loadMessagesEvent.getSearchValue());
}
});
eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
<<<<<<< HEAD
<<<<<<< HEAD
public void onExpandMessage(ExpandMessageEvent event) {
final boolean decreaseUnseen;
final Message message = event.getMessage();
// check if the message was already seen in the past
if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
decreaseUnseen = true;
} else {
decreaseUnseen = false;
}
display.setLoadingMessage(true);
<<<<<<< HEAD
dispatcher.execute(new GetMessageDetails(event.getFolder(), message.getUid()), new HupaEvoCallback<GetMessageDetailsResult>(dispatcher, eventBus, display) {
public void callback(GetMessageDetailsResult result) {
if (decreaseUnseen) {
eventBus.fireEvent(new DecreaseUnseenEvent(user, folder));
}
display.setLoadingMessage(false);
<<<<<<< HEAD
<<<<<<< HEAD
// showMessage(user, folder, message, result.getMessageDetails());
placeController.goTo(messagePlaceProvider.get().with(user,folder, message,result.getMessageDetails()));
=======
showMessage(user, folder, message, result.getMessageDetails());
>>>>>>>
=======
// showMessage(user, folder, message, result.getMessageDetails());
placeController.goTo(messagePlaceProvider.get().with(user,folder, message,result.getMessageDetails()));
>>>>>>> 1. improve the inbox folder place.
}
});
=======
// dispatcher.execute(new GetMessageDetails(event.getFolder(), message.getUid()), new HupaEvoCallback<GetMessageDetailsResult>(dispatcher, eventBus, display) {
// public void callback(GetMessageDetailsResult result) {
// if (decreaseUnseen) {
// eventBus.fireEvent(new DecreaseUnseenEvent(user, folder));
// }
// display.setLoadingMessage(false);
//// showMessage(user, folder, message, result.getMessageDetails());
//
// placeController.goTo(messagePlaceProvider.get().with(user,folder, message,result.getMessageDetails()));
// }
// });
>>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
}
=======
=======
>>>>>>> scrub code
public void onExpandMessage(ExpandMessageEvent event) {
// final boolean decreaseUnseen;
final Message message = event.getMessage();
// check if the message was already seen in the past
if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
// decreaseUnseen = true;//TODO 1209
} else {
// decreaseUnseen = false;
}
GetMessageDetailsRequest req = requestFactory.messageDetailsRequest();
=======
>>>>>>> change message list view to make it not refresh the whole list when click one of the messages
GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
final ImapFolder f = req.create(ImapFolder.class);
// event.getFolder().setFolderTo(f);
cloneFolder(f, event.getFolder());
action.setFolder(f);
action.setUid(message.getUid());
req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
@Override
public void onSuccess(GetMessageDetailsResult response) {
/*
* TODO if (decreaseUnseen) { eventBus.fireEvent(new
* DecreaseUnseenEvent(user, folder)); }
*/
// placeController.goTo(messagePlaceProvider.get().with(user, f, message,
// response.getMessageDetails()));
}
});
}
<<<<<<< HEAD
>>>>>>> try to change fetch messages to use RF
=======
>>>>>>> scrub code
});
eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
showNewMessage();
}
});
eventBus.addHandler(SentMessageEvent.TYPE, new SentMessageEventHandler() {
public void onSentMessageEvent(SentMessageEvent ev) {
showMessageTable(user, folder, searchValue);
}
});
eventBus.addHandler(ForwardMessageEvent.TYPE, new ForwardMessageEventHandler() {
public void onForwardMessageEvent(ForwardMessageEvent event) {
showForwardMessage(event);
}
});
eventBus.addHandler(ReplyMessageEvent.TYPE, new ReplyMessageEventHandler() {
public void onReplyMessageEvent(ReplyMessageEvent event) {
showReplyMessage(event);
}
});
eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() {
public void onFolderSelectionEvent(FolderSelectionEvent event) {
user = event.getUser();
folder = event.getFolder();
showMessageTable(user, event.getFolder(), searchValue);
}
});
eventBus.addHandler(BackEvent.TYPE, new BackEventHandler() {
public void onBackEvent(BackEvent event) {
showMessageTable(user, folder, searchValue);
}
});
eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
public void onExpandMessage(ExpandMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
});
eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
});
<<<<<<< HEAD
eventBus.addHandler(DecreaseUnseenEvent.TYPE, new DecreaseUnseenEventHandler() {
public void onDecreaseUnseenEvent(DecreaseUnseenEvent event) {
display.decreaseUnseenMessageCount(event.getFolder(), event.getAmount());
}
});
eventBus.addHandler(IncreaseUnseenEvent.TYPE, new IncreaseUnseenEventHandler() {
public void onIncreaseUnseenEvent(IncreaseUnseenEvent event) {
display.increaseUnseenMessageCount(event.getFolder(), event.getAmount());
}
});
<<<<<<< HEAD
display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
<<<<<<< HEAD
public void onSelection(SelectionEvent<TreeItem> event) {
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
folder = (IMAPFolderProxy) tItem.getUserObject();
=======
folder = (IMAPFolder) tItem.getUserObject();
>>>>>>>
=======
folder = (IMAPFolderProxy) tItem.getUserObject();
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
folder = (ImapFolder) tItem.getUserObject();
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
eventBus.fireEvent(new LoadMessagesEvent(user, folder));
}
=======
=======
registerHandler(display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
>>>>>>> scrub code
public void onSelection(SelectionEvent<TreeItem> event) {
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
folder = (ImapFolder) tItem.getUserObject();
eventBus.fireEvent(new LoadMessagesEvent(user, folder));
}
>>>>>>> try to change fetch messages to use RF
});
display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
<<<<<<< HEAD
public void onSelection(SelectionEvent<TreeItem> event) {
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
folder = (IMAPFolderProxy) tItem.getUserObject();
=======
folder = (IMAPFolder) tItem.getUserObject();
>>>>>>>
=======
folder = (IMAPFolderProxy) tItem.getUserObject();
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
folder = (ImapFolder) tItem.getUserObject();
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
if (folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
} else {
display.getDeleteEnable().setEnabled(true);
display.getRenameEnable().setEnabled(true);
}
}
});
=======
public void onSelection(SelectionEvent<TreeItem> event) {
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
folder = (ImapFolder) tItem.getUserObject();
=======
ImapFolder editableFolder = (ImapFolder) tItem.getUserObject();
messagesRequest = requestFactory.messagesRequest();
folder = messagesRequest.edit(editableFolder);
=======
// ImapFolder editableFolder = (ImapFolder) tItem.getUserObject();
//
// messagesRequest = requestFactory.messagesRequest();
// folder = messagesRequest.edit(editableFolder);
>>>>>>> make it usable by removing a function that showing the unread message number dynamically.
=======
// ImapFolder editableFolder = (ImapFolder)
// tItem.getUserObject();
//
// messagesRequest = requestFactory.messagesRequest();
// folder = messagesRequest.edit(editableFolder);
>>>>>>> scrub code
folder = (ImapFolder) tItem.getUserObject();
// FIXME not good to find
eventBus.fireEvent(new LoadMessagesEvent(user, folder));
<<<<<<< HEAD
>>>>>>> fix the frozen autobean issue, yet another occur
=======
}
}));
// FIXME why same?
registerHandler(display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
public void onSelection(SelectionEvent<TreeItem> event) {
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
// folder = (ImapFolder) tItem.getUserObject();
>>>>>>> forward and reply message to use RF
if (folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
} else {
display.getDeleteEnable().setEnabled(true);
display.getRenameEnable().setEnabled(true);
}
}
<<<<<<< HEAD
});
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> try to change fetch messages to use RF
=======
//FIXME why another?
// display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
//
// public void onSelection(SelectionEvent<TreeItem> event) {
// tItem = (IMAPTreeItem) event.getSelectedItem();
// if (tItem.isEdit())
// return;
// folder = (ImapFolder) tItem.getUserObject();
// if (folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
// display.getDeleteEnable().setEnabled(false);
// display.getRenameEnable().setEnabled(false);
// } else {
// display.getDeleteEnable().setEnabled(true);
// display.getRenameEnable().setEnabled(true);
// }
// }
//
// });
>>>>>>> fix the frozen autobean issue, yet another occur
=======
// FIXME why another?
// display.getTree().addSelectionHandler(new
// SelectionHandler<TreeItem>() {
//
// public void onSelection(SelectionEvent<TreeItem> event) {
// tItem = (IMAPTreeItem) event.getSelectedItem();
// if (tItem.isEdit())
// return;
// folder = (ImapFolder) tItem.getUserObject();
// if
// (folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName()))
// {
// display.getDeleteEnable().setEnabled(false);
// display.getRenameEnable().setEnabled(false);
// } else {
// display.getDeleteEnable().setEnabled(true);
// display.getRenameEnable().setEnabled(true);
// }
// }
//
// });
>>>>>>> try to get message details, problem is:
=======
>>>>>>> forward and reply message to use RF
display.getRenameClick().addClickHandler(new ClickHandler() {
=======
}));
registerHandler(display.getRenameClick().addClickHandler(new ClickHandler() {
>>>>>>> scrub code
public void onClick(ClickEvent event) {
tItem.startEdit();
}
}));
registerHandler(display.getDeleteClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
display.getDeleteConfirmDialog().show();
}
}));
registerHandler(display.getDeleteConfirmClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
DeleteFolderRequest req = requestFactory.deleteFolderRequest();
final DeleteFolderAction action = req.create(DeleteFolderAction.class);
action.setFolder(folder);
req.delete(action).fire(new Receiver<GenericResult>() {
@Override
public void onSuccess(GenericResult response) {
display.deleteSelectedFolder();
}
@Override
public void onFailure(ServerFailure error) {
GWT.log("Error while deleting" + error.getStackTraceString());
}
});
}
}));
registerHandler(display.getNewClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
editableTreeItem = display.createFolder(new EditHandler() {
public void onEditEvent(EditEvent event) {
final IMAPTreeItem item = (IMAPTreeItem) event.getSource();
final String newValue = (String) event.getNewValue();
if (event.getEventType().equals(EditEvent.EventType.Stop)) {
CreateFolderRequest req = requestFactory.createFolderRequest();
final CreateFolderAction action = req.create(CreateFolderAction.class);
ImapFolder folder = req.create(ImapFolder.class);
folder.setFullName(newValue.trim());
action.setFolder(folder);
req.create(action).fire(new Receiver<GenericResult>() {
@Override
public void onSuccess(GenericResult response) {
// Nothing todo
}
@Override
public void onFailure(ServerFailure error) {
GWT.log("Error while create folder" + error.getStackTraceString());
item.cancelEdit();
}
});
}
}
});
}
}));
eventBus.addHandler(MessagesReceivedEvent.TYPE, new MessagesReceivedEventHandler() {
public void onMessagesReceived(MessagesReceivedEvent event) {
ImapFolder f = event.getFolder();
display.updateTreeItem(f);
}
});
=======
>>>>>>> refactoring.
eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
public void onLogin(LoginEvent event) {
user = event.getUser();
searchValue = null;
}
<<<<<<< HEAD
<<<<<<< HEAD
public void onMessagesReceived(MessagesReceivedEvent event) {
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
IMAPFolderProxy f = event.getFolder();
=======
IMAPFolder f = event.getFolder();
>>>>>>>
=======
IMAPFolderProxy f = event.getFolder();
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
ImapFolder f = event.getFolder();
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
display.updateTreeItem(f);
}
=======
});
>>>>>>> try to change fetch messages to use RF
=======
});
>>>>>>> scrub code
exportJSMethods(this);
}
<<<<<<< HEAD
public void onLogin(LoginEvent event) {
user = event.getUser();
<<<<<<< HEAD
<<<<<<< HEAD
// folder = (IMAPFolderProxy)new IMAPFolder(user.getSettings().getInboxFolderName());;
searchValue = null;
// showMessageTable(user, folder, searchValue);
=======
folder = new IMAPFolder(user.getSettings().getInboxFolderName());;
=======
// folder = (IMAPFolderProxy)new IMAPFolder(user.getSettings().getInboxFolderName());;
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
searchValue = null;
<<<<<<< HEAD
showMessageTable(user, folder, searchValue);
>>>>>>>
=======
// showMessageTable(user, folder, searchValue);
>>>>>>> At first make the inbox work, but only when click the refresh button. The page also be working, the other folder will be like the same.
}
});
exportJSMethods(this);
<<<<<<< HEAD
=======
public void openLink(String url) {
Window.open(url, "_blank", "");
}
public void mailTo(String mailto) {
// sendPresenter.revealDisplay(user, mailto);
}
private native void exportJSMethods(WestActivity westactivity) /*-{
$wnd.openLink = function(url) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::openLink(Ljava/lang/String;) (url);
} catch(e) {}
return false;
};
$wnd.mailTo = function(mail) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::mailTo(Ljava/lang/String;) (mail);
} catch(e) {}
return false;
};
}-*/;
private void showMessageTable(User user, ImapFolder folder, String searchValue) {
this.user = user;
this.folder = folder;
this.searchValue = searchValue;
// FIXME goto?
// placeController.goTo(new MailFolderPlace().with(user, folder, searchValue));
}
<<<<<<< HEAD
<<<<<<< HEAD
private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) {
placeController.goTo(IMAPMessagePlaceProvider.get());
>>>>>>> try to change fetch messages to use RF
}
=======
// private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) {
// placeController.goTo(IMAPMessagePlaceProvider.get());
// }
>>>>>>> fixed issue #16
=======
>>>>>>> refactoring.
private void showNewMessage() {
pc.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW));
}
private void showForwardMessage(ForwardMessageEvent event) {
pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), Type.FORWARD));
}
private void showReplyMessage(ReplyMessageEvent event) {
pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), event.getReplyAll() ? Type.REPLY_ALL : Type.REPLY));
}
@Inject private Displayable display;
@Inject private Provider<MessageSendPlace> messageSendPlaceProvider;
// @Inject private Provider<IMAPMessagePlace> messagePlaceProvider;
private User user;
private ImapFolder folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
private String searchValue;
private Place currentPlace;
public interface Displayable extends WidgetDisplayable {
<<<<<<< HEAD
public HasSelectionHandlers<TreeItem> getTree();
<<<<<<< HEAD
<<<<<<< HEAD
private void showReplyMessage(ReplyMessageEvent event) {
placeController.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), event.getReplyAll()?Type.REPLY_ALL:Type.REPLY));
}
=======
}
>>>>>>> Change to new mvp framework - first step
=======
}
public void openLink(String url) {
Window.open(url, "_blank", "");
}
public void mailTo(String mailto) {
// sendPresenter.revealDisplay(user, mailto);
}
private native void exportJSMethods(WestActivity westactivity) /*-{
$wnd.openLink = function(url) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::openLink(Ljava/lang/String;) (url);
} catch(e) {}
return false;
};
$wnd.mailTo = function(mail) {
try {
westactivity.@org.apache.hupa.client.activity.WestActivity::mailTo(Ljava/lang/String;) (mail);
} catch(e) {}
return false;
};
}-*/;
private void showMessageTable(User user, IMAPFolderProxy folder, String searchValue) {
this.user = user;
this.folder = folder;
this.searchValue = searchValue;
placeController.goTo(new MailFolderPlace().with(user,folder, searchValue));
// placeController.goTo(mailInboxPlaceProvider.get().with(user));
// System.out.println("111");
// placeController.goTo(new MailInboxPlace(folder.getName()).with(user));
}
private void showMessage(User user, IMAPFolder folder, Message message, MessageDetails details) {
placeController.goTo(IMAPMessagePlaceProvider.get());
}
private void showNewMessage() {
placeController.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW));
}
private void showForwardMessage(ForwardMessageEvent event) {
placeController.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), Type.FORWARD));
}
private void showReplyMessage(ReplyMessageEvent event) {
placeController.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), event.getReplyAll()?Type.REPLY_ALL:Type.REPLY));
}
>>>>>>>
public interface Displayable extends WidgetContainerDisplayable {
public HasSelectionHandlers<TreeItem> getTree();
=======
public void bindTreeItems(List<IMAPTreeItem> treeList);
>>>>>>> try to change fetch messages to use RF
=======
public void bindTreeItems(List<IMAPTreeItem> treeList);
>>>>>>> scrub code
public HasClickHandlers getRenameClick();
public HasClickHandlers getDeleteClick();
public HasClickHandlers getNewClick();
public HasDialog getDeleteConfirmDialog();
public HasClickHandlers getDeleteConfirmClick();
public HasEnable getRenameEnable();
public HasEnable getDeleteEnable();
public HasEnable getNewEnable();
public void updateTreeItem(ImapFolder folder);
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void updateTreeItem(IMAPFolderProxy folder);
=======
public void updateTreeItem(IMAPFolder folder);
>>>>>>> Change to new mvp framework - first step
=======
public void updateTreeItem(IMAPFolderProxy folder);
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
public void updateTreeItem(ImapFolder folder);
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
=======
public void deleteSelectedFolder();
>>>>>>> try to change fetch messages to use RF
=======
public void deleteSelectedFolder();
>>>>>>> scrub code
public HasEditable createFolder(EditHandler handler);
public void increaseUnseenMessageCount(ImapFolder folder, int amount);
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void increaseUnseenMessageCount(IMAPFolderProxy folder, int amount);
public void decreaseUnseenMessageCount(IMAPFolderProxy folder, int amount);
=======
public void increaseUnseenMessageCount(IMAPFolder folder, int amount);
public void decreaseUnseenMessageCount(IMAPFolder folder, int amount);
>>>>>>> Change to new mvp framework - first step
=======
public void increaseUnseenMessageCount(IMAPFolderProxy folder, int amount);
public void decreaseUnseenMessageCount(IMAPFolderProxy folder, int amount);
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
public void increaseUnseenMessageCount(ImapFolder folder, int amount);
public void decreaseUnseenMessageCount(ImapFolder folder, int amount);
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
public void setLoadingFolders(boolean loading);
public void setLoadingMessage(boolean loading);
public void setUser(User user);
=======
=======
>>>>>>> scrub code
public void decreaseUnseenMessageCount(ImapFolder folder, int amount);
public void setLoadingFolders(boolean loading);
<<<<<<< HEAD
>>>>>>> try to change fetch messages to use RF
public void setLoadingMessage(boolean loading);
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> Change to new mvp framework - first step
=======
>>>>>>> Change to new mvp framework - first step
=======
=======
public void setLoadingMessage(boolean loading);
>>>>>>> scrub code
public void setUser(User user);
=======
>>>>>>> refactoring.
}
>>>>>>> try to change fetch messages to use RF
}