diff options
author | Martin Fick <mfick@codeaurora.org> | 2011-07-12 13:50:17 -0700 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2011-07-12 13:50:17 -0700 |
commit | 5eeac3cd9760a999edbb17a6d1af46d89b28c2f5 (patch) | |
tree | c51b47c4d6ae5b14903c5aa4d4312e9316099d41 | |
parent | 73c6509b33e123311f7fe3574627cabbd7a451b8 (diff) | |
parent | 61838dcc1ce7aa72b412c4e182a8fdc8b596dc24 (diff) | |
download | gerrit-5eeac3cd9760a999edbb17a6d1af46d89b28c2f5.tar.gz |
Merge "Add a "Save" button to the PatchScriptSettingsPanel"
4 files changed, 54 insertions, 8 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java index 70df33e9..910bf618 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java @@ -153,6 +153,9 @@ public abstract class PatchScreen extends Screen implements prefs = fileList != null ? fileList.getPreferences() : new ListenableAccountDiffPreference(); + if (Gerrit.isSignedIn()) { + prefs.reset(); + } prefs.addValueChangeHandler( new ValueChangeHandler<AccountDiffPreference>() { @Override diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java index 395ccdb2..70aade1b 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java @@ -96,6 +96,9 @@ public class PatchScriptSettingsPanel extends Composite implements @UiField Button update; + @UiField + Button save; + /** * Counts +1 for every setEnabled(true) and -1 for every setEnabled(false) * @@ -117,13 +120,14 @@ public class PatchScriptSettingsPanel extends Composite implements initContext(context); if (!Gerrit.isSignedIn()) { reviewed.setVisible(false); + save.setVisible(false); } KeyPressHandler onEnter = new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { - update(); + save(); } } }; @@ -162,7 +166,7 @@ public class PatchScriptSettingsPanel extends Composite implements } else { syntaxHighlighting.setValue(false); } - toggleEnabledStatus(update.isEnabled()); + toggleEnabledStatus(save.isEnabled()); } public void setEnableIntralineDifference(final boolean on) { @@ -172,7 +176,7 @@ public class PatchScriptSettingsPanel extends Composite implements } else { intralineDifference.setValue(false); } - toggleEnabledStatus(update.isEnabled()); + toggleEnabledStatus(save.isEnabled()); } private void toggleEnabledStatus(final boolean on) { @@ -223,6 +227,11 @@ public class PatchScriptSettingsPanel extends Composite implements update(); } + @UiHandler("save") + void onSave(ClickEvent event) { + save(); + } + private void update() { if (colWidth.getIntValue() <= 0) { new ErrorDialog(PatchUtil.C.illegalNumberOfColumns()).center(); @@ -244,7 +253,10 @@ public class PatchScriptSettingsPanel extends Composite implements dp.setRetainHeader(retainHeader.getValue()); listenablePrefs.set(dp); + } + private void save() { + update(); if (Gerrit.isSignedIn()) { persistDiffPreferences(); } @@ -252,11 +264,9 @@ public class PatchScriptSettingsPanel extends Composite implements private void persistDiffPreferences() { setEnabled(false); - Util.ACCOUNT_SVC.changeDiffPreferences(getValue(), - new GerritCallback<VoidResult>() { + listenablePrefs.save(new GerritCallback<VoidResult>() { @Override public void onSuccess(VoidResult result) { - Gerrit.setAccountDiffPreference(getValue()); setEnabled(true); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.ui.xml index 3ec54670..f320ce53 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.ui.xml +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.ui.xml @@ -147,7 +147,8 @@ limitations under the License. </g:CheckBox> </td> - <td valign='bottom' rowspan='2'> + <td rowspan='2'> + <br/> <g:Button ui:field='update' text='Update' @@ -155,13 +156,20 @@ limitations under the License. tabIndex='13'> <ui:attribute name='text'/> </g:Button> + <g:Button + ui:field='save' + text='Save' + styleName='{style.updateButton}' + tabIndex='14'> + <ui:attribute name='text'/> + </g:Button> </td> <td> <g:CheckBox ui:field='reviewed' text='Reviewed' - tabIndex='14'> + tabIndex='15'> <ui:attribute name='text'/> </g:CheckBox> </td> diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableAccountDiffPreference.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableAccountDiffPreference.java index 195adf5e..41de2cd3 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableAccountDiffPreference.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableAccountDiffPreference.java @@ -15,12 +15,37 @@ package com.google.gerrit.client.ui; import com.google.gerrit.client.Gerrit; +import com.google.gerrit.client.account.Util; +import com.google.gerrit.client.rpc.GerritCallback; import com.google.gerrit.reviewdb.AccountDiffPreference; +import com.google.gwtjsonrpc.client.VoidResult; public class ListenableAccountDiffPreference extends ListenableValue<AccountDiffPreference> { public ListenableAccountDiffPreference() { + reset(); + } + + public void save(final GerritCallback<VoidResult> cb) { + if (Gerrit.isSignedIn()) { + Util.ACCOUNT_SVC.changeDiffPreferences(get(), + new GerritCallback<VoidResult>() { + @Override + public void onSuccess(VoidResult result) { + Gerrit.setAccountDiffPreference(get()); + cb.onSuccess(result); + } + + @Override + public void onFailure(Throwable caught) { + cb.onFailure(caught); + } + }); + } + } + + public void reset() { if (Gerrit.isSignedIn() && Gerrit.getAccountDiffPreference() != null) { set(Gerrit.getAccountDiffPreference()); } else { |