|
@@ -24,7 +24,8 @@ Sidebar.Controls = function ( editor ) {
|
|
|
var controlNames = [
|
|
|
'translate',
|
|
|
'rotate',
|
|
|
- 'scale'
|
|
|
+ 'scale',
|
|
|
+ 'undo'
|
|
|
];
|
|
|
|
|
|
for ( var i = 0; i < controlNames.length; i ++ ) {
|
|
@@ -105,41 +106,42 @@ Sidebar.Controls = function ( editor ) {
|
|
|
|
|
|
break;
|
|
|
|
|
|
- case 'z': // Register Ctrl/Command-Z for Undo and Ctrl/Command-Shift-Z for Redo
|
|
|
- case 'Z': // Safari and Firefox register lowercase z when Ctrl-Shift-Z is pressed
|
|
|
+ case editor.config.getKey( 'controls/translate' ): // Translation transform mode
|
|
|
|
|
|
- if ( IS_MAC ? event.metaKey : event.ctrlKey ) {
|
|
|
+ editor.signals.transformModeChanged.dispatch( 'translate' );
|
|
|
|
|
|
- if ( event.shiftKey ) {
|
|
|
+ break;
|
|
|
|
|
|
- editor.redo();
|
|
|
+ case editor.config.getKey( 'controls/rotate' ): // Rotation transform mode
|
|
|
|
|
|
- } else {
|
|
|
+ editor.signals.transformModeChanged.dispatch( 'rotate' );
|
|
|
|
|
|
- event.preventDefault(); // Prevent Safari reopen last tab
|
|
|
- editor.undo();
|
|
|
+ break;
|
|
|
|
|
|
- }
|
|
|
+ case editor.config.getKey( 'controls/scale' ): // Scaling transform mode
|
|
|
|
|
|
- }
|
|
|
+ editor.signals.transformModeChanged.dispatch( 'scale' );
|
|
|
|
|
|
break;
|
|
|
|
|
|
- case editor.config.getKey( 'controls/translate' ): // Translation transform mode
|
|
|
+ case editor.config.getKey( 'controls/undo' ).toLowerCase(): // Register Ctrl/Command-Z for Undo and Ctrl/Command-Shift-Z for Redo
|
|
|
+ case editor.config.getKey( 'controls/undo' ).toUpperCase(): // Safari and Firefox register lowercase z when Ctrl-Shift-Z is pressed
|
|
|
|
|
|
- editor.signals.transformModeChanged.dispatch( 'translate' );
|
|
|
+ if ( IS_MAC ? event.metaKey : event.ctrlKey ) {
|
|
|
|
|
|
- break;
|
|
|
+ event.preventDefault(); // Prevent browser specific hotkeys
|
|
|
|
|
|
- case editor.config.getKey( 'controls/rotate' ): // Rotation transform mode
|
|
|
+ if ( event.shiftKey ) {
|
|
|
|
|
|
- editor.signals.transformModeChanged.dispatch( 'rotate' );
|
|
|
+ editor.redo();
|
|
|
|
|
|
- break;
|
|
|
+ } else {
|
|
|
|
|
|
- case editor.config.getKey( 'controls/scale' ): // Scaling transform mode
|
|
|
+ editor.undo();
|
|
|
|
|
|
- editor.signals.transformModeChanged.dispatch( 'scale' );
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
break;
|
|
|
|