Title: [239285] trunk/Source/WebInspectorUI
Revision
239285
Author
drou...@apple.com
Date
2018-12-17 13:15:39 -0800 (Mon, 17 Dec 2018)

Log Message

Web Inspector: Settings: add singular "space" UIString
https://bugs.webkit.org/show_bug.cgi?id=192766
<rdar://problem/46776948>

Reviewed by Brian Burg.

* UserInterface/Views/SettingEditor.js:
(WI.SettingEditor):
(WI.SettingEditor.prototype.get label):
(WI.SettingEditor.prototype.set label): Added.

* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
(WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting): Added.
(WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting.updateLabel): Added.

* Localizations/en.lproj/localizedStrings.js:

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (239284 => 239285)


--- trunk/Source/WebInspectorUI/ChangeLog	2018-12-17 21:07:13 UTC (rev 239284)
+++ trunk/Source/WebInspectorUI/ChangeLog	2018-12-17 21:15:39 UTC (rev 239285)
@@ -1,3 +1,23 @@
+2018-12-17  Devin Rousso  <drou...@apple.com>
+
+        Web Inspector: Settings: add singular "space" UIString
+        https://bugs.webkit.org/show_bug.cgi?id=192766
+        <rdar://problem/46776948>
+
+        Reviewed by Brian Burg.
+
+        * UserInterface/Views/SettingEditor.js:
+        (WI.SettingEditor):
+        (WI.SettingEditor.prototype.get label):
+        (WI.SettingEditor.prototype.set label): Added.
+
+        * UserInterface/Views/SettingsTabContentView.js:
+        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
+        (WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting): Added.
+        (WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting.updateLabel): Added.
+
+        * Localizations/en.lproj/localizedStrings.js:
+
 2018-12-15  Nikita Vasilyev  <nvasil...@apple.com>
 
         Web Inspector: Styles: toggling selected properties may cause data corruption

Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (239284 => 239285)


--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2018-12-17 21:07:13 UTC (rev 239284)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2018-12-17 21:15:39 UTC (rev 239285)
@@ -1043,6 +1043,7 @@
 localizedStrings["originally %s"] = "originally %s";
 localizedStrings["popup"] = "popup";
 localizedStrings["popup, toggle"] = "popup, toggle";
+localizedStrings["space"] = "space";
 localizedStrings["spaces"] = "spaces";
 localizedStrings["time before stopping"] = "time before stopping";
 localizedStrings["times before stopping"] = "times before stopping";

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js (239284 => 239285)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js	2018-12-17 21:07:13 UTC (rev 239284)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js	2018-12-17 21:15:39 UTC (rev 239285)
@@ -30,7 +30,6 @@
         super();
 
         this._type = type;
-        this._label = label;
         this._value = null;
 
         this._editorElement = this._createEditorElement(options);
@@ -40,14 +39,7 @@
         this._element.classList.add("editor");
         this._element.append(this._editorElement);
 
-        if (this._label) {
-            this._editorElement.id = "setting-editor-" + WI.SettingEditor._nextEditorIdentifier++;
-            let labelElement = document.createElement("label");
-            labelElement.setAttribute("for", this._editorElement.id);
-            labelElement.textContent = label;
-
-            this._element.append(labelElement);
-        }
+        this.label = label;
     }
 
     static createForSetting(setting, label, options)
@@ -74,8 +66,37 @@
 
     get element() { return this._element; }
     get type() { return this._type; }
-    get label() { return this._label; }
 
+    get label()
+    {
+        return this._label;
+    }
+
+    set label(label)
+    {
+        if (label === this._label)
+            return;
+
+        this._label = label;
+
+        if (!this._label) {
+            if (this._labelElement)
+                this._labelElement.remove();
+
+            this._editorElement.removeAttribute("id");
+            this._labelElement = null;
+            return;
+        }
+
+        if (!this._labelElement) {
+            this._editorElement.id = "setting-editor-" + WI.SettingEditor._nextEditorIdentifier++;
+            this._labelElement = this._element.appendChild(document.createElement("label"));
+            this._labelElement.setAttribute("for", this._editorElement.id);
+        }
+
+        this._labelElement.textContent = this._label;
+    }
+
     get value()
     {
         return this._value;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js (239284 => 239285)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js	2018-12-17 21:07:13 UTC (rev 239284)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js	2018-12-17 21:15:39 UTC (rev 239285)
@@ -184,11 +184,19 @@
             WI.settings.indentWithTabs.value = indentEditor.value === indentValues[0];
         });
 
-        const widthLabel = WI.UIString("spaces");
-        const widthOptions = {min: 1};
+        function addSpacesSetting(title, setting) {
+            let editor = generalSettingsView.addSetting(title, setting, WI.UIString("spaces"), {min: 1});
 
-        generalSettingsView.addSetting(WI.UIString("Tab width:"), WI.settings.tabSize, widthLabel, widthOptions);
-        generalSettingsView.addSetting(WI.UIString("Indent width:"), WI.settings.indentUnit, widthLabel, widthOptions);
+            function updateLabel() {
+                editor.label = setting.value === 1 ? WI.UIString("space") : WI.UIString("spaces");
+            }
+            setting.addEventListener(WI.Setting.Event.Changed, (event) => {
+                updateLabel();
+            });
+            updateLabel();
+        }
+        addSpacesSetting(WI.UIString("Tab width:"), WI.settings.tabSize);
+        addSpacesSetting(WI.UIString("Indent width:"), WI.settings.indentUnit);
 
         generalSettingsView.addSetting(WI.UIString("Line wrapping:"), WI.settings.enableLineWrapping, WI.UIString("Wrap lines to editor width"));
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to