Merge "Add user preference to disable showing size bars in change tables"

This commit is contained in:
Edwin Kempin
2013-12-07 06:37:58 +00:00
committed by Gerrit Code Review
9 changed files with 83 additions and 6 deletions

View File

@@ -38,6 +38,7 @@ public interface AccountConstants extends Constants {
String showUsernameInReviewCategory();
String buttonSaveChanges();
String showRelativeDateInChangeTable();
String showSizeBarInChangeTable();
String changeScreenOldUi();
String changeScreenNewUi();

View File

@@ -17,7 +17,8 @@ diffViewLabel = Diff View (New Change Screen):
dateFormatLabel = Date/Time Format:
contextWholeFile = Whole File
buttonSaveChanges = Save Changes
showRelativeDateInChangeTable = Show Relative Dates in Changes Table
showRelativeDateInChangeTable = Show Relative Dates In Changes Table
showSizeBarInChangeTable = Show Change Sizes As Colored Bars In Changes Table
changeScreenOldUi = Old Screen
changeScreenNewUi = New Screen

View File

@@ -45,6 +45,7 @@ public class MyPreferencesScreen extends SettingsScreen {
private CheckBox reversePatchSetOrder;
private CheckBox showUsernameInReviewCategory;
private CheckBox relativeDateInChangeTable;
private CheckBox sizeBarInChangeTable;
private ListBox maximumPageSize;
private ListBox dateFormat;
private ListBox timeFormat;
@@ -136,8 +137,9 @@ public class MyPreferencesScreen extends SettingsScreen {
}
relativeDateInChangeTable = new CheckBox(Util.C.showRelativeDateInChangeTable());
sizeBarInChangeTable = new CheckBox(Util.C.showSizeBarInChangeTable());
final Grid formGrid = new Grid(11, 2);
final Grid formGrid = new Grid(12, 2);
int row = 0;
formGrid.setText(row, labelIdx, "");
@@ -172,6 +174,10 @@ public class MyPreferencesScreen extends SettingsScreen {
formGrid.setText(row, labelIdx, "");
formGrid.setWidget(row, fieldIdx, relativeDateInChangeTable);
row++;
formGrid.setText(row, labelIdx, "");
formGrid.setWidget(row, fieldIdx, sizeBarInChangeTable);
row++;
}
formGrid.setText(row, labelIdx, Util.C.commentVisibilityLabel());
@@ -208,6 +214,7 @@ public class MyPreferencesScreen extends SettingsScreen {
e.listenTo(dateFormat);
e.listenTo(timeFormat);
e.listenTo(relativeDateInChangeTable);
e.listenTo(sizeBarInChangeTable);
e.listenTo(commentVisibilityStrategy);
e.listenTo(changeScreen);
e.listenTo(diffView);
@@ -233,6 +240,7 @@ public class MyPreferencesScreen extends SettingsScreen {
dateFormat.setEnabled(on);
timeFormat.setEnabled(on);
relativeDateInChangeTable.setEnabled(on);
sizeBarInChangeTable.setEnabled(on);
commentVisibilityStrategy.setEnabled(on);
changeScreen.setEnabled(on);
diffView.setEnabled(on);
@@ -250,6 +258,7 @@ public class MyPreferencesScreen extends SettingsScreen {
setListBox(timeFormat, AccountGeneralPreferences.TimeFormat.HHMM_12, //
p.getTimeFormat());
relativeDateInChangeTable.setValue(p.isRelativeDateInChangeTable());
sizeBarInChangeTable.setValue(p.isSizeBarInChangeTable());
setListBox(commentVisibilityStrategy,
AccountGeneralPreferences.CommentVisibilityStrategy.EXPAND_RECENT,
p.getCommentVisibilityStrategy());
@@ -327,6 +336,7 @@ public class MyPreferencesScreen extends SettingsScreen {
AccountGeneralPreferences.TimeFormat.HHMM_12,
AccountGeneralPreferences.TimeFormat.values()));
p.setRelativeDateInChangeTable(relativeDateInChangeTable.getValue());
p.setSizeBarInChangeTable(sizeBarInChangeTable.getValue());
p.setCommentVisibilityStrategy(getListBox(commentVisibilityStrategy,
CommentVisibilityStrategy.EXPAND_RECENT,
CommentVisibilityStrategy.values()));

View File

@@ -236,9 +236,16 @@ public class ChangeTable2 extends NavigationTable<ChangeInfo> {
}
int col = C_SIZE;
if (useNewFeatures) {
table.setWidget(row, col, getSizeWidget(c));
fmt.getElement(row, col).setTitle(
Util.M.insertionsAndDeletions(c.insertions(), c.deletions()));
if (Gerrit.isSignedIn()
&& !Gerrit.getUserAccount().getGeneralPreferences()
.isSizeBarInChangeTable()) {
table.setText(row, col,
Util.M.insertionsAndDeletions(c.insertions(), c.deletions()));
} else {
table.setWidget(row, col, getSizeWidget(c));
fmt.getElement(row, col).setTitle(
Util.M.insertionsAndDeletions(c.insertions(), c.deletions()));
}
col++;
}

View File

@@ -152,6 +152,9 @@ public final class AccountGeneralPreferences {
@Column(id = 15, length = 20, notNull = false)
protected String changeScreen;
@Column(id = 16)
protected boolean sizeBarInChangeTable;
public AccountGeneralPreferences() {
}
@@ -294,6 +297,14 @@ public final class AccountGeneralPreferences {
changeScreen = ui != null ? ui.name() : null;
}
public boolean isSizeBarInChangeTable() {
return sizeBarInChangeTable;
}
public void setSizeBarInChangeTable(boolean sizeBarInChangeTable) {
this.sizeBarInChangeTable = sizeBarInChangeTable;
}
public void resetToDefaults() {
maximumPageSize = DEFAULT_PAGESIZE;
showSiteHeader = true;
@@ -309,5 +320,6 @@ public final class AccountGeneralPreferences {
commentVisibilityStrategy = null;
diffView = null;
changeScreen = null;
sizeBarInChangeTable = true;
}
}

View File

@@ -70,6 +70,7 @@ public class GetPreferences implements RestReadView<AccountResource> {
Boolean reversePatchSetOrder;
Boolean showUsernameInReviewCategory;
Boolean relativeDateInChangeTable;
Boolean sizeBarInChangeTable;
CommentVisibilityStrategy commentVisibilityStrategy;
DiffView diffView;
ChangeScreen changeScreen;
@@ -86,6 +87,7 @@ public class GetPreferences implements RestReadView<AccountResource> {
reversePatchSetOrder = p.isReversePatchSetOrder() ? true : null;
showUsernameInReviewCategory = p.isShowUsernameInReviewCategory() ? true : null;
relativeDateInChangeTable = p.isRelativeDateInChangeTable() ? true : null;
sizeBarInChangeTable = p.isSizeBarInChangeTable() ? true : null;
commentVisibilityStrategy = p.getCommentVisibilityStrategy();
diffView = p.getDiffView();
changeScreen = p.getChangeScreen();

View File

@@ -47,6 +47,7 @@ public class SetPreferences implements RestModifyView<AccountResource, Input> {
Boolean reversePatchSetOrder;
Boolean showUsernameInReviewCategory;
Boolean relativeDateInChangeTable;
Boolean sizeBarInChangeTable;
CommentVisibilityStrategy commentVisibilityStrategy;
DiffView diffView;
}
@@ -121,6 +122,9 @@ public class SetPreferences implements RestModifyView<AccountResource, Input> {
if (i.relativeDateInChangeTable != null) {
p.setRelativeDateInChangeTable(i.relativeDateInChangeTable);
}
if (i.sizeBarInChangeTable != null) {
p.setSizeBarInChangeTable(i.sizeBarInChangeTable);
}
if (i.commentVisibilityStrategy != null) {
p.setCommentVisibilityStrategy(i.commentVisibilityStrategy);
}

View File

@@ -32,7 +32,7 @@ import java.util.List;
/** A version of the database schema. */
public abstract class SchemaVersion {
/** The current schema version. */
public static final Class<Schema_89> C = Schema_89.class;
public static final Class<Schema_90> C = Schema_90.class;
public static class Module extends AbstractModule {
@Override

View File

@@ -0,0 +1,40 @@
// Copyright (C) 2013 The Android Open Source Project
//
// Licensed 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 com.google.gerrit.server.schema;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gwtorm.jdbc.JdbcSchema;
import com.google.inject.Inject;
import com.google.inject.Provider;
import java.sql.SQLException;
import java.sql.Statement;
public class Schema_90 extends SchemaVersion {
@Inject
Schema_90(Provider<Schema_89> prior) {
super(prior);
}
@Override
protected void migrateData(ReviewDb db, UpdateUI ui) throws SQLException {
Statement stmt = ((JdbcSchema) db).getConnection().createStatement();
try {
stmt.executeUpdate("UPDATE accounts set size_bar_in_change_table = 'Y'");
} finally {
stmt.close();
}
}
}