Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(753)

Side by Side Diff: Source/devtools/front_end/elements/ElementsPanel.js

Issue 768773002: Revert of DevTools: Migrate elements panel undo/redo shortcuts to declarative actions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/devtools/front_end/elements/module.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 var treeOutline = this._treeOutlines[i]; 197 var treeOutline = this._treeOutlines[i];
198 treeOutline.updateSelection(); 198 treeOutline.updateSelection();
199 treeOutline.setVisible(true); 199 treeOutline.setVisible(true);
200 200
201 if (!treeOutline.rootDOMNode) 201 if (!treeOutline.rootDOMNode)
202 if (treeOutline.domModel().existingDocument()) 202 if (treeOutline.domModel().existingDocument())
203 this._documentUpdated(treeOutline.domModel(), treeOutline.do mModel().existingDocument()); 203 this._documentUpdated(treeOutline.domModel(), treeOutline.do mModel().existingDocument());
204 else 204 else
205 treeOutline.domModel().requestDocument(); 205 treeOutline.domModel().requestDocument();
206 } 206 }
207 WebInspector.context.setFlavor(WebInspector.ElementsPanel, this); 207
208 }, 208 },
209 209
210 willHide: function() 210 willHide: function()
211 { 211 {
212 for (var i = 0; i < this._treeOutlines.length; ++i) { 212 for (var i = 0; i < this._treeOutlines.length; ++i) {
213 var treeOutline = this._treeOutlines[i]; 213 var treeOutline = this._treeOutlines[i];
214 treeOutline.domModel().hideDOMNodeHighlight(); 214 treeOutline.domModel().hideDOMNodeHighlight();
215 treeOutline.setVisible(false); 215 treeOutline.setVisible(false);
216 // Detach heavy component on hide 216 // Detach heavy component on hide
217 this._contentElement.removeChild(treeOutline.element); 217 this._contentElement.removeChild(treeOutline.element);
218 } 218 }
219 this._popoverHelper.hidePopover(); 219 this._popoverHelper.hidePopover();
220 WebInspector.Panel.prototype.willHide.call(this); 220 WebInspector.Panel.prototype.willHide.call(this);
221 WebInspector.context.setFlavor(WebInspector.ElementsPanel, null);
222 }, 221 },
223 222
224 onResize: function() 223 onResize: function()
225 { 224 {
226 this._updateTreeOutlineVisibleWidth(); 225 this._updateTreeOutlineVisibleWidth();
227 }, 226 },
228 227
229 /** 228 /**
230 * @param {!WebInspector.DOMNode} node 229 * @param {!WebInspector.DOMNode} node
231 * @param {string} pseudoClass 230 * @param {string} pseudoClass
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 { 682 {
684 var selectedDOMNode = this.selectedDOMNode(); 683 var selectedDOMNode = this.selectedDOMNode();
685 if (!selectedDOMNode || !selectedDOMNode.target().cssModel.isEnabled()) 684 if (!selectedDOMNode || !selectedDOMNode.target().cssModel.isEnabled())
686 return; 685 return;
687 686
688 this.sidebarPanes.styles.update(selectedDOMNode, true); 687 this.sidebarPanes.styles.update(selectedDOMNode, true);
689 this.sidebarPanes.metrics.setNode(selectedDOMNode); 688 this.sidebarPanes.metrics.setNode(selectedDOMNode);
690 this.sidebarPanes.platformFonts.setNode(selectedDOMNode); 689 this.sidebarPanes.platformFonts.setNode(selectedDOMNode);
691 }, 690 },
692 691
693 _undo: function()
694 {
695 var treeOutline = this._treeOutlineForNode(this._lastValidSelectedNode);
696 if (!treeOutline || WebInspector.isEditing())
697 return;
698 treeOutline.target().domModel.undo(this._updateSidebars.bind(this));
699 },
700
701 _redo: function()
702 {
703 var treeOutline = this._treeOutlineForNode(this._lastValidSelectedNode);
704 if (!treeOutline || WebInspector.isEditing())
705 return;
706 treeOutline.target().domModel.redo(this._updateSidebars.bind(this));
707 },
708
709 /** 692 /**
710 * @param {!KeyboardEvent} event 693 * @param {!KeyboardEvent} event
711 */ 694 */
712 handleShortcut: function(event) 695 handleShortcut: function(event)
713 { 696 {
714 var treeOutline = this._treeOutlineForNode(this._lastValidSelectedNode); 697 /**
698 * @param {!WebInspector.ElementsTreeOutline} treeOutline
699 * @this {WebInspector.ElementsPanel}
700 */
701 function handleUndoRedo(treeOutline)
702 {
703 if (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event) && !even t.shiftKey && event.keyIdentifier === "U+005A") { // Z key
704 treeOutline.target().domModel.undo(this._updateSidebars.bind(thi s));
705 event.handled = true;
706 return;
707 }
708
709 var isRedoKey = WebInspector.isMac() ? event.metaKey && event.shiftK ey && event.keyIdentifier === "U+005A" : // Z key
710 event.ctrlKey && event.keyIde ntifier === "U+0059"; // Y key
711 if (isRedoKey) {
712 treeOutline.target().domModel.redo(this._updateSidebars.bind(thi s));
713 event.handled = true;
714 }
715 }
716
717 var treeOutline = null;
718 for (var i = 0; i < this._treeOutlines.length; ++i) {
719 if (this._treeOutlines[i].selectedDOMNode() === this._lastValidSelec tedNode)
720 treeOutline = this._treeOutlines[i];
721 }
715 if (!treeOutline) 722 if (!treeOutline)
716 return; 723 return;
717 724
725 if (!treeOutline.editing()) {
726 handleUndoRedo.call(this, treeOutline);
727 if (event.handled)
728 return;
729 }
730
718 treeOutline.handleShortcut(event); 731 treeOutline.handleShortcut(event);
719 if (event.handled) 732 if (event.handled)
720 return; 733 return;
721 734
722 WebInspector.Panel.prototype.handleShortcut.call(this, event); 735 WebInspector.Panel.prototype.handleShortcut.call(this, event);
723 }, 736 },
724 737
725 /** 738 /**
726 * @param {?WebInspector.DOMNode} node 739 * @param {?WebInspector.DOMNode} node
727 * @return {?WebInspector.ElementsTreeOutline} 740 * @return {?WebInspector.ElementsTreeOutline}
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 1104
1092 WebInspector.ElementsPanelFactory.prototype = { 1105 WebInspector.ElementsPanelFactory.prototype = {
1093 /** 1106 /**
1094 * @return {!WebInspector.Panel} 1107 * @return {!WebInspector.Panel}
1095 */ 1108 */
1096 createPanel: function() 1109 createPanel: function()
1097 { 1110 {
1098 return WebInspector.ElementsPanel.instance(); 1111 return WebInspector.ElementsPanel.instance();
1099 } 1112 }
1100 } 1113 }
1101
1102 /**
1103 * @constructor
1104 * @implements {WebInspector.ActionDelegate}
1105 */
1106 WebInspector.ElementsPanel.UndoActionDelegate = function()
1107 {
1108 }
1109
1110 WebInspector.ElementsPanel.UndoActionDelegate.prototype = {
1111 /**
1112 * @return {boolean}
1113 */
1114 handleAction: function()
1115 {
1116 var panel = WebInspector.ElementsPanel.instance();
1117 panel._undo();
1118 return true;
1119 }
1120 }
1121
1122 /**
1123 * @constructor
1124 * @implements {WebInspector.ActionDelegate}
1125 */
1126 WebInspector.ElementsPanel.RedoActionDelegate = function()
1127 {
1128 }
1129
1130 WebInspector.ElementsPanel.RedoActionDelegate.prototype = {
1131 /**
1132 * @return {boolean}
1133 */
1134 handleAction: function()
1135 {
1136 var panel = WebInspector.ElementsPanel.instance();
1137 panel._redo();
1138 return true;
1139 }
1140 }
1141
OLDNEW
« no previous file with comments | « no previous file | Source/devtools/front_end/elements/module.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698