Title: [205413] trunk/Source/WebInspectorUI
Revision
205413
Author
[email protected]
Date
2016-09-03 17:27:40 -0700 (Sat, 03 Sep 2016)

Log Message

Web Inspector: Add keyboard shortcut for switching to last used dock configuration
https://bugs.webkit.org/show_bug.cgi?id=110328

Patch by Devin Rousso <[email protected]> on 2016-09-03
Reviewed by Brian Burg.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.updateDockedState):
(WebInspector._togglePreviousDockConfiguration):
Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D
shortcut to toggle the docked state between the current and previous states.

(WebInspector._undock):
(WebInspector._dockBottom):
(WebInspector._dockRight):
(WebInspector._updateDockNavigationItems):
(WebInspector._dockedResizerMouseDown):
(WebInspector._dockedResizerMouseDown.dockedResizerDrag):
Make use of new WebInspector.DockConfiguration instead of hardcoded strings.

(WebInspector.DockConfiguration):
Create enum for different WebInspector dock modes:
 - Right
 - Bottom
 - Undocked

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (205412 => 205413)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-09-04 00:24:14 UTC (rev 205412)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-09-04 00:27:40 UTC (rev 205413)
@@ -1,3 +1,31 @@
+2016-09-03  Devin Rousso  <[email protected]>
+
+        Web Inspector: Add keyboard shortcut for switching to last used dock configuration
+        https://bugs.webkit.org/show_bug.cgi?id=110328
+
+        Reviewed by Brian Burg.
+
+        * UserInterface/Base/Main.js:
+        (WebInspector.contentLoaded):
+        (WebInspector.updateDockedState):
+        (WebInspector._togglePreviousDockConfiguration):
+        Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D
+        shortcut to toggle the docked state between the current and previous states.
+
+        (WebInspector._undock):
+        (WebInspector._dockBottom):
+        (WebInspector._dockRight):
+        (WebInspector._updateDockNavigationItems):
+        (WebInspector._dockedResizerMouseDown):
+        (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
+        Make use of new WebInspector.DockConfiguration instead of hardcoded strings.
+
+        (WebInspector.DockConfiguration):
+        Create enum for different WebInspector dock modes:
+         - Right
+         - Bottom
+         - Undocked
+
 2016-09-03  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Address ESLint undefined variable errors

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (205412 => 205413)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2016-09-04 00:24:14 UTC (rev 205412)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2016-09-04 00:27:40 UTC (rev 205413)
@@ -316,6 +316,8 @@
     this._dockBottomToolbarButton = new WebInspector.ButtonToolbarItem("dock-bottom", WebInspector.UIString("Dock to bottom of window"), null, "Images/DockBottom.svg");
     this._dockBottomToolbarButton.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._dockBottom, this);
 
+    this._togglePreviousDockConfigurationKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Shift, "D", this._togglePreviousDockConfiguration.bind(this));
+
     var toolTip;
     if (WebInspector.debuggableType === WebInspector.DebuggableType._javascript_)
         toolTip = WebInspector.UIString("Restart (%s)").format(this._reloadPageKeyboardShortcut.displayName);
@@ -699,23 +701,31 @@
 
 WebInspector.updateDockedState = function(side)
 {
-    if (this._dockSide === side)
+    if (this._dockConfiguration === side)
         return;
 
-    this._dockSide = side;
+    this._previousDockConfiguration = this._dockConfiguration;
+    if (!this._previousDockConfiguration) {
+        if (side === WebInspector.DockConfiguration.Right)
+            this._previousDockConfiguration = WebInspector.DockConfiguration.Bottom;
+        else
+            this._previousDockConfiguration = WebInspector.DockConfiguration.Right;
+    }
 
-    this.docked = side !== "undocked";
+    this._dockConfiguration = side;
 
+    this.docked = side !== WebInspector.DockConfiguration.Undocked;
+
     this._ignoreToolbarModeDidChangeEvents = true;
 
-    if (side === "bottom") {
-        document.body.classList.add("docked", "bottom");
-        document.body.classList.remove("window-inactive", "right");
-    } else if (side === "right") {
-        document.body.classList.add("docked", "right");
-        document.body.classList.remove("window-inactive", "bottom");
+    if (side === WebInspector.DockConfiguration.Bottom) {
+        document.body.classList.add("docked", WebInspector.DockConfiguration.Bottom);
+        document.body.classList.remove("window-inactive", WebInspector.DockConfiguration.Right);
+    } else if (side === WebInspector.DockConfiguration.Right) {
+        document.body.classList.add("docked", WebInspector.DockConfiguration.Right);
+        document.body.classList.remove("window-inactive", WebInspector.DockConfiguration.Bottom);
     } else
-        document.body.classList.remove("docked", "right", "bottom");
+        document.body.classList.remove("docked", WebInspector.DockConfiguration.Right, WebInspector.DockConfiguration.Bottom);
 
     this._ignoreToolbarModeDidChangeEvents = false;
 
@@ -1479,26 +1489,31 @@
 
 WebInspector._undock = function(event)
 {
-    InspectorFrontendHost.requestSetDockSide("undocked");
+    InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Undocked);
 };
 
 WebInspector._dockBottom = function(event)
 {
-    InspectorFrontendHost.requestSetDockSide("bottom");
+    InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Bottom);
 };
 
 WebInspector._dockRight = function(event)
 {
-    InspectorFrontendHost.requestSetDockSide("right");
+    InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Right);
 };
 
+WebInspector._togglePreviousDockConfiguration = function(event)
+{
+    InspectorFrontendHost.requestSetDockSide(this._previousDockConfiguration);
+};
+
 WebInspector._updateDockNavigationItems = function()
 {
     if (this._dockingAvailable || this.docked) {
         this._closeToolbarButton.hidden = !this.docked;
-        this._undockToolbarButton.hidden = this._dockSide === "undocked";
-        this._dockBottomToolbarButton.hidden = this._dockSide === "bottom";
-        this._dockRightToolbarButton.hidden = this._dockSide === "right";
+        this._undockToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Undocked;
+        this._dockBottomToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Bottom;
+        this._dockRightToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Right;
     } else {
         this._closeToolbarButton.hidden = true;
         this._undockToolbarButton.hidden = true;
@@ -1621,7 +1636,7 @@
     if (event.ctrlKey)
         return;
 
-    if (this._dockSide === "right")
+    if (this._dockConfiguration === WebInspector.DockConfiguration.Right)
         return;
 
     if (this.docked)
@@ -1643,9 +1658,9 @@
         !event.target.classList.contains("flexible-space") && !event.target.classList.contains("item-section"))
         return;
 
-    var windowProperty = this._dockSide === "bottom" ? "innerHeight" : "innerWidth";
-    var eventScreenProperty = this._dockSide === "bottom" ? "screenY" : "screenX";
-    var eventClientProperty = this._dockSide === "bottom" ? "clientY" : "clientX";
+    let windowProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "innerHeight" : "innerWidth";
+    let eventScreenProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "screenY" : "screenX";
+    let eventClientProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "clientY" : "clientX";
 
     var resizerElement = event.target;
     var firstClientPosition = event[eventClientProperty];
@@ -1677,7 +1692,7 @@
         // width or height should be the same in device pixels regardless of the document zoom.
         dimension *= this._zoomFactor();
 
-        if (this._dockSide === "bottom")
+        if (this._dockConfiguration === WebInspector.DockConfiguration.Bottom)
             InspectorFrontendHost.setAttachedWindowHeight(dimension);
         else
             InspectorFrontendHost.setAttachedWindowWidth(dimension);
@@ -1691,7 +1706,7 @@
         WebInspector.elementDragEnd(event);
     }
 
-    WebInspector.elementDragStart(resizerElement, dockedResizerDrag.bind(this), dockedResizerDragEnd.bind(this), event, this._dockSide === "bottom" ? "row-resize" : "col-resize");
+    WebInspector.elementDragStart(resizerElement, dockedResizerDrag.bind(this), dockedResizerDragEnd.bind(this), event, this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "row-resize" : "col-resize");
 };
 
 WebInspector._moveWindowMouseDown = function(event)
@@ -2491,3 +2506,9 @@
 
     WebInspector.showRepresentedObject(representedObject, dialog.cookie);
 };
+
+WebInspector.DockConfiguration = {
+    Right: "right",
+    Bottom: "bottom",
+    Undocked: "undocked",
+};
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to