Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 /** | 31 /** |
| 32 * @constructor | 32 * @constructor |
| 33 * @param {function()} onHide | 33 * @extends {WebInspector.VBox} |
| 34 * @extends {WebInspector.HelpScreen} | |
| 35 */ | 34 */ |
| 36 WebInspector.SettingsScreen = function(onHide) | 35 WebInspector.SettingsScreen = function() |
| 37 { | 36 { |
| 38 WebInspector.HelpScreen.call(this); | 37 WebInspector.VBox.call(this, true); |
| 38 this.markAsRoot(); | |
|
yurys
2015/10/13 00:52:11
Drop this.
dgozman
2015/10/13 01:57:42
Done.
| |
| 39 this.registerRequiredCSS("settings/settingsScreen.css"); | |
| 39 this.element.id = "settings-screen"; | 40 this.element.id = "settings-screen"; |
| 40 | 41 |
| 41 /** @type {function()} */ | 42 this.contentElement.tabIndex = 0; |
| 42 this._onHide = onHide; | 43 this.contentElement.classList.add("help-window-main"); |
| 43 | 44 this.contentElement.classList.add("vbox"); |
| 44 this._contentElement = this.element.createChild("div", "help-window-main"); | |
| 45 var settingsLabelElement = createElementWithClass("div", "help-window-label" ); | 45 var settingsLabelElement = createElementWithClass("div", "help-window-label" ); |
| 46 settingsLabelElement.createTextChild(WebInspector.UIString("Settings")); | 46 settingsLabelElement.createTextChild(WebInspector.UIString("Settings")); |
| 47 this._contentElement.appendChild(this.createCloseButton()); | |
| 48 | 47 |
| 49 this._tabbedPane = new WebInspector.TabbedPane(); | 48 this._tabbedPane = new WebInspector.TabbedPane(); |
| 50 this._tabbedPane.insertBeforeTabStrip(settingsLabelElement); | 49 this._tabbedPane.insertBeforeTabStrip(settingsLabelElement); |
| 51 this._tabbedPane.setShrinkableTabs(false); | 50 this._tabbedPane.setShrinkableTabs(false); |
| 52 this._tabbedPane.setVerticalTabLayout(true); | 51 this._tabbedPane.setVerticalTabLayout(true); |
| 53 this._tabbedPane.appendTab("general", WebInspector.UIString("General"), new WebInspector.GenericSettingsTab()); | 52 this._tabbedPane.appendTab("general", WebInspector.UIString("General"), new WebInspector.GenericSettingsTab()); |
| 54 this._tabbedPane.appendTab("workspace", WebInspector.UIString("Workspace"), new WebInspector.WorkspaceSettingsTab()); | 53 this._tabbedPane.appendTab("workspace", WebInspector.UIString("Workspace"), new WebInspector.WorkspaceSettingsTab()); |
| 55 if (Runtime.experiments.supportEnabled()) | 54 if (Runtime.experiments.supportEnabled()) |
| 56 this._tabbedPane.appendTab("experiments", WebInspector.UIString("Experim ents"), new WebInspector.ExperimentsSettingsTab()); | 55 this._tabbedPane.appendTab("experiments", WebInspector.UIString("Experim ents"), new WebInspector.ExperimentsSettingsTab()); |
| 57 this._tabbedPaneController = new WebInspector.ExtensibleTabbedPaneController (this._tabbedPane, "settings-view"); | 56 this._tabbedPaneController = new WebInspector.ExtensibleTabbedPaneController (this._tabbedPane, "settings-view"); |
| 58 this._tabbedPane.appendTab("shortcuts", WebInspector.UIString("Shortcuts"), WebInspector.shortcutsScreen.createShortcutsTabView()); | 57 this._tabbedPane.appendTab("shortcuts", WebInspector.UIString("Shortcuts"), WebInspector.shortcutsScreen.createShortcutsTabView()); |
| 59 | 58 |
| 60 this.element.addEventListener("keydown", this._keyDown.bind(this), false); | 59 this.element.addEventListener("keydown", this._keyDown.bind(this), false); |
| 61 this._developerModeCounter = 0; | 60 this._developerModeCounter = 0; |
| 61 this.setDefaultFocusedElement(this.contentElement); | |
| 62 } | 62 } |
| 63 | 63 |
| 64 WebInspector.SettingsScreen.prototype = { | 64 WebInspector.SettingsScreen.prototype = { |
| 65 /** | 65 /** |
| 66 * @override | 66 * @override |
| 67 */ | 67 */ |
| 68 wasShown: function() | 68 wasShown: function() |
| 69 { | 69 { |
| 70 this._tabbedPane.selectTab("general"); | 70 this._tabbedPane.selectTab("general"); |
| 71 this._tabbedPane.show(this._contentElement); | 71 this._tabbedPane.show(this.contentElement); |
| 72 WebInspector.HelpScreen.prototype.wasShown.call(this); | 72 WebInspector.VBox.prototype.wasShown.call(this); |
| 73 }, | 73 }, |
| 74 | 74 |
| 75 /** | 75 /** |
| 76 * @param {string} name | 76 * @param {string} name |
| 77 */ | 77 */ |
| 78 selectTab: function(name) | 78 selectTab: function(name) |
| 79 { | 79 { |
| 80 this._tabbedPane.selectTab(name); | 80 this._tabbedPane.selectTab(name); |
| 81 }, | 81 }, |
| 82 | 82 |
| 83 /** | 83 /** |
| 84 * @override | |
| 85 * @return {boolean} | |
| 86 */ | |
| 87 isClosingKey: function(keyCode) | |
| 88 { | |
| 89 return [ | |
| 90 WebInspector.KeyboardShortcut.Keys.Enter.code, | |
| 91 WebInspector.KeyboardShortcut.Keys.Esc.code, | |
| 92 ].indexOf(keyCode) >= 0; | |
| 93 }, | |
| 94 | |
| 95 /** | |
| 96 * @override | |
| 97 */ | |
| 98 willHide: function() | |
| 99 { | |
| 100 this._onHide(); | |
| 101 WebInspector.HelpScreen.prototype.willHide.call(this); | |
| 102 }, | |
| 103 | |
| 104 /** | |
| 105 * @param {!Event} event | 84 * @param {!Event} event |
| 106 */ | 85 */ |
| 107 _keyDown: function(event) | 86 _keyDown: function(event) |
| 108 { | 87 { |
| 109 var shiftKeyCode = 16; | 88 var shiftKeyCode = 16; |
| 110 if (event.keyCode === shiftKeyCode && ++this._developerModeCounter > 5) | 89 if (event.keyCode === shiftKeyCode && ++this._developerModeCounter > 5) |
| 111 this.element.classList.add("settings-developer-mode"); | 90 this.element.classList.add("settings-developer-mode"); |
| 112 }, | 91 }, |
| 113 | 92 |
| 114 __proto__: WebInspector.HelpScreen.prototype | 93 __proto__: WebInspector.VBox.prototype |
| 115 } | 94 } |
| 116 | 95 |
| 117 /** | 96 /** |
| 118 * @constructor | 97 * @constructor |
| 119 * @extends {WebInspector.VBox} | 98 * @extends {WebInspector.VBox} |
| 120 * @param {string} name | 99 * @param {string} name |
| 121 * @param {string=} id | 100 * @param {string=} id |
| 122 */ | 101 */ |
| 123 WebInspector.SettingsTab = function(name, id) | 102 WebInspector.SettingsTab = function(name, id) |
| 124 { | 103 { |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 553 __proto__: WebInspector.SettingsTab.prototype | 532 __proto__: WebInspector.SettingsTab.prototype |
| 554 } | 533 } |
| 555 | 534 |
| 556 /** | 535 /** |
| 557 * @constructor | 536 * @constructor |
| 558 */ | 537 */ |
| 559 WebInspector.SettingsController = function() | 538 WebInspector.SettingsController = function() |
| 560 { | 539 { |
| 561 /** @type {?WebInspector.SettingsScreen} */ | 540 /** @type {?WebInspector.SettingsScreen} */ |
| 562 this._settingsScreen; | 541 this._settingsScreen; |
| 563 this._resizeBound = this._resize.bind(this); | |
| 564 } | 542 } |
| 565 | 543 |
| 566 WebInspector.SettingsController.prototype = { | 544 WebInspector.SettingsController.prototype = { |
| 567 _onHideSettingsScreen: function() | |
| 568 { | |
| 569 var window = this._settingsScreen.element.ownerDocument.defaultView; | |
| 570 window.removeEventListener("resize", this._resizeBound, false); | |
| 571 delete this._settingsScreenVisible; | |
| 572 }, | |
| 573 | |
| 574 /** | 545 /** |
| 575 * @param {string=} name | 546 * @param {string=} name |
| 576 */ | 547 */ |
| 577 showSettingsScreen: function(name) | 548 showSettingsScreen: function(name) |
| 578 { | 549 { |
| 579 if (!this._settingsScreen) | 550 if (!this._settingsScreen) |
| 580 this._settingsScreen = new WebInspector.SettingsScreen(this._onHideS ettingsScreen.bind(this)); | 551 this._settingsScreen = new WebInspector.SettingsScreen(); |
| 581 this._settingsScreen.showModal(); | 552 |
| 553 var dialog = new WebInspector.Dialog(); | |
| 554 dialog.addCloseButton(); | |
| 555 this._settingsScreen.show(dialog.element); | |
| 556 dialog.show(); | |
| 557 | |
| 582 if (name) | 558 if (name) |
| 583 this._settingsScreen.selectTab(name); | 559 this._settingsScreen.selectTab(name); |
| 584 this._settingsScreenVisible = true; | |
| 585 var window = this._settingsScreen.element.ownerDocument.defaultView; | |
| 586 window.addEventListener("resize", this._resizeBound, false); | |
| 587 }, | |
| 588 | |
| 589 _resize: function() | |
| 590 { | |
| 591 if (this._settingsScreen && this._settingsScreen.isShowing()) | |
| 592 this._settingsScreen.doResize(); | |
| 593 } | 560 } |
| 594 } | 561 } |
| 595 | 562 |
| 596 /** | 563 /** |
| 597 * @constructor | 564 * @constructor |
| 598 * @implements {WebInspector.ActionDelegate} | 565 * @implements {WebInspector.ActionDelegate} |
| 599 */ | 566 */ |
| 600 WebInspector.SettingsController.ActionDelegate = function() { } | 567 WebInspector.SettingsController.ActionDelegate = function() { } |
| 601 | 568 |
| 602 WebInspector.SettingsController.ActionDelegate.prototype = { | 569 WebInspector.SettingsController.ActionDelegate.prototype = { |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1167 var columnId = columns[i]; | 1134 var columnId = columns[i]; |
| 1168 var editElement = this._addInputElements.get(columnId); | 1135 var editElement = this._addInputElements.get(columnId); |
| 1169 this._setEditElementValue(editElement, ""); | 1136 this._setEditElementValue(editElement, ""); |
| 1170 } | 1137 } |
| 1171 }, | 1138 }, |
| 1172 | 1139 |
| 1173 __proto__: WebInspector.SettingsList.prototype | 1140 __proto__: WebInspector.SettingsList.prototype |
| 1174 } | 1141 } |
| 1175 | 1142 |
| 1176 WebInspector._settingsController = new WebInspector.SettingsController(); | 1143 WebInspector._settingsController = new WebInspector.SettingsController(); |
| OLD | NEW |