From 6e3ed27ec26c26379460a2db3482d6c647d1d679 Mon Sep 17 00:00:00 2001 From: Paladox none Date: Sat, 1 Jul 2017 13:38:05 +0000 Subject: [PATCH 1/2] Change lineWrapping from saying false to using prefs.lineWrapping() In I8600778f106 lineWrapping options for edit and diff screens were added. However, for edit screen, the default was missed to be set to the new option. It was still set to false, so that the value of new option was ignored. Reported-By: David Ostrovsky Change-Id: Ibd1315a3e95ae01bb830a140c3113df0262ef072 --- .../main/java/com/google/gerrit/client/editor/EditScreen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java index 3dbb1c31d0..8a141f13c1 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java @@ -565,7 +565,7 @@ public class EditScreen extends Screen { .set("indentUnit", prefs.indentUnit()) .set("keyMap", prefs.keyMapType().name().toLowerCase()) .set("lineNumbers", prefs.hideLineNumbers()) - .set("lineWrapping", false) + .set("lineWrapping", prefs.lineWrapping()) .set("matchBrackets", prefs.matchBrackets()) .set("mode", mode != null ? mode.mime() : null) .set("origLeft", editContent) From 6406b2c2231119698e45a11b1d58f76abb650ddc Mon Sep 17 00:00:00 2001 From: Paladox none Date: Wed, 28 Jun 2017 17:03:33 +0000 Subject: [PATCH 2/2] Add support for CodeEditor edit config indentWithTabs Will allow us to switch on or off the indentWithTabs config which will indent the lines in tabs. Bug: Issue 6609 Change-Id: If0e75de66a20d028ba066ff207f1d24e4633be27 --- Documentation/rest-api-accounts.txt | 3 +++ .../acceptance/api/accounts/EditPreferencesIT.java | 3 +++ .../gerrit/extensions/client/EditPreferencesInfo.java | 2 ++ .../google/gerrit/client/account/EditPreferences.java | 6 ++++++ .../gerrit/client/editor/EditPreferencesBox.java | 11 +++++++++++ .../gerrit/client/editor/EditPreferencesBox.ui.xml | 7 +++++++ .../com/google/gerrit/client/editor/EditScreen.java | 1 + 7 files changed, 33 insertions(+) diff --git a/Documentation/rest-api-accounts.txt b/Documentation/rest-api-accounts.txt index 13fca66f17..880a1a2928 100644 --- a/Documentation/rest-api-accounts.txt +++ b/Documentation/rest-api-accounts.txt @@ -1525,6 +1525,7 @@ link:#edit-preferences-info[EditPreferencesInfo] entity. "hide_line_numbers": true, "match_brackets": true, "line_wrapping": false, + "indent_with_tabs": false, "auto_close_brackets": true } ---- @@ -2428,6 +2429,8 @@ Number of spaces that should be used to display one tab. Default font size in pixels for change to be displayed in the diff view. |`line_wrapping` |optional| Whether to enable line wrapping or not. +|`indent_with_tabs` |optional| +Whether to enable indent with tabs or not. |=========================================== [[edit-preferences-info]] diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/EditPreferencesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/EditPreferencesIT.java index 8baaa54a00..c1d9bcb26e 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/EditPreferencesIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/EditPreferencesIT.java @@ -40,6 +40,7 @@ public class EditPreferencesIT extends AbstractDaemonTest { assertThat(out.hideLineNumbers).isNull(); assertThat(out.matchBrackets).isTrue(); assertThat(out.lineWrapping).isNull(); + assertThat(out.indentWithTabs).isNull(); assertThat(out.autoCloseBrackets).isNull(); assertThat(out.showBase).isNull(); assertThat(out.theme).isEqualTo(Theme.DEFAULT); @@ -57,6 +58,7 @@ public class EditPreferencesIT extends AbstractDaemonTest { out.hideLineNumbers = true; out.matchBrackets = false; out.lineWrapping = true; + out.indentWithTabs = true; out.autoCloseBrackets = true; out.showBase = true; out.theme = Theme.TWILIGHT; @@ -89,6 +91,7 @@ public class EditPreferencesIT extends AbstractDaemonTest { assertThat(out.hideLineNumbers).isEqualTo(in.hideLineNumbers); assertThat(out.matchBrackets).isNull(); assertThat(out.lineWrapping).isEqualTo(in.lineWrapping); + assertThat(out.indentWithTabs).isEqualTo(in.indentWithTabs); assertThat(out.autoCloseBrackets).isEqualTo(in.autoCloseBrackets); assertThat(out.showBase).isEqualTo(in.showBase); assertThat(out.theme).isEqualTo(in.theme); 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 84c61b7990..7ab22e1c06 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 @@ -27,6 +27,7 @@ public class EditPreferencesInfo { public Boolean hideLineNumbers; public Boolean matchBrackets; public Boolean lineWrapping; + public Boolean indentWithTabs; public Boolean autoCloseBrackets; public Boolean showBase; public Theme theme; @@ -45,6 +46,7 @@ public class EditPreferencesInfo { i.hideLineNumbers = false; i.matchBrackets = true; i.lineWrapping = false; + i.indentWithTabs = false; i.autoCloseBrackets = false; i.showBase = false; i.theme = Theme.DEFAULT; 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 8fcea85ed8..9cd2f17dd4 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 @@ -33,6 +33,7 @@ public class EditPreferences extends JavaScriptObject { p.hideLineNumbers(in.hideLineNumbers); p.matchBrackets(in.matchBrackets); p.lineWrapping(in.lineWrapping); + p.indentWithTabs(in.indentWithTabs); p.autoCloseBrackets(in.autoCloseBrackets); p.showBase(in.showBase); p.theme(in.theme); @@ -52,6 +53,7 @@ public class EditPreferences extends JavaScriptObject { p.hideLineNumbers = hideLineNumbers(); p.matchBrackets = matchBrackets(); p.lineWrapping = lineWrapping(); + p.indentWithTabs = indentWithTabs(); p.autoCloseBrackets = autoCloseBrackets(); p.showBase = showBase(); p.theme = theme(); @@ -94,6 +96,8 @@ public class EditPreferences extends JavaScriptObject { public final native void lineWrapping(boolean w) /*-{ this.line_wrapping = w }-*/; + public final native void indentWithTabs(boolean w) /*-{ this.indent_with_tabs = w }-*/; + public final native void autoCloseBrackets(boolean c) /*-{ this.auto_close_brackets = c }-*/; public final native void showBase(boolean s) /*-{ this.show_base = s }-*/; @@ -144,6 +148,8 @@ public class EditPreferences extends JavaScriptObject { public final native boolean lineWrapping() /*-{ return this.line_wrapping || false }-*/; + public final native boolean indentWithTabs() /*-{ return this.indent_with_tabs || false }-*/; + public final native boolean autoCloseBrackets() /*-{ return this.auto_close_brackets || false }-*/; 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 de2c739cc7..328c3a0d2a 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 @@ -69,6 +69,7 @@ public class EditPreferencesBox extends Composite { @UiField ToggleButton lineNumbers; @UiField ToggleButton matchBrackets; @UiField ToggleButton lineWrapping; + @UiField ToggleButton indentWithTabs; @UiField ToggleButton autoCloseBrackets; @UiField ToggleButton showBase; @UiField ListBox theme; @@ -106,6 +107,7 @@ public class EditPreferencesBox extends Composite { lineNumbers.setValue(prefs.hideLineNumbers()); matchBrackets.setValue(prefs.matchBrackets()); lineWrapping.setValue(prefs.lineWrapping()); + indentWithTabs.setValue(prefs.indentWithTabs()); autoCloseBrackets.setValue(prefs.autoCloseBrackets()); showBase.setValue(prefs.showBase()); setTheme(prefs.theme()); @@ -215,6 +217,15 @@ public class EditPreferencesBox extends Composite { } } + @UiHandler("indentWithTabs") + void onIndentWithTabs(ValueChangeEvent e) { + prefs.indentWithTabs(e.getValue()); + if (view != null) { + view.getEditor().setOption("indentWithTabs", prefs.indentWithTabs()); + } + } + + @UiHandler("autoCloseBrackets") void onCloseBrackets(ValueChangeEvent 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 6379b676d1..f5ec71e04c 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 @@ -245,6 +245,13 @@ limitations under the License. On + + Indent With Tabs + + Off + On + + Auto Close Brackets diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java index babeafc967..027fb403ac 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java @@ -581,6 +581,7 @@ public class EditScreen extends Screen { .set("keyMap", prefs.keyMapType().name().toLowerCase()) .set("lineNumbers", prefs.hideLineNumbers()) .set("lineWrapping", prefs.lineWrapping()) + .set("indentWithTabs", prefs.indentWithTabs()) .set("matchBrackets", prefs.matchBrackets()) .set("mode", mode != null ? mode.mime() : null) .set("origLeft", editContent)