On change of user preferences create AccountInfoPreferences directly
To send the new user preferences to the server an AccountGeneralPreferences object was created which was then converted into an AccountInfoPreferences object. Rather create the AccountInfoPreferences object directly without instantiating any AccountGeneralPreferences object. Change-Id: I1f7589c631388966e58930fd6b580c49c42dbd75 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
@@ -31,31 +31,25 @@ public class AccountPreferencesInfo extends JavaScriptObject {
|
|||||||
return createObject().cast();
|
return createObject().cast();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AccountPreferencesInfo create(AccountGeneralPreferences in,
|
|
||||||
List<TopMenuItem> myMenus) {
|
|
||||||
AccountPreferencesInfo p = createObject().cast();
|
|
||||||
p.changesPerPage(in.getMaximumPageSize());
|
|
||||||
p.showSiteHeader(in.isShowSiteHeader());
|
|
||||||
p.useFlashClipboard(in.isUseFlashClipboard());
|
|
||||||
p.downloadScheme(in.getDownloadUrl());
|
|
||||||
p.downloadCommand(in.getDownloadCommand());
|
|
||||||
p.copySelfOnEmail(in.isCopySelfOnEmails());
|
|
||||||
p.dateFormat(in.getDateFormat());
|
|
||||||
p.timeFormat(in.getTimeFormat());
|
|
||||||
p.relativeDateInChangeTable(in.isRelativeDateInChangeTable());
|
|
||||||
p.sizeBarInChangeTable(in.isSizeBarInChangeTable());
|
|
||||||
p.legacycidInChangeTable(in.isLegacycidInChangeTable());
|
|
||||||
p.muteCommonPathPrefixes(in.isMuteCommonPathPrefixes());
|
|
||||||
p.reviewCategoryStrategy(in.getReviewCategoryStrategy());
|
|
||||||
p.diffView(in.getDiffView());
|
|
||||||
if (myMenus != null) {
|
|
||||||
p.setMyMenus(myMenus);
|
|
||||||
}
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AccountPreferencesInfo createDefault() {
|
public static AccountPreferencesInfo createDefault() {
|
||||||
return create(AccountGeneralPreferences.createDefault(), null);
|
AccountGeneralPreferences defaultPrefs =
|
||||||
|
AccountGeneralPreferences.createDefault();
|
||||||
|
AccountPreferencesInfo p = createObject().cast();
|
||||||
|
p.changesPerPage(defaultPrefs.getMaximumPageSize());
|
||||||
|
p.showSiteHeader(defaultPrefs.isShowSiteHeader());
|
||||||
|
p.useFlashClipboard(defaultPrefs.isUseFlashClipboard());
|
||||||
|
p.downloadScheme(defaultPrefs.getDownloadUrl());
|
||||||
|
p.downloadCommand(defaultPrefs.getDownloadCommand());
|
||||||
|
p.copySelfOnEmail(defaultPrefs.isCopySelfOnEmails());
|
||||||
|
p.dateFormat(defaultPrefs.getDateFormat());
|
||||||
|
p.timeFormat(defaultPrefs.getTimeFormat());
|
||||||
|
p.relativeDateInChangeTable(defaultPrefs.isRelativeDateInChangeTable());
|
||||||
|
p.sizeBarInChangeTable(defaultPrefs.isSizeBarInChangeTable());
|
||||||
|
p.legacycidInChangeTable(defaultPrefs.isLegacycidInChangeTable());
|
||||||
|
p.muteCommonPathPrefixes(defaultPrefs.isMuteCommonPathPrefixes());
|
||||||
|
p.reviewCategoryStrategy(defaultPrefs.getReviewCategoryStrategy());
|
||||||
|
p.diffView(defaultPrefs.getDiffView());
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final short changesPerPage() {
|
public final short changesPerPage() {
|
||||||
@@ -194,7 +188,7 @@ public class AccountPreferencesInfo extends JavaScriptObject {
|
|||||||
private final native void diffViewRaw(String d)
|
private final native void diffViewRaw(String d)
|
||||||
/*-{ this.diff_view = d }-*/;
|
/*-{ this.diff_view = d }-*/;
|
||||||
|
|
||||||
final void setMyMenus(List<TopMenuItem> myMenus) {
|
public final void setMyMenus(List<TopMenuItem> myMenus) {
|
||||||
initMy();
|
initMy();
|
||||||
for (TopMenuItem n : myMenus) {
|
for (TopMenuItem n : myMenus) {
|
||||||
addMy(n);
|
addMy(n);
|
||||||
|
|||||||
@@ -334,39 +334,39 @@ public class MyPreferencesScreen extends SettingsScreen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void doSave() {
|
private void doSave() {
|
||||||
AccountGeneralPreferences p = new AccountGeneralPreferences();
|
AccountPreferencesInfo p = AccountPreferencesInfo.create();
|
||||||
p.setShowSiteHeader(showSiteHeader.getValue());
|
p.showSiteHeader(showSiteHeader.getValue());
|
||||||
p.setUseFlashClipboard(useFlashClipboard.getValue());
|
p.useFlashClipboard(useFlashClipboard.getValue());
|
||||||
p.setCopySelfOnEmails(copySelfOnEmails.getValue());
|
p.copySelfOnEmail(copySelfOnEmails.getValue());
|
||||||
p.setMaximumPageSize(getListBox(maximumPageSize, DEFAULT_PAGESIZE));
|
p.changesPerPage(getListBox(maximumPageSize, DEFAULT_PAGESIZE));
|
||||||
p.setDateFormat(getListBox(dateFormat,
|
p.dateFormat(getListBox(dateFormat,
|
||||||
AccountGeneralPreferences.DateFormat.STD,
|
AccountGeneralPreferences.DateFormat.STD,
|
||||||
AccountGeneralPreferences.DateFormat.values()));
|
AccountGeneralPreferences.DateFormat.values()));
|
||||||
p.setTimeFormat(getListBox(timeFormat,
|
p.timeFormat(getListBox(timeFormat,
|
||||||
AccountGeneralPreferences.TimeFormat.HHMM_12,
|
AccountGeneralPreferences.TimeFormat.HHMM_12,
|
||||||
AccountGeneralPreferences.TimeFormat.values()));
|
AccountGeneralPreferences.TimeFormat.values()));
|
||||||
p.setRelativeDateInChangeTable(relativeDateInChangeTable.getValue());
|
p.relativeDateInChangeTable(relativeDateInChangeTable.getValue());
|
||||||
p.setSizeBarInChangeTable(sizeBarInChangeTable.getValue());
|
p.sizeBarInChangeTable(sizeBarInChangeTable.getValue());
|
||||||
p.setLegacycidInChangeTable(legacycidInChangeTable.getValue());
|
p.legacycidInChangeTable(legacycidInChangeTable.getValue());
|
||||||
p.setMuteCommonPathPrefixes(muteCommonPathPrefixes.getValue());
|
p.muteCommonPathPrefixes(muteCommonPathPrefixes.getValue());
|
||||||
p.setReviewCategoryStrategy(getListBox(reviewCategoryStrategy,
|
p.reviewCategoryStrategy(getListBox(reviewCategoryStrategy,
|
||||||
ReviewCategoryStrategy.NONE,
|
ReviewCategoryStrategy.NONE,
|
||||||
ReviewCategoryStrategy.values()));
|
ReviewCategoryStrategy.values()));
|
||||||
p.setDiffView(getListBox(diffView,
|
p.diffView(getListBox(diffView,
|
||||||
AccountGeneralPreferences.DiffView.SIDE_BY_SIDE,
|
AccountGeneralPreferences.DiffView.SIDE_BY_SIDE,
|
||||||
AccountGeneralPreferences.DiffView.values()));
|
AccountGeneralPreferences.DiffView.values()));
|
||||||
|
|
||||||
enable(false);
|
|
||||||
save.setEnabled(false);
|
|
||||||
|
|
||||||
List<TopMenuItem> items = new ArrayList<>();
|
List<TopMenuItem> items = new ArrayList<>();
|
||||||
for (List<String> v : myMenus.getValues()) {
|
for (List<String> v : myMenus.getValues()) {
|
||||||
items.add(TopMenuItem.create(v.get(0), v.get(1)));
|
items.add(TopMenuItem.create(v.get(0), v.get(1)));
|
||||||
}
|
}
|
||||||
|
p.setMyMenus(items);
|
||||||
|
|
||||||
|
enable(false);
|
||||||
|
save.setEnabled(false);
|
||||||
|
|
||||||
AccountApi.self().view("preferences")
|
AccountApi.self().view("preferences")
|
||||||
.put(AccountPreferencesInfo.create(p, items),
|
.put(p, new GerritCallback<AccountPreferencesInfo>() {
|
||||||
new GerritCallback<AccountPreferencesInfo>() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(AccountPreferencesInfo prefs) {
|
public void onSuccess(AccountPreferencesInfo prefs) {
|
||||||
Gerrit.setUserPreferences(prefs);
|
Gerrit.setUserPreferences(prefs);
|
||||||
|
|||||||
Reference in New Issue
Block a user