Preference to display patch sets in reverse order
Added a new general user preference by which the display order of the patch sets in the ChangeScreen can be reversed so that the latest patch set is always shown on top. If there are a lot of patch sets for a change the latest patch set and the links to the diffs in the patch set are below the fold of the ChangeScreen. In most cases users are interest in the latest patch set. This is why it may be more convinient if the latest patch set is always displayed on top. Bug: issue 556 Change-Id: I01b718252c260bfeea63819466a8286de7a43459 Signed-off-by: Edwin Kempin <edwin.kempin@gmail.com>
This commit is contained in:
committed by
Shawn O. Pearce
parent
002e0a9dda
commit
5b50240129
@@ -30,6 +30,7 @@ public interface AccountConstants extends Constants {
|
||||
String showSiteHeader();
|
||||
String useFlashClipboard();
|
||||
String copySelfOnEmails();
|
||||
String displayPatchSetsInReverseOrder();
|
||||
String buttonSaveChanges();
|
||||
|
||||
String tabAccountSummary();
|
||||
|
||||
@@ -7,6 +7,7 @@ accountId = Account ID
|
||||
showSiteHeader = Show Site Header
|
||||
useFlashClipboard = Use Flash Clipboard Widget
|
||||
copySelfOnEmails = CC Me On Comments I Write
|
||||
displayPatchSetsInReverseOrder = Display Patch Sets In Reverse Order
|
||||
defaultContextFieldLabel = Default Context:
|
||||
maximumPageSizeFieldLabel = Maximum Page Size:
|
||||
dateFormatLabel = Date/Time Format:
|
||||
|
||||
@@ -41,6 +41,7 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
private CheckBox showSiteHeader;
|
||||
private CheckBox useFlashClipboard;
|
||||
private CheckBox copySelfOnEmails;
|
||||
private CheckBox displayPatchSetsInReverseOrder;
|
||||
private ListBox maximumPageSize;
|
||||
private ListBox dateFormat;
|
||||
private ListBox timeFormat;
|
||||
@@ -72,6 +73,9 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
copySelfOnEmails = new CheckBox(Util.C.copySelfOnEmails());
|
||||
copySelfOnEmails.addClickHandler(onClickSave);
|
||||
|
||||
displayPatchSetsInReverseOrder = new CheckBox(Util.C.displayPatchSetsInReverseOrder());
|
||||
displayPatchSetsInReverseOrder.addClickHandler(onClickSave);
|
||||
|
||||
maximumPageSize = new ListBox();
|
||||
for (final short v : PAGESIZE_CHOICES) {
|
||||
maximumPageSize.addItem(Util.M.rowsPerPage(v), String.valueOf(v));
|
||||
@@ -113,7 +117,7 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
dateTimePanel.add(dateFormat);
|
||||
dateTimePanel.add(timeFormat);
|
||||
}
|
||||
final Grid formGrid = new Grid(5, 2);
|
||||
final Grid formGrid = new Grid(6, 2);
|
||||
|
||||
int row = 0;
|
||||
formGrid.setText(row, labelIdx, "");
|
||||
@@ -128,6 +132,10 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
formGrid.setWidget(row, fieldIdx, copySelfOnEmails);
|
||||
row++;
|
||||
|
||||
formGrid.setText(row, labelIdx, "");
|
||||
formGrid.setWidget(row, fieldIdx, displayPatchSetsInReverseOrder);
|
||||
row++;
|
||||
|
||||
formGrid.setText(row, labelIdx, Util.C.maximumPageSizeFieldLabel());
|
||||
formGrid.setWidget(row, fieldIdx, maximumPageSize);
|
||||
row++;
|
||||
@@ -163,6 +171,7 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
showSiteHeader.setEnabled(on);
|
||||
useFlashClipboard.setEnabled(on);
|
||||
copySelfOnEmails.setEnabled(on);
|
||||
displayPatchSetsInReverseOrder.setEnabled(on);
|
||||
maximumPageSize.setEnabled(on);
|
||||
dateFormat.setEnabled(on);
|
||||
timeFormat.setEnabled(on);
|
||||
@@ -172,6 +181,7 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
showSiteHeader.setValue(p.isShowSiteHeader());
|
||||
useFlashClipboard.setValue(p.isUseFlashClipboard());
|
||||
copySelfOnEmails.setValue(p.isCopySelfOnEmails());
|
||||
displayPatchSetsInReverseOrder.setValue(p.isDisplayPatchSetsInReverseOrder());
|
||||
setListBox(maximumPageSize, DEFAULT_PAGESIZE, p.getMaximumPageSize());
|
||||
setListBox(dateFormat, AccountGeneralPreferences.DateFormat.STD, //
|
||||
p.getDateFormat());
|
||||
@@ -231,6 +241,7 @@ public class MyPreferencesScreen extends SettingsScreen {
|
||||
p.setShowSiteHeader(showSiteHeader.getValue());
|
||||
p.setUseFlashClipboard(useFlashClipboard.getValue());
|
||||
p.setCopySelfOnEmails(copySelfOnEmails.getValue());
|
||||
p.setDisplayPatchSetsInReverseOrder(displayPatchSetsInReverseOrder.getValue());
|
||||
p.setMaximumPageSize(getListBox(maximumPageSize, DEFAULT_PAGESIZE));
|
||||
p.setDateFormat(getListBox(dateFormat,
|
||||
AccountGeneralPreferences.DateFormat.STD,
|
||||
|
||||
@@ -16,6 +16,7 @@ package com.google.gerrit.client.changes;
|
||||
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.common.data.ChangeDetail;
|
||||
import com.google.gerrit.reviewdb.AccountGeneralPreferences;
|
||||
import com.google.gerrit.reviewdb.PatchSet;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
@@ -30,6 +31,7 @@ import com.google.gwtexpui.globalkey.client.GlobalKey;
|
||||
import com.google.gwtexpui.globalkey.client.KeyCommand;
|
||||
import com.google.gwtexpui.globalkey.client.KeyCommandSet;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -73,6 +75,14 @@ public class PatchSetsBlock extends Composite {
|
||||
currentPatchSetId = currps.getId();
|
||||
patchSets = detail.getPatchSets();
|
||||
|
||||
if (Gerrit.isSignedIn()) {
|
||||
final AccountGeneralPreferences p =
|
||||
Gerrit.getUserAccount().getGeneralPreferences();
|
||||
if (p.isDisplayPatchSetsInReverseOrder()) {
|
||||
Collections.reverse(patchSets);
|
||||
}
|
||||
}
|
||||
|
||||
for (final PatchSet ps : patchSets) {
|
||||
if (ps == currps) {
|
||||
add(new PatchSetComplexDisclosurePanel(parent, detail, detail
|
||||
|
||||
Reference in New Issue
Block a user