summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaladox <thomasmulhall410@yahoo.com>2016-09-05 23:51:02 +0100
committerPaladox none <thomasmulhall410@yahoo.com>2016-09-13 12:10:38 +0000
commitee24b3c5479643d6293af418c0b6597ce637799d (patch)
treeceea6691c2abba9750103b9a2ba024e812ae79f6
parent78808c5d3474ab909f0ecfec9c3dcee003d9d44f (diff)
Adds a new pref config called lineWrapping to Edit and Diff
What this config does is it either enables or disables lineWrapping, disabling line wrapping can cause changes that have long lines to simply be cut off. With it enabled it will line wrap the text making it easer to read instead of it being cutoff. Gerrit 2.8.1 did lineWrapping so bringing this back. But it is set to the default false so it is not enabled by default in Edit or Diff sections. We should probaly set it as true in gerrit 2.13. This also will partially fix bug https://phabricator.wikimedia.org/T144565 which is filled downstream. Reason why this is partially fixed is because the pref is not set to true by default and logged out users will still see no line wrapping. Bug: Issue 4292 Bug: Issue 2410 Change-Id: I8600778f1068c217e335755a3138e8cb64bc8b3e
-rw-r--r--Documentation/rest-api-accounts.txt8
-rw-r--r--Documentation/user-review-ui.txt9
-rw-r--r--gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/DiffPreferencesIT.java3
-rw-r--r--gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EditPreferencesIT.java3
-rw-r--r--gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java2
-rw-r--r--gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/EditPreferencesInfo.java2
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/account/DiffPreferences.java4
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/account/EditPreferences.java4
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml4
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java11
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.ui.xml7
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide.java2
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.java10
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.ui.xml7
14 files changed, 74 insertions, 2 deletions
diff --git a/Documentation/rest-api-accounts.txt b/Documentation/rest-api-accounts.txt
index 18613eb146..545930665e 100644
--- a/Documentation/rest-api-accounts.txt
+++ b/Documentation/rest-api-accounts.txt
@@ -1358,6 +1358,7 @@ link:#edit-preferences-info[EditPreferencesInfo] entity.
"show_whitespace_errors": true,
"hide_line_numbers": true,
"match_brackets": true,
+ "line_wrapping": false,
"auto_close_brackets": true
}
----
@@ -1390,6 +1391,7 @@ link:#edit-preferences-info[EditPreferencesInfo] entity.
"syntax_highlighting": true,
"hide_line_numbers": true,
"match_brackets": true,
+ "line_wrapping": false,
"auto_close_brackets": true
}
----
@@ -1714,6 +1716,8 @@ Whether empty panes should be hidden. The left pane is empty when a
file was added; the right pane is empty when a file was deleted.
|`match_brackets` |not set if `false`|
Whether matching brackets should be highlighted.
+|`line_wrapping` |not set if `false`|
+Whether to enable line wrapping or not.
|===========================================
[[diff-preferences-input]]
@@ -1767,6 +1771,8 @@ scrolling down more than half of a page.
True if the line numbers should be hidden.
|`tab_size` |optional|
Number of spaces that should be used to display one tab.
+|`line_wrapping` |optional|
+Whether to enable line wrapping or not.
|===========================================
[[edit-preferences-info]]
@@ -1803,6 +1809,8 @@ Whether syntax highlighting should be enabled.
Whether line numbers should be hidden.
|`match_brackets` |not set if `false`|
Whether matching brackets should be highlighted.
+|`line_wrapping` |not set if `false`|
+Whether to enable line wrapping or not.
|`auto_close_brackets` |not set if `false`|
Whether brackets and quotes should be auto-closed during typing.
|===========================================
diff --git a/Documentation/user-review-ui.txt b/Documentation/user-review-ui.txt
index 8b7e5fbf8d..859765c53c 100644
--- a/Documentation/user-review-ui.txt
+++ b/Documentation/user-review-ui.txt
@@ -1087,6 +1087,15 @@ file.
+
Large files that exceed 4000 lines will not be fully rendered.
+- [[line-wrapping]]`Line Wrapping`:
++
+Controls weather to enable line wrapping or not.
++
+If `false` is selected then line wrapping is disabled.
+This is the default option.
++
+If `true` is selected then line wrapping is enabled.
+
[[keyboard-shortcuts]]
== Keyboard Shortcuts
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/DiffPreferencesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/DiffPreferencesIT.java
index 5b2e7bab83..9dbb1ff9ac 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/DiffPreferencesIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/DiffPreferencesIT.java
@@ -64,6 +64,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
assertThat(o.renderEntireFile).isNull();
assertThat(o.hideEmptyPane).isNull();
assertThat(o.matchBrackets).isNull();
+ assertThat(o.lineWrapping).isNull();
assertThat(o.ignoreWhitespace).isEqualTo(d.ignoreWhitespace);
assertThat(o.theme).isEqualTo(d.theme);
}
@@ -95,6 +96,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
i.renderEntireFile ^= true;
i.hideEmptyPane ^= true;
i.matchBrackets ^= true;
+ i.lineWrapping ^= true;
RestResponse r = adminSession.put("/accounts/" + admin.email
+ "/preferences.diff", i);
@@ -122,6 +124,7 @@ public class DiffPreferencesIT extends AbstractDaemonTest {
assertThat(o.renderEntireFile).isEqualTo(i.renderEntireFile);
assertThat(o.hideEmptyPane).isEqualTo(i.hideEmptyPane);
assertThat(o.matchBrackets).isEqualTo(i.matchBrackets);
+ assertThat(o.lineWrapping).isEqualTo(i.lineWrapping);
assertThat(o.ignoreWhitespace).isEqualTo(i.ignoreWhitespace);
assertThat(o.theme).isEqualTo(i.theme);
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EditPreferencesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EditPreferencesIT.java
index cf89c5a256..b97219c043 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EditPreferencesIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EditPreferencesIT.java
@@ -44,6 +44,7 @@ public class EditPreferencesIT extends AbstractDaemonTest {
assertThat(out.syntaxHighlighting).isTrue();
assertThat(out.hideLineNumbers).isNull();
assertThat(out.matchBrackets).isTrue();
+ assertThat(out.lineWrapping).isNull();
assertThat(out.autoCloseBrackets).isNull();
assertThat(out.theme).isEqualTo(Theme.DEFAULT);
assertThat(out.keyMapType).isEqualTo(KeyMapType.DEFAULT);
@@ -58,6 +59,7 @@ public class EditPreferencesIT extends AbstractDaemonTest {
out.syntaxHighlighting = false;
out.hideLineNumbers = true;
out.matchBrackets = false;
+ out.lineWrapping = true;
out.autoCloseBrackets = true;
out.theme = Theme.TWILIGHT;
out.keyMapType = KeyMapType.EMACS;
@@ -100,6 +102,7 @@ public class EditPreferencesIT extends AbstractDaemonTest {
assertThat(out.syntaxHighlighting).isNull();
assertThat(out.hideLineNumbers).isEqualTo(in.hideLineNumbers);
assertThat(out.matchBrackets).isNull();
+ assertThat(out.lineWrapping).isEqualTo(in.lineWrapping);
assertThat(out.autoCloseBrackets).isEqualTo(in.autoCloseBrackets);
assertThat(out.theme).isEqualTo(in.theme);
assertThat(out.keyMapType).isEqualTo(in.keyMapType);
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java
index 703f7b3905..18555cf30a 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java
@@ -56,6 +56,7 @@ public class DiffPreferencesInfo {
public Boolean renderEntireFile;
public Boolean hideEmptyPane;
public Boolean matchBrackets;
+ public Boolean lineWrapping;
public Theme theme;
public Whitespace ignoreWhitespace;
public Boolean retainHeader;
@@ -86,6 +87,7 @@ public class DiffPreferencesInfo {
i.renderEntireFile = false;
i.hideEmptyPane = false;
i.matchBrackets = false;
+ i.lineWrapping = false;
return i;
}
}
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/EditPreferencesInfo.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/EditPreferencesInfo.java
index 3e455230c1..fe11b320d8 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/EditPreferencesInfo.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/EditPreferencesInfo.java
@@ -25,6 +25,7 @@ public class EditPreferencesInfo {
public Boolean syntaxHighlighting;
public Boolean hideLineNumbers;
public Boolean matchBrackets;
+ public Boolean lineWrapping;
public Boolean autoCloseBrackets;
public Theme theme;
public KeyMapType keyMapType;
@@ -40,6 +41,7 @@ public class EditPreferencesInfo {
i.syntaxHighlighting = true;
i.hideLineNumbers = false;
i.matchBrackets = true;
+ i.lineWrapping = false;
i.autoCloseBrackets = false;
i.theme = Theme.DEFAULT;
i.keyMapType = KeyMapType.DEFAULT;
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/DiffPreferences.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/DiffPreferences.java
index 7d543d86bd..daf11815a9 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/DiffPreferences.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/DiffPreferences.java
@@ -47,6 +47,7 @@ public class DiffPreferences extends JavaScriptObject {
p.skipUncommented(in.skipUncommented);
p.skipDeleted(in.skipDeleted);
p.matchBrackets(in.matchBrackets);
+ p.lineWrapping(in.lineWrapping);
return p;
}
@@ -71,6 +72,7 @@ public class DiffPreferences extends JavaScriptObject {
p.renderEntireFile = renderEntireFile();
p.hideEmptyPane = hideEmptyPane();
p.matchBrackets = matchBrackets();
+ p.lineWrapping = lineWrapping();
p.theme = theme();
p.ignoreWhitespace = ignoreWhitespace();
}
@@ -141,6 +143,7 @@ public class DiffPreferences extends JavaScriptObject {
public final native void skipUncommented(boolean s) /*-{ this.skip_uncommented = s }-*/;
public final native void skipDeleted(boolean s) /*-{ this.skip_deleted = s }-*/;
public final native void matchBrackets(boolean m) /*-{ this.match_brackets = m }-*/;
+ public final native void lineWrapping(boolean w) /*-{ this.line_wrapping = w }-*/;
public final native boolean intralineDifference() /*-{ return this.intraline_difference || false }-*/;
public final native boolean showLineEndings() /*-{ return this.show_line_endings || false }-*/;
public final native boolean showTabs() /*-{ return this.show_tabs || false }-*/;
@@ -157,6 +160,7 @@ public class DiffPreferences extends JavaScriptObject {
public final native boolean skipUncommented() /*-{ return this.skip_uncommented || false }-*/;
public final native boolean skipDeleted() /*-{ return this.skip_deleted || false }-*/;
public final native boolean matchBrackets() /*-{ return this.match_brackets || false }-*/;
+ public final native boolean lineWrapping() /*-{ return this.line_wrapping || false }-*/;
private final native void setThemeRaw(String i) /*-{ this.theme = i }-*/;
private final native void setIgnoreWhitespaceRaw(String i) /*-{ this.ignore_whitespace = i }-*/;
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/EditPreferences.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/EditPreferences.java
index 6e4b1c7148..39af4d4679 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/EditPreferences.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/EditPreferences.java
@@ -31,6 +31,7 @@ public class EditPreferences extends JavaScriptObject {
p.syntaxHighlighting(in.syntaxHighlighting);
p.hideLineNumbers(in.hideLineNumbers);
p.matchBrackets(in.matchBrackets);
+ p.lineWrapping(in.lineWrapping);
p.autoCloseBrackets(in.autoCloseBrackets);
p.theme(in.theme);
p.keyMapType(in.keyMapType);
@@ -47,6 +48,7 @@ public class EditPreferences extends JavaScriptObject {
p.syntaxHighlighting = syntaxHighlighting();
p.hideLineNumbers = hideLineNumbers();
p.matchBrackets = matchBrackets();
+ p.lineWrapping = lineWrapping();
p.autoCloseBrackets = autoCloseBrackets();
p.theme = theme();
p.keyMapType = keyMapType();
@@ -71,6 +73,7 @@ public class EditPreferences extends JavaScriptObject {
public final native void syntaxHighlighting(boolean s) /*-{ this.syntax_highlighting = s }-*/;
public final native void hideLineNumbers(boolean s) /*-{ this.hide_line_numbers = s }-*/;
public final native void matchBrackets(boolean m) /*-{ this.match_brackets = m }-*/;
+ public final native void lineWrapping(boolean w) /*-{ this.line_wrapping = w }-*/;
public final native void autoCloseBrackets(boolean c) /*-{ this.auto_close_brackets = c }-*/;
public final Theme theme() {
@@ -103,6 +106,7 @@ public class EditPreferences extends JavaScriptObject {
public final native boolean syntaxHighlighting() /*-{ return this.syntax_highlighting || false }-*/;
public final native boolean hideLineNumbers() /*-{ return this.hide_line_numbers || false }-*/;
public final native boolean matchBrackets() /*-{ return this.match_brackets || false }-*/;
+ public final native boolean lineWrapping() /*-{ return this.line_wrapping || false }-*/;
public final native boolean autoCloseBrackets() /*-{ return this.auto_close_brackets || false }-*/;
private final native int get(String n, int d) /*-{ return this.hasOwnProperty(n) ? this[n] : d }-*/;
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
index 99ecc9ba94..e72cf27a89 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/DiffTable.ui.xml
@@ -80,7 +80,9 @@ limitations under the License.
.b { border-left: 1px solid #ddd; }
.a .diff { background-color: #faa; }
- .b .diff { background-color: #9f9; }
+ /* Set min-width for lineWrapping to make sure it gets enough width
+ before lineWrapping and to make sure it dosent do a ugly line wrap */
+ .b .diff { background-color: #9f9; min-width: 60em; }
.a .intralineBg { background-color: #fee; }
.b .intralineBg { background-color: #dfd; }
.noIntraline .a .intralineBg { background-color: #faa; }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
index f363f9bcc8..c5b1f9674a 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.java
@@ -101,6 +101,7 @@ public class PreferencesBox extends Composite {
@UiField ToggleButton expandAllComments;
@UiField ToggleButton renderEntireFile;
@UiField ToggleButton matchBrackets;
+ @UiField ToggleButton lineWrapping;
@UiField ListBox theme;
@UiField Element modeLabel;
@UiField ListBox mode;
@@ -193,6 +194,7 @@ public class PreferencesBox extends Composite {
manualReview.setValue(prefs.manualReview());
expandAllComments.setValue(prefs.expandAllComments());
matchBrackets.setValue(prefs.matchBrackets());
+ lineWrapping.setValue(prefs.lineWrapping());
setTheme(prefs.theme());
if (view == null || view.canRenderEntireFile(prefs)) {
@@ -492,6 +494,15 @@ public class PreferencesBox extends Composite {
prefs.matchBrackets());
}
+ @UiHandler("lineWrapping")
+ void onLineWrapping(ValueChangeEvent<Boolean> e) {
+ prefs.lineWrapping(e.getValue());
+ view.getCmFromSide(DisplaySide.A).setOption("lineWrapping",
+ prefs.lineWrapping());
+ view.getCmFromSide(DisplaySide.B).setOption("lineWrapping",
+ prefs.lineWrapping());
+ }
+
@UiHandler("theme")
void onTheme(@SuppressWarnings("unused") ChangeEvent e) {
final Theme newTheme = getSelectedTheme();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.ui.xml
index 2b4817cf79..7dbbc21b8b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PreferencesBox.ui.xml
@@ -298,6 +298,13 @@ limitations under the License.
</g:ToggleButton></td>
</tr>
<tr>
+ <th><ui:msg>Line Wrapping</ui:msg></th>
+ <td><g:ToggleButton ui:field='lineWrapping'>
+ <g:upFace><ui:msg>Off</ui:msg></g:upFace>
+ <g:downFace><ui:msg>On</ui:msg></g:downFace>
+ </g:ToggleButton></td>
+ </tr>
+ <tr>
<td></td>
<td>
<g:Button ui:field='apply' styleName='{style.apply}'>
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide.java
index 6e992b94d1..0fdc5197fa 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide.java
@@ -641,7 +641,7 @@ public class SideBySide extends Screen {
.set("lineNumbers", prefs.showLineNumbers())
.set("tabSize", prefs.tabSize())
.set("mode", fileSize == FileSize.SMALL ? getContentType(meta) : null)
- .set("lineWrapping", false)
+ .set("lineWrapping", prefs.lineWrapping())
.set("scrollbarStyle", "overlay")
.set("styleSelectedText", true)
.set("showTrailingSpace", prefs.showWhitespaceErrors())
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.java
index dadf5b2fcf..7a439b5f1e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.java
@@ -67,6 +67,7 @@ public class EditPreferencesBox extends Composite {
@UiField ToggleButton whitespaceErrors;
@UiField ToggleButton lineNumbers;
@UiField ToggleButton matchBrackets;
+ @UiField ToggleButton lineWrapping;
@UiField ToggleButton autoCloseBrackets;
@UiField ListBox theme;
@UiField ListBox keyMap;
@@ -101,6 +102,7 @@ public class EditPreferencesBox extends Composite {
whitespaceErrors.setValue(prefs.showWhitespaceErrors());
lineNumbers.setValue(prefs.hideLineNumbers());
matchBrackets.setValue(prefs.matchBrackets());
+ lineWrapping.setValue(prefs.lineWrapping());
autoCloseBrackets.setValue(prefs.autoCloseBrackets());
setTheme(prefs.theme());
setKeyMapType(prefs.keyMapType());
@@ -190,6 +192,14 @@ public class EditPreferencesBox extends Composite {
}
}
+ @UiHandler("lineWrapping")
+ void onLineWrapping(ValueChangeEvent<Boolean> e) {
+ prefs.lineWrapping(e.getValue());
+ if (view != null) {
+ view.getEditor().setOption("lineWrapping", prefs.lineWrapping());
+ }
+ }
+
@UiHandler("autoCloseBrackets")
void onCloseBrackets(ValueChangeEvent<Boolean> e) {
prefs.autoCloseBrackets(e.getValue());
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.ui.xml
index ab2adcda53..3d0692c964 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditPreferencesBox.ui.xml
@@ -233,6 +233,13 @@ limitations under the License.
</g:ToggleButton></td>
</tr>
<tr>
+ <th><ui:msg>Line Wrapping</ui:msg></th>
+ <td><g:ToggleButton ui:field='lineWrapping'>
+ <g:upFace><ui:msg>Off</ui:msg></g:upFace>
+ <g:downFace><ui:msg>On</ui:msg></g:downFace>
+ </g:ToggleButton></td>
+ </tr>
+ <tr>
<th><ui:msg>Auto Close Brackets</ui:msg></th>
<td><g:ToggleButton ui:field='autoCloseBrackets'>
<g:upFace><ui:msg>Off</ui:msg></g:upFace>