aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Fick <mfick@codeaurora.org>2011-07-12 13:50:17 -0700
committerAndroid Code Review <code-review@android.com>2011-07-12 13:50:17 -0700
commit5eeac3cd9760a999edbb17a6d1af46d89b28c2f5 (patch)
treec51b47c4d6ae5b14903c5aa4d4312e9316099d41
parent73c6509b33e123311f7fe3574627cabbd7a451b8 (diff)
parent61838dcc1ce7aa72b412c4e182a8fdc8b596dc24 (diff)
downloadgerrit-5eeac3cd9760a999edbb17a6d1af46d89b28c2f5.tar.gz
Merge "Add a "Save" button to the PatchScriptSettingsPanel"
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScreen.java3
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java22
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.ui.xml12
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ListenableAccountDiffPreference.java25
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 {