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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/components/ShortcutsScreen.js

Issue 2608043002: DevTools: extract modules (with extensions) (Closed)
Patch Set: fixes Created 3 years, 11 months 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
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
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.
29 */
30
31 /**
32 * @unrestricted
33 */
34 Components.ShortcutsScreen = class {
35 constructor() {
36 /** @type {!Object.<string, !Components.ShortcutsSection>} */
37 this._sections = {};
38 }
39
40 static registerShortcuts() {
41 // Elements panel
42 var elementsSection = Components.shortcutsScreen.section(Common.UIString('El ements Panel'));
43
44 var navigate = Components.ShortcutsScreen.ElementsPanelShortcuts.NavigateUp. concat(
45 Components.ShortcutsScreen.ElementsPanelShortcuts.NavigateDown);
46 elementsSection.addRelatedKeys(navigate, Common.UIString('Navigate elements' ));
47
48 var expandCollapse = Components.ShortcutsScreen.ElementsPanelShortcuts.Expan d.concat(
49 Components.ShortcutsScreen.ElementsPanelShortcuts.Collapse);
50 elementsSection.addRelatedKeys(expandCollapse, Common.UIString('Expand/colla pse'));
51
52 elementsSection.addAlternateKeys(
53 Components.ShortcutsScreen.ElementsPanelShortcuts.EditAttribute, Common. UIString('Edit attribute'));
54 elementsSection.addAlternateKeys(
55 Components.ShortcutsScreen.ElementsPanelShortcuts.HideElement, Common.UI String('Hide element'));
56 elementsSection.addAlternateKeys(
57 Components.ShortcutsScreen.ElementsPanelShortcuts.ToggleEditAsHTML, Comm on.UIString('Toggle edit as HTML'));
58
59 var stylesPaneSection = Components.shortcutsScreen.section(Common.UIString(' Styles Pane'));
60
61 var nextPreviousProperty = Components.ShortcutsScreen.ElementsPanelShortcuts .NextProperty.concat(
62 Components.ShortcutsScreen.ElementsPanelShortcuts.PreviousProperty);
63 stylesPaneSection.addRelatedKeys(nextPreviousProperty, Common.UIString('Next /previous property'));
64
65 stylesPaneSection.addRelatedKeys(
66 Components.ShortcutsScreen.ElementsPanelShortcuts.IncrementValue, Common .UIString('Increment value'));
67 stylesPaneSection.addRelatedKeys(
68 Components.ShortcutsScreen.ElementsPanelShortcuts.DecrementValue, Common .UIString('Decrement value'));
69
70 stylesPaneSection.addAlternateKeys(
71 Components.ShortcutsScreen.ElementsPanelShortcuts.IncrementBy10, Common. UIString('Increment by %f', 10));
72 stylesPaneSection.addAlternateKeys(
73 Components.ShortcutsScreen.ElementsPanelShortcuts.DecrementBy10, Common. UIString('Decrement by %f', 10));
74
75 stylesPaneSection.addAlternateKeys(
76 Components.ShortcutsScreen.ElementsPanelShortcuts.IncrementBy100, Common .UIString('Increment by %f', 100));
77 stylesPaneSection.addAlternateKeys(
78 Components.ShortcutsScreen.ElementsPanelShortcuts.DecrementBy100, Common .UIString('Decrement by %f', 100));
79
80 stylesPaneSection.addAlternateKeys(
81 Components.ShortcutsScreen.ElementsPanelShortcuts.IncrementBy01, Common. UIString('Increment by %f', 0.1));
82 stylesPaneSection.addAlternateKeys(
83 Components.ShortcutsScreen.ElementsPanelShortcuts.DecrementBy01, Common. UIString('Decrement by %f', 0.1));
84
85 // Debugger
86 var section = Components.shortcutsScreen.section(Common.UIString('Debugger') );
87
88 section.addAlternateKeys(
89 UI.shortcutRegistry.shortcutDescriptorsForAction('debugger.toggle-pause' ), Common.UIString('Pause/ Continue'));
90 section.addAlternateKeys(
91 UI.shortcutRegistry.shortcutDescriptorsForAction('debugger.step-over'), Common.UIString('Step over'));
92 section.addAlternateKeys(
93 UI.shortcutRegistry.shortcutDescriptorsForAction('debugger.step-into'), Common.UIString('Step into'));
94 section.addAlternateKeys(
95 UI.shortcutRegistry.shortcutDescriptorsForAction('debugger.step-out'), C ommon.UIString('Step out'));
96
97 var nextAndPrevFrameKeys = Components.ShortcutsScreen.SourcesPanelShortcuts. NextCallFrame.concat(
98 Components.ShortcutsScreen.SourcesPanelShortcuts.PrevCallFrame);
99 section.addRelatedKeys(nextAndPrevFrameKeys, Common.UIString('Next/previous call frame'));
100
101 section.addAlternateKeys(
102 Components.ShortcutsScreen.SourcesPanelShortcuts.EvaluateSelectionInCons ole,
103 Common.UIString('Evaluate selection in console'));
104 section.addAlternateKeys(
105 Components.ShortcutsScreen.SourcesPanelShortcuts.AddSelectionToWatch,
106 Common.UIString('Add selection to watch'));
107 section.addAlternateKeys(
108 Components.ShortcutsScreen.SourcesPanelShortcuts.ToggleBreakpoint, Commo n.UIString('Toggle breakpoint'));
109 section.addAlternateKeys(
110 UI.shortcutRegistry.shortcutDescriptorsForAction('debugger.toggle-breakp oints-active'),
111 Common.UIString('Toggle all breakpoints'));
112
113 // Editing
114 section = Components.shortcutsScreen.section(Common.UIString('Text Editor')) ;
115 section.addAlternateKeys(
116 Components.ShortcutsScreen.SourcesPanelShortcuts.GoToMember, Common.UISt ring('Go to member'));
117 section.addAlternateKeys(
118 Components.ShortcutsScreen.SourcesPanelShortcuts.ToggleAutocompletion, C ommon.UIString('Autocompletion'));
119 section.addAlternateKeys(Components.ShortcutsScreen.SourcesPanelShortcuts.Go ToLine, Common.UIString('Go to line'));
120 section.addAlternateKeys(
121 Components.ShortcutsScreen.SourcesPanelShortcuts.JumpToPreviousLocation,
122 Common.UIString('Jump to previous editing location'));
123 section.addAlternateKeys(
124 Components.ShortcutsScreen.SourcesPanelShortcuts.JumpToNextLocation,
125 Common.UIString('Jump to next editing location'));
126 section.addAlternateKeys(
127 Components.ShortcutsScreen.SourcesPanelShortcuts.ToggleComment, Common.U IString('Toggle comment'));
128 section.addAlternateKeys(
129 Components.ShortcutsScreen.SourcesPanelShortcuts.IncreaseCSSUnitByOne,
130 Common.UIString('Increment CSS unit by 1'));
131 section.addAlternateKeys(
132 Components.ShortcutsScreen.SourcesPanelShortcuts.DecreaseCSSUnitByOne,
133 Common.UIString('Decrement CSS unit by 1'));
134 section.addAlternateKeys(
135 Components.ShortcutsScreen.SourcesPanelShortcuts.IncreaseCSSUnitByTen,
136 Common.UIString('Increment CSS unit by 10'));
137 section.addAlternateKeys(
138 Components.ShortcutsScreen.SourcesPanelShortcuts.DecreaseCSSUnitByTen,
139 Common.UIString('Decrement CSS unit by 10'));
140 section.addAlternateKeys(
141 Components.ShortcutsScreen.SourcesPanelShortcuts.SelectNextOccurrence,
142 Common.UIString('Select next occurrence'));
143 section.addAlternateKeys(Components.ShortcutsScreen.SourcesPanelShortcuts.So ftUndo, Common.UIString('Soft undo'));
144 section.addAlternateKeys(
145 Components.ShortcutsScreen.SourcesPanelShortcuts.GotoMatchingBracket,
146 Common.UIString('Go to matching bracket'));
147 section.addAlternateKeys(
148 Components.ShortcutsScreen.SourcesPanelShortcuts.CloseEditorTab, Common. UIString('Close editor tab'));
149 section.addAlternateKeys(
150 UI.shortcutRegistry.shortcutDescriptorsForAction('sources.switch-file'),
151 Common.UIString('Switch between files with the same name and different e xtensions.'));
152
153 // Timeline panel
154 section = Components.shortcutsScreen.section(Common.UIString('Timeline Panel '));
155 section.addAlternateKeys(
156 UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.toggle-record ing'),
157 Common.UIString('Start/stop recording'));
158 section.addAlternateKeys(
159 UI.shortcutRegistry.shortcutDescriptorsForAction('main.reload'), Common. UIString('Record page reload'));
160 section.addAlternateKeys(
161 UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.save-to-file' ), Common.UIString('Save profile'));
162 section.addAlternateKeys(
163 UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.load-from-fil e'), Common.UIString('Load profile'));
164 section.addRelatedKeys(
165 UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.jump-to-previ ous-frame')
166 .concat(UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.j ump-to-next-frame')),
167 Common.UIString('Jump to previous/next frame'));
168
169 // Profiles panel
170 section = Components.shortcutsScreen.section(Common.UIString('Profiles Panel '));
171 section.addAlternateKeys(
172 UI.shortcutRegistry.shortcutDescriptorsForAction('profiler.toggle-record ing'),
173 Common.UIString('Start/stop recording'));
174
175 // Layers panel
176 section = Components.shortcutsScreen.section(Common.UIString('Layers Panel') );
177 section.addAlternateKeys(Components.ShortcutsScreen.LayersPanelShortcuts.Res etView, Common.UIString('Reset view'));
178 section.addAlternateKeys(
179 Components.ShortcutsScreen.LayersPanelShortcuts.PanMode, Common.UIString ('Switch to pan mode'));
180 section.addAlternateKeys(
181 Components.ShortcutsScreen.LayersPanelShortcuts.RotateMode, Common.UIStr ing('Switch to rotate mode'));
182 section.addAlternateKeys(
183 Components.ShortcutsScreen.LayersPanelShortcuts.TogglePanRotate,
184 Common.UIString('Temporarily toggle pan/rotate mode while held'));
185 section.addAlternateKeys(Components.ShortcutsScreen.LayersPanelShortcuts.Zoo mIn, Common.UIString('Zoom in'));
186 section.addAlternateKeys(Components.ShortcutsScreen.LayersPanelShortcuts.Zoo mOut, Common.UIString('Zoom out'));
187 section.addRelatedKeys(
188 Components.ShortcutsScreen.LayersPanelShortcuts.Up.concat(Components.Sho rtcutsScreen.LayersPanelShortcuts.Down),
189 Common.UIString('Pan or rotate up/down'));
190 section.addRelatedKeys(
191 Components.ShortcutsScreen.LayersPanelShortcuts.Left.concat(
192 Components.ShortcutsScreen.LayersPanelShortcuts.Right),
193 Common.UIString('Pan or rotate left/right'));
194 }
195
196 /**
197 * @param {string} name
198 * @return {!Components.ShortcutsSection}
199 */
200 section(name) {
201 var section = this._sections[name];
202 if (!section)
203 this._sections[name] = section = new Components.ShortcutsSection(name);
204 return section;
205 }
206
207 /**
208 * @return {!UI.Widget}
209 */
210 createShortcutsTabView() {
211 var orderedSections = [];
212 for (var section in this._sections)
213 orderedSections.push(this._sections[section]);
214 function compareSections(a, b) {
215 return a.order - b.order;
216 }
217 orderedSections.sort(compareSections);
218
219 var widget = new UI.Widget();
220
221 widget.element.className = 'settings-tab-container'; // Override
222 widget.element.createChild('header').createChild('h3').createTextChild(Commo n.UIString('Shortcuts'));
223 var scrollPane = widget.element.createChild('div', 'help-container-wrapper') ;
224 var container = scrollPane.createChild('div');
225 container.className = 'help-content help-container';
226 for (var i = 0; i < orderedSections.length; ++i)
227 orderedSections[i].renderSection(container);
228
229 var note = scrollPane.createChild('p', 'help-footnote');
230 note.appendChild(UI.createDocumentationLink(
231 'iterate/inspect-styles/shortcuts', Common.UIString('Full list of DevToo ls keyboard shortcuts and gestures')));
232
233 return widget;
234 }
235 };
236
237 /**
238 * We cannot initialize it here as localized strings are not loaded yet.
239 * @type {!Components.ShortcutsScreen}
240 */
241 Components.shortcutsScreen;
242
243 /**
244 * @unrestricted
245 */
246 Components.ShortcutsSection = class {
247 /**
248 * @param {string} name
249 */
250 constructor(name) {
251 this.name = name;
252 this._lines = /** @type {!Array.<!{key: !Node, text: string}>} */ ([]);
253 this.order = ++Components.ShortcutsSection._sequenceNumber;
254 }
255
256 /**
257 * @param {!UI.KeyboardShortcut.Descriptor} key
258 * @param {string} description
259 */
260 addKey(key, description) {
261 this._addLine(this._renderKey(key), description);
262 }
263
264 /**
265 * @param {!Array.<!UI.KeyboardShortcut.Descriptor>} keys
266 * @param {string} description
267 */
268 addRelatedKeys(keys, description) {
269 this._addLine(this._renderSequence(keys, '/'), description);
270 }
271
272 /**
273 * @param {!Array.<!UI.KeyboardShortcut.Descriptor>} keys
274 * @param {string} description
275 */
276 addAlternateKeys(keys, description) {
277 this._addLine(this._renderSequence(keys, Common.UIString('or')), description );
278 }
279
280 /**
281 * @param {!Node} keyElement
282 * @param {string} description
283 */
284 _addLine(keyElement, description) {
285 this._lines.push({key: keyElement, text: description});
286 }
287
288 /**
289 * @param {!Element} container
290 */
291 renderSection(container) {
292 var parent = container.createChild('div', 'help-block');
293
294 var headLine = parent.createChild('div', 'help-line');
295 headLine.createChild('div', 'help-key-cell');
296 headLine.createChild('div', 'help-section-title help-cell').textContent = th is.name;
297
298 for (var i = 0; i < this._lines.length; ++i) {
299 var line = parent.createChild('div', 'help-line');
300 var keyCell = line.createChild('div', 'help-key-cell');
301 keyCell.appendChild(this._lines[i].key);
302 keyCell.appendChild(this._createSpan('help-key-delimiter', ':'));
303 line.createChild('div', 'help-cell').textContent = this._lines[i].text;
304 }
305 }
306
307 /**
308 * @param {!Array.<!UI.KeyboardShortcut.Descriptor>} sequence
309 * @param {string} delimiter
310 * @return {!Node}
311 */
312 _renderSequence(sequence, delimiter) {
313 var delimiterSpan = this._createSpan('help-key-delimiter', delimiter);
314 return this._joinNodes(sequence.map(this._renderKey.bind(this)), delimiterSp an);
315 }
316
317 /**
318 * @param {!UI.KeyboardShortcut.Descriptor} key
319 * @return {!Node}
320 */
321 _renderKey(key) {
322 var keyName = key.name;
323 var plus = this._createSpan('help-combine-keys', '+');
324 return this._joinNodes(keyName.split(' + ').map(this._createSpan.bind(this, 'help-key')), plus);
325 }
326
327 /**
328 * @param {string} className
329 * @param {string} textContent
330 * @return {!Element}
331 */
332 _createSpan(className, textContent) {
333 var node = createElement('span');
334 node.className = className;
335 node.textContent = textContent;
336 return node;
337 }
338
339 /**
340 * @param {!Array.<!Element>} nodes
341 * @param {!Element} delimiter
342 * @return {!Node}
343 */
344 _joinNodes(nodes, delimiter) {
345 var result = createDocumentFragment();
346 for (var i = 0; i < nodes.length; ++i) {
347 if (i > 0)
348 result.appendChild(delimiter.cloneNode(true));
349 result.appendChild(nodes[i]);
350 }
351 return result;
352 }
353 };
354
355 Components.ShortcutsSection._sequenceNumber = 0;
356
357
358 Components.ShortcutsScreen.ElementsPanelShortcuts = {
359 NavigateUp: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Up)],
360
361 NavigateDown: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Dow n)],
362
363 Expand: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Right)],
364
365 Collapse: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Left)],
366
367 EditAttribute: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.En ter)],
368
369 HideElement: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.H)],
370
371 ToggleEditAsHTML: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys .F2)],
372
373 NextProperty: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Tab )],
374
375 PreviousProperty:
376 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Tab, UI.Keybo ardShortcut.Modifiers.Shift)],
377
378 IncrementValue: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.U p)],
379
380 DecrementValue: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.D own)],
381
382 IncrementBy10: [
383 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageUp),
384 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Up, UI.KeyboardS hortcut.Modifiers.Shift)
385 ],
386
387 DecrementBy10: [
388 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageDown),
389 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Down, UI.Keyboar dShortcut.Modifiers.Shift)
390 ],
391
392 IncrementBy100:
393 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageUp, UI.Ke yboardShortcut.Modifiers.Shift)],
394
395 DecrementBy100:
396 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageDown, UI. KeyboardShortcut.Modifiers.Shift)],
397
398 IncrementBy01: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Up , UI.KeyboardShortcut.Modifiers.Alt)],
399
400 DecrementBy01: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Do wn, UI.KeyboardShortcut.Modifiers.Alt)]
401 };
402
403 Components.ShortcutsScreen.SourcesPanelShortcuts = {
404 SelectNextOccurrence: [UI.KeyboardShortcut.makeDescriptor('d', UI.KeyboardShor tcut.Modifiers.CtrlOrMeta)],
405
406 SoftUndo: [UI.KeyboardShortcut.makeDescriptor('u', UI.KeyboardShortcut.Modifie rs.CtrlOrMeta)],
407
408 GotoMatchingBracket: [UI.KeyboardShortcut.makeDescriptor('m', UI.KeyboardShort cut.Modifiers.Ctrl)],
409
410 ToggleAutocompletion:
411 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Space, UI.Key boardShortcut.Modifiers.Ctrl)],
412
413 IncreaseCSSUnitByOne:
414 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Up, UI.Keyboa rdShortcut.Modifiers.Alt)],
415
416 DecreaseCSSUnitByOne:
417 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Down, UI.Keyb oardShortcut.Modifiers.Alt)],
418
419 IncreaseCSSUnitByTen:
420 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageUp, UI.Ke yboardShortcut.Modifiers.Alt)],
421
422 DecreaseCSSUnitByTen:
423 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.PageDown, UI. KeyboardShortcut.Modifiers.Alt)],
424 EvaluateSelectionInConsole: [UI.KeyboardShortcut.makeDescriptor(
425 'e', UI.KeyboardShortcut.Modifiers.Shift | UI.KeyboardShortcut.Modifiers.C trl)],
426
427 AddSelectionToWatch: [UI.KeyboardShortcut.makeDescriptor(
428 'a', UI.KeyboardShortcut.Modifiers.Shift | UI.KeyboardShortcut.Modifiers.C trl)],
429
430 GoToMember: [UI.KeyboardShortcut.makeDescriptor(
431 'o', UI.KeyboardShortcut.Modifiers.CtrlOrMeta | UI.KeyboardShortcut.Modifi ers.Shift)],
432
433 GoToLine: [UI.KeyboardShortcut.makeDescriptor('g', UI.KeyboardShortcut.Modifie rs.Ctrl)],
434
435 ToggleBreakpoint: [UI.KeyboardShortcut.makeDescriptor('b', UI.KeyboardShortcut .Modifiers.CtrlOrMeta)],
436
437 NextCallFrame:
438 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Period, UI.Ke yboardShortcut.Modifiers.Ctrl)],
439
440 PrevCallFrame:
441 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Comma, UI.Key boardShortcut.Modifiers.Ctrl)],
442
443 ToggleComment:
444 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Slash, UI.Key boardShortcut.Modifiers.CtrlOrMeta)],
445
446 JumpToPreviousLocation:
447 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Minus, UI.Key boardShortcut.Modifiers.Alt)],
448
449 JumpToNextLocation:
450 [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Plus, UI.Keyb oardShortcut.Modifiers.Alt)],
451
452 CloseEditorTab: [UI.KeyboardShortcut.makeDescriptor('w', UI.KeyboardShortcut.M odifiers.Alt)],
453
454 Save: [UI.KeyboardShortcut.makeDescriptor('s', UI.KeyboardShortcut.Modifiers.C trlOrMeta)],
455
456 SaveAll: [UI.KeyboardShortcut.makeDescriptor(
457 's', UI.KeyboardShortcut.Modifiers.CtrlOrMeta | UI.KeyboardShortcut.Modifi ers.ShiftOrOption)],
458 };
459
460 Components.ShortcutsScreen.LayersPanelShortcuts = {
461 ResetView: [UI.KeyboardShortcut.makeDescriptor('0')],
462
463 PanMode: [UI.KeyboardShortcut.makeDescriptor('x')],
464
465 RotateMode: [UI.KeyboardShortcut.makeDescriptor('v')],
466
467 TogglePanRotate: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys. Shift)],
468
469 ZoomIn: [
470 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Plus, UI.Keyboar dShortcut.Modifiers.Shift),
471 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.NumpadPlus)
472 ],
473
474 ZoomOut: [
475 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Minus, UI.Keyboa rdShortcut.Modifiers.Shift),
476 UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.NumpadMinus)
477 ],
478
479 Up: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Up), UI.Keybo ardShortcut.makeDescriptor('w')],
480
481 Down: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Down), UI.K eyboardShortcut.makeDescriptor('s')],
482
483 Left: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Left), UI.K eyboardShortcut.makeDescriptor('a')],
484
485 Right: [UI.KeyboardShortcut.makeDescriptor(UI.KeyboardShortcut.Keys.Right), UI .KeyboardShortcut.makeDescriptor('d')]
486 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698