blob: 346fa785de9f9e3c7b210ca0cb9b531fccc9ac09 [file] [log] [blame]
/****************************************************************
* 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.mvp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
<<<<<<< HEAD
<<<<<<< HEAD
import net.customware.gwt.dispatch.client.DispatchAsync;
=======
>>>>>>> first commit
=======
import net.customware.gwt.dispatch.client.DispatchAsync;
>>>>>>> constantly changed by manolo
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.widget.WidgetContainerDisplay;
import net.customware.gwt.presenter.client.widget.WidgetContainerPresenter;
<<<<<<< HEAD
<<<<<<< HEAD
=======
import org.apache.hupa.client.CachingDispatchAsync;
>>>>>>> first commit
=======
>>>>>>> constantly changed by manolo
import org.apache.hupa.client.HupaCallback;
import org.apache.hupa.client.mvp.MessageSendPresenter.Type;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.ImapFolderImpl;
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.data.Message;
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.data.MessageDetails;
<<<<<<< HEAD
import org.apache.hupa.shared.data.User;
<<<<<<< HEAD
=======
import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.data.Message.IMAPFlag;
>>>>>>> first commit
=======
import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
>>>>>>> constantly changed by manolo
=======
import org.apache.hupa.shared.domain.ImapFolder;
>>>>>>> Allow client can use the domain entity interface.
=======
=======
import org.apache.hupa.shared.data.MessageDetails;
=======
>>>>>>> try to get message details, problem is:
import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
>>>>>>> try to change fetch messages to use RF
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.MessageDetails;
import org.apache.hupa.shared.domain.User;
>>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
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;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
=======
>>>>>>> first commit
=======
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
>>>>>>> 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.
=======
import org.apache.hupa.shared.proxy.ImapFolder;
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
=======
>>>>>>> Allow client can use the domain entity interface.
import org.apache.hupa.shared.rpc.CreateFolder;
import org.apache.hupa.shared.rpc.DeleteFolder;
import org.apache.hupa.shared.rpc.FetchFolders;
import org.apache.hupa.shared.rpc.FetchFoldersResult;
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.shared.rpc.RenameFolder;
import org.apache.hupa.widgets.event.EditEvent;
import org.apache.hupa.widgets.event.EditHandler;
import org.apache.hupa.widgets.ui.HasEditable;
import org.apache.hupa.widgets.ui.HasEnable;
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;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.inject.Inject;
/**
*
*/
public class MainPresenter extends WidgetContainerPresenter<MainPresenter.Display> {
public interface Display extends NameAwareWidgetDisplay, WidgetContainerDisplay {
public HasSelectionHandlers<TreeItem> getTree();
public void bindTreeItems(List<IMAPTreeItem> treeList);
public HasClickHandlers getRenameClick();
public HasClickHandlers getDeleteClick();
public HasClickHandlers getNewClick();
public HasDialog getDeleteConfirmDialog();
public HasClickHandlers getDeleteConfirmClick();
public HasEnable getRenameEnable();
public HasEnable getDeleteEnable();
public HasEnable getNewEnable();
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void updateTreeItem(IMAPFolderProxy folder);
=======
public void updateTreeItem(IMAPFolder folder);
>>>>>>> first commit
=======
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();
public HasEditable createFolder(EditHandler handler);
<<<<<<< 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);
>>>>>>> first commit
=======
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);
}
<<<<<<< HEAD
<<<<<<< HEAD
private DispatchAsync dispatcher;
private User user;
<<<<<<< HEAD
private IMAPFolderProxy folder;
=======
private CachingDispatchAsync cachingDispatcher;
=======
private DispatchAsync dispatcher;
>>>>>>> constantly changed by manolo
private User user;
<<<<<<< HEAD
private IMAPFolder folder;
>>>>>>> first commit
=======
private 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.
=======
private ImapFolder folder;
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
private String searchValue;
private IMAPMessageListPresenter messageListPresenter;
private IMAPMessagePresenter messagePresenter;
private MessageSendPresenter sendPresenter;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
@Inject
<<<<<<< HEAD
<<<<<<< HEAD
public MainPresenter(MainPresenter.Display display, EventBus bus, DispatchAsync cachingDispatcher, IMAPMessageListPresenter messageListPresenter, IMAPMessagePresenter messagePresenter,
MessageSendPresenter sendPresenter) {
super(display, bus, messageListPresenter, messagePresenter, sendPresenter);
this.dispatcher = cachingDispatcher;
=======
public MainPresenter(MainPresenter.Display display, EventBus bus, CachingDispatchAsync cachingDispatcher, IMAPMessageListPresenter messageListPresenter, IMAPMessagePresenter messagePresenter,
MessageSendPresenter sendPresenter) {
super(display, bus, messageListPresenter, messagePresenter, sendPresenter);
this.cachingDispatcher = cachingDispatcher;
>>>>>>> first commit
=======
public MainPresenter(MainPresenter.Display display, EventBus bus, DispatchAsync cachingDispatcher, IMAPMessageListPresenter messageListPresenter, IMAPMessagePresenter messagePresenter,
MessageSendPresenter sendPresenter) {
super(display, bus, messageListPresenter, messagePresenter, sendPresenter);
this.dispatcher = cachingDispatcher;
>>>>>>> constantly changed by manolo
this.messageListPresenter = messageListPresenter;
this.messagePresenter = messagePresenter;
this.sendPresenter = sendPresenter;
}
protected void loadTreeItems() {
display.setLoadingFolders(true);
<<<<<<< HEAD
<<<<<<< HEAD
dispatcher.execute(new FetchFolders(), new HupaCallback<FetchFoldersResult>(dispatcher, eventBus, display) {
=======
cachingDispatcher.execute(new FetchFolders(), new HupaCallback<FetchFoldersResult>(cachingDispatcher, eventBus, display) {
>>>>>>> first commit
=======
dispatcher.execute(new FetchFolders(), new HupaCallback<FetchFoldersResult>(dispatcher, eventBus, display) {
>>>>>>> constantly changed by manolo
public void callback(FetchFoldersResult result) {
display.bindTreeItems(createTreeNodes(result.getFolders()));
// disable
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
display.setLoadingFolders(false);
}
});
}
/**
* 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) {
>>>>>>> first commit
=======
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) {
<<<<<<< HEAD
<<<<<<< HEAD
dispatcher.execute(new RenameFolder(iFolder, newName), new HupaCallback<GenericResult>(dispatcher, eventBus) {
=======
cachingDispatcher.execute(new RenameFolder(iFolder, newName), new HupaCallback<GenericResult>(cachingDispatcher, eventBus) {
>>>>>>> first commit
=======
dispatcher.execute(new RenameFolder(iFolder, newName), new HupaCallback<GenericResult>(dispatcher, eventBus) {
>>>>>>> constantly changed by manolo
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();
>>>>>>> first commit
=======
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;
}
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
private void showMessageTable(User user, IMAPFolderProxy folder, String searchValue) {
=======
private void showMessageTable(User user, IMAPFolder folder, String searchValue) {
>>>>>>> first commit
=======
private void showMessageTable(User user, IMAPFolderProxy folder, String searchValue) {
>>>>>>> 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 void showMessageTable(User user, ImapFolder folder, String searchValue) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
this.user = user;
this.folder = folder;
this.searchValue = searchValue;
firePresenterChangedEvent();
messageListPresenter.revealDisplay(user, folder, searchValue);
}
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
private void showMessage(User user, IMAPFolderProxy folder, Message message, MessageDetails details) {
=======
private void showMessage(User user, IMAPFolder folder, Message message, MessageDetails details) {
>>>>>>> first commit
=======
private void showMessage(User user, IMAPFolderProxy folder, Message message, MessageDetails details) {
>>>>>>> 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 void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
messagePresenter.revealDisplay(user, folder, message, details);
}
private void showNewMessage() {
sendPresenter.revealDisplay(user);
}
private void showForwardMessage(ForwardMessageEvent event) {
sendPresenter.revealDisplay(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), Type.FORWARD);
}
private void showReplyMessage(ReplyMessageEvent event) {
if (event.getReplyAll()) {
sendPresenter.revealDisplay(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), Type.REPLY_ALL);
} else {
sendPresenter.revealDisplay(event.getUser(), event.getFolder(), event.getMessage(), event.getMessageDetails(), Type.REPLY);
}
sendPresenter.revealDisplay();
}
<<<<<<< HEAD
<<<<<<< HEAD
=======
/**
* Reset the presenter and display
*/
private void reset() {
// clear the cache
cachingDispatcher.clear();
}
>>>>>>> first commit
=======
>>>>>>> constantly changed by manolo
@Override
protected void onBind() {
super.onBind();
registerHandler(eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
showMessageTable(loadMessagesEvent.getUser(), loadMessagesEvent.getFolder(), loadMessagesEvent.getSearchValue());
}
}));
registerHandler(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;
} else {
decreaseUnseen = false;
}
display.setLoadingMessage(true);
<<<<<<< HEAD
<<<<<<< HEAD
dispatcher.execute(new GetMessageDetails(event.getFolder(), message.getUid()), new HupaCallback<GetMessageDetailsResult>(dispatcher, eventBus, display) {
=======
cachingDispatcher.executeWithCache(new GetMessageDetails(event.getFolder(), message.getUid()), new HupaCallback<GetMessageDetailsResult>(cachingDispatcher, eventBus, display) {
>>>>>>> first commit
=======
dispatcher.execute(new GetMessageDetails(event.getFolder(), message.getUid()), new HupaCallback<GetMessageDetailsResult>(dispatcher, eventBus, display) {
>>>>>>> constantly changed by manolo
public void callback(GetMessageDetailsResult result) {
if (decreaseUnseen) {
eventBus.fireEvent(new DecreaseUnseenEvent(user, folder));
}
display.setLoadingMessage(false);
showMessage(user, folder, message, result.getMessageDetails());
}
});
}
}));
registerHandler(eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
showNewMessage();
}
}));
registerHandler(eventBus.addHandler(SentMessageEvent.TYPE, new SentMessageEventHandler() {
public void onSentMessageEvent(SentMessageEvent ev) {
showMessageTable(user, folder, searchValue);
}
}));
registerHandler(eventBus.addHandler(ForwardMessageEvent.TYPE, new ForwardMessageEventHandler() {
public void onForwardMessageEvent(ForwardMessageEvent event) {
showForwardMessage(event);
}
}));
registerHandler(eventBus.addHandler(ReplyMessageEvent.TYPE, new ReplyMessageEventHandler() {
public void onReplyMessageEvent(ReplyMessageEvent event) {
showReplyMessage(event);
}
}));
registerHandler(eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() {
public void onFolderSelectionEvent(FolderSelectionEvent event) {
user = event.getUser();
folder = event.getFolder();
showMessageTable(user, event.getFolder(), searchValue);
}
}));
registerHandler(eventBus.addHandler(BackEvent.TYPE, new BackEventHandler() {
public void onBackEvent(BackEvent event) {
showMessageTable(user, folder, searchValue);
}
}));
registerHandler(eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
public void onExpandMessage(ExpandMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
}));
registerHandler(eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
public void onNewMessageEvent(NewMessageEvent event) {
if (editableTreeItem != null && editableTreeItem.isEdit()) {
editableTreeItem.cancelEdit();
}
}
}));
registerHandler(eventBus.addHandler(DecreaseUnseenEvent.TYPE, new DecreaseUnseenEventHandler() {
public void onDecreaseUnseenEvent(DecreaseUnseenEvent event) {
display.decreaseUnseenMessageCount(event.getFolder(), event.getAmount());
}
}));
registerHandler(eventBus.addHandler(IncreaseUnseenEvent.TYPE, new IncreaseUnseenEventHandler() {
public void onIncreaseUnseenEvent(IncreaseUnseenEvent event) {
display.increaseUnseenMessageCount(event.getFolder(), event.getAmount());
}
}));
registerHandler(display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
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();
>>>>>>> first commit
=======
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>() {
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();
>>>>>>> first commit
=======
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);
}
}
}));
registerHandler(display.getRenameClick().addClickHandler(new ClickHandler() {
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) {
<<<<<<< HEAD
<<<<<<< HEAD
dispatcher.execute(new DeleteFolder(folder), new AsyncCallback<GenericResult>() {
=======
cachingDispatcher.execute(new DeleteFolder(folder), new AsyncCallback<GenericResult>() {
>>>>>>> first commit
=======
dispatcher.execute(new DeleteFolder(folder), new AsyncCallback<GenericResult>() {
>>>>>>> constantly changed by manolo
public void onFailure(Throwable caught) {
GWT.log("ERROR while deleting", caught);
}
public void onSuccess(GenericResult result) {
display.deleteSelectedFolder();
}
});
}
}));
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)) {
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
dispatcher.execute(new CreateFolder(new IMAPFolder(newValue.trim())), new AsyncCallback<GenericResult>() {
=======
cachingDispatcher.execute(new CreateFolder(new IMAPFolder(newValue.trim())), new AsyncCallback<GenericResult>() {
>>>>>>> first commit
=======
dispatcher.execute(new CreateFolder(new IMAPFolder(newValue.trim())), new AsyncCallback<GenericResult>() {
>>>>>>> constantly changed by manolo
=======
dispatcher.execute(new CreateFolder(new ImapFolderImpl(newValue.trim())), new AsyncCallback<GenericResult>() {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
public void onFailure(Throwable caught) {
GWT.log("Error while create folder", caught);
item.cancelEdit();
}
public void onSuccess(GenericResult result) {
// Nothing todo
}
});
}
}
});
}
}));
registerHandler(eventBus.addHandler(MessagesReceivedEvent.TYPE, new MessagesReceivedEventHandler() {
public void onMessagesReceived(MessagesReceivedEvent event) {
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
IMAPFolderProxy f = event.getFolder();
=======
IMAPFolder f = event.getFolder();
>>>>>>> first commit
=======
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);
}
}));
registerHandler(eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
public void onLogin(LoginEvent event) {
user = event.getUser();
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
folder = (IMAPFolderProxy)new IMAPFolder(user.getSettings().getInboxFolderName());;
=======
folder = (ImapFolder)new ImapFolderImpl(user.getSettings().getInboxFolderName());;
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
searchValue = null;
showMessageTable(user, folder, searchValue);
=======
folder = new IMAPFolder(user.getSettings().getInboxFolderName());
messageListPresenter.revealDisplay(user, folder, null);
>>>>>>> first commit
=======
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;
showMessageTable(user, folder, searchValue);
>>>>>>> constantly changed by manolo
}
}));
// Export native javascript methods
exportJSMethods(this);
}
<<<<<<< HEAD
<<<<<<< HEAD
=======
@Override
protected void onUnbind() {
reset();
super.onUnbind();
}
>>>>>>> first commit
=======
>>>>>>> constantly changed by manolo
public void revealDisplay(User user) {
this.user = user;
loadTreeItems();
revealDisplay();
}
@Override
protected void onRevealDisplay() {
<<<<<<< HEAD
<<<<<<< HEAD
// showMessageTable(user, folder, searchValue);
// super.onRevealDisplay();
=======
showMessageTable(user, folder, searchValue);
super.onRevealDisplay();
>>>>>>> first commit
=======
// showMessageTable(user, folder, searchValue);
// super.onRevealDisplay();
>>>>>>> constantly changed by manolo
}
public void openLink(String url) {
Window.open(url, "_blank", "");
}
public void mailTo(String mailto) {
sendPresenter.revealDisplay(user, mailto);
}
private native void exportJSMethods(MainPresenter presenter) /*-{
$wnd.openLink = function(url) {
try {
presenter.@org.apache.hupa.client.mvp.MainPresenter::openLink(Ljava/lang/String;) (url);
} catch(e) {}
return false;
};
$wnd.mailTo = function(mail) {
try {
presenter.@org.apache.hupa.client.mvp.MainPresenter::mailTo(Ljava/lang/String;) (mail);
} catch(e) {}
return false;
};
}-*/;
}