Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
work in progress: persist document list sizr
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Nov 14, 2012
1 parent d671143 commit 7e2a708
Show file tree
Hide file tree
Showing 19 changed files with 190 additions and 203 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package org.zanata.webtrans.client.events;

import org.zanata.webtrans.client.presenter.MainView;

import com.google.gwt.event.shared.GwtEvent;

/**
*
* @author Alex Eng <a href="mailto:aeng@redhat.com">aeng@redhat.com</a>
*
*/
public class UserConfigChangeEvent extends GwtEvent<UserConfigChangeHandler>
{
public static Type<UserConfigChangeHandler> TYPE = new Type<UserConfigChangeHandler>();

private final MainView view;

public UserConfigChangeEvent(MainView view)
{
this.view = view;
}

public MainView getView()
{
return view;
}

@Override
protected void dispatch(UserConfigChangeHandler handler)
{
handler.onUserConfigChanged(this);
}

@Override
public Type<UserConfigChangeHandler> getAssociatedType()
{
return TYPE;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.zanata.webtrans.client.events;

import com.google.gwt.event.shared.EventHandler;

public interface UserConfigChangeHandler extends EventHandler
{
void onUserConfigChanged(UserConfigChangeEvent event);
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.widget.WidgetPresenter;

import org.zanata.webtrans.client.events.DocumentListPageSizeChangeEvent;
import org.zanata.webtrans.client.events.NotificationEvent;
import org.zanata.webtrans.client.events.UserConfigChangeEvent;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEvent;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEventHandler;
import org.zanata.webtrans.client.rpc.CachingDispatchAsync;
Expand Down Expand Up @@ -86,7 +86,7 @@ public void onPageSizeClick(int pageSize)
if (configHolder.getDocumentListPageSize() != pageSize)
{
configHolder.setDocumentListPageSize(pageSize);
eventBus.fireEvent(new DocumentListPageSizeChangeEvent(pageSize));
eventBus.fireEvent(new UserConfigChangeEvent(MainView.Documents));
}
}

Expand Down Expand Up @@ -158,6 +158,7 @@ public void onSuccess(LoadOptionsResult result)
{
configHolder.setState(result.getConfiguration());
display.setOptionsState(configHolder.getState());
eventBus.fireEvent(new UserConfigChangeEvent(MainView.Documents));
eventBus.fireEvent(new NotificationEvent(NotificationEvent.Severity.Warning, "Loaded user options"));
}
});
Expand All @@ -169,8 +170,9 @@ public void loadDefaultOptions()
// default options
configHolder.setDocumentListPageSize(25);
configHolder.setShowError(false);

display.setOptionsState(configHolder.getState());

eventBus.fireEvent(new UserConfigChangeEvent(MainView.Documents));
eventBus.fireEvent(new NotificationEvent(NotificationEvent.Severity.Warning, "Loaded default user options."));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@
import org.zanata.common.TransUnitCount;
import org.zanata.common.TransUnitWords;
import org.zanata.common.TranslationStats;
import org.zanata.webtrans.client.events.DocumentListPageSizeChangeEvent;
import org.zanata.webtrans.client.events.DocumentListPageSizeChangeEventHandler;
import org.zanata.webtrans.client.events.DocumentSelectionEvent;
import org.zanata.webtrans.client.events.DocumentSelectionHandler;
import org.zanata.webtrans.client.events.DocumentStatsUpdatedEvent;
import org.zanata.webtrans.client.events.ProjectStatsUpdatedEvent;
import org.zanata.webtrans.client.events.TransUnitUpdatedEvent;
import org.zanata.webtrans.client.events.TransUnitUpdatedEventHandler;
import org.zanata.webtrans.client.events.UserConfigChangeEvent;
import org.zanata.webtrans.client.events.UserConfigChangeHandler;
import org.zanata.webtrans.client.history.History;
import org.zanata.webtrans.client.history.HistoryToken;
import org.zanata.webtrans.client.resources.WebTransMessages;
Expand All @@ -56,13 +56,14 @@
import com.google.gwt.view.client.SingleSelectionModel;
import com.google.inject.Inject;

public class DocumentListPresenter extends WidgetPresenter<DocumentListDisplay> implements HasStatsFilter, DocumentListDisplay.Listener, DocumentSelectionHandler, DocumentListPageSizeChangeEventHandler, TransUnitUpdatedEventHandler
public class DocumentListPresenter extends WidgetPresenter<DocumentListDisplay> implements HasStatsFilter, DocumentListDisplay.Listener, DocumentSelectionHandler, UserConfigChangeHandler, TransUnitUpdatedEventHandler
{
private final UserWorkspaceContext userworkspaceContext;
private DocumentInfo currentDocument;
private DocumentNode currentSelection;
private final WebTransMessages messages;
private final History history;
private final UserConfigHolder configHolder;

private ListDataProvider<DocumentNode> dataProvider;
private HashMap<DocumentId, DocumentNode> nodes;
Expand Down Expand Up @@ -99,12 +100,13 @@ public void setSelected(DocumentNode object, boolean selected)
};

@Inject
public DocumentListPresenter(DocumentListDisplay display, EventBus eventBus, UserWorkspaceContext userworkspaceContext, final WebTransMessages messages, History history)
public DocumentListPresenter(DocumentListDisplay display, EventBus eventBus, UserWorkspaceContext userworkspaceContext, final WebTransMessages messages, History history, UserConfigHolder configHolder)
{
super(display, eventBus);
this.userworkspaceContext = userworkspaceContext;
this.messages = messages;
this.history = history;
this.configHolder = configHolder;

nodes = new HashMap<DocumentId, DocumentNode>();
}
Expand Down Expand Up @@ -132,7 +134,7 @@ public void onSelectionChange(SelectionChangeEvent event)

registerHandler(eventBus.addHandler(DocumentSelectionEvent.getType(), this));
registerHandler(eventBus.addHandler(TransUnitUpdatedEvent.getType(), this));
registerHandler(eventBus.addHandler(DocumentListPageSizeChangeEvent.TYPE, this));
registerHandler(eventBus.addHandler(UserConfigChangeEvent.TYPE, this));

display.setListener(this);
}
Expand Down Expand Up @@ -439,9 +441,11 @@ private void adjustStats(TranslationStats stats, TransUnitUpdateInfo updateInfo)
}

@Override
public void onPageSizeChange(DocumentListPageSizeChangeEvent event)
public void onUserConfigChanged(UserConfigChangeEvent event)
{
display.updatePageSize(event.getPageSize());

if (event.getView() == MainView.Documents)
{
display.updatePageSize(configHolder.getDocumentListPageSize());
}
}
}
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
package org.zanata.webtrans.client.presenter;

import static org.zanata.webtrans.client.events.NavTransUnitEvent.NavigationType.NextState;
import static org.zanata.webtrans.client.events.NavTransUnitEvent.NavigationType.PrevState;
import net.customware.gwt.presenter.client.EventBus;

import org.zanata.webtrans.client.events.KeyShortcutEvent;
import org.zanata.webtrans.client.events.KeyShortcutEventHandler;
import org.zanata.webtrans.client.events.NavTransUnitEvent;
import org.zanata.webtrans.client.events.TransMemoryShortcutCopyEvent;
import org.zanata.webtrans.client.events.EditorConfigChangeEvent;
import org.zanata.webtrans.client.events.EditorConfigChangeHandler;
import org.zanata.webtrans.client.events.UserConfigChangeEvent;
import org.zanata.webtrans.client.events.UserConfigChangeHandler;
import org.zanata.webtrans.client.keys.KeyShortcut;
import org.zanata.webtrans.client.keys.Keys;
import org.zanata.webtrans.client.keys.ShortcutContext;
import org.zanata.webtrans.client.resources.TableEditorMessages;

import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
import com.google.inject.Singleton;

import net.customware.gwt.presenter.client.EventBus;
import static org.zanata.webtrans.client.events.NavTransUnitEvent.NavigationType.NextState;
import static org.zanata.webtrans.client.events.NavTransUnitEvent.NavigationType.PrevState;

/**
* @author Patrick Huang <a href="mailto:pahuang@redhat.com">pahuang@redhat.com</a>
*/
@Singleton
public class EditorKeyShortcuts implements EditorConfigChangeHandler
public class EditorKeyShortcuts implements UserConfigChangeHandler
{
private final KeyShortcutPresenter keyShortcutPresenter;
private final EventBus eventBus;
Expand All @@ -48,7 +49,7 @@ public EditorKeyShortcuts(KeyShortcutPresenter keyShortcutPresenter, EventBus ev
this.messages = messages;

configuration = configHolder.getState();
eventBus.addHandler(EditorConfigChangeEvent.getType(), this);
eventBus.addHandler(UserConfigChangeEvent.TYPE, this);
}

public void registerKeys(TargetContentsPresenter targetContentsPresenter)
Expand Down Expand Up @@ -168,15 +169,18 @@ public void onKeyShortcut(KeyShortcutEvent event)
}

@Override
public void onUserConfigChanged(EditorConfigChangeEvent event)
public void onUserConfigChanged(UserConfigChangeEvent event)
{
UserConfigHolder.ConfigurationState oldState = configuration;
configuration = configHolder.getState();
if (event.getView() == MainView.Editor)
{
UserConfigHolder.ConfigurationState oldState = configuration;
configuration = configHolder.getState();

// If some config hasn't changed or not relevant in
// this context, don't bother doing anything
changeEnterSavesApproved(oldState);
changeNavShortcutDescription(oldState);
// If some config hasn't changed or not relevant in
// this context, don't bother doing anything
changeEnterSavesApproved(oldState);
changeNavShortcutDescription(oldState);
}
}

private void changeEnterSavesApproved(UserConfigHolder.ConfigurationState oldState)
Expand Down
Loading

0 comments on commit 7e2a708

Please sign in to comment.