jenkins-bot has submitted this change and it was merged.

Change subject: Add keyboard shortcuts for formatting tools
......................................................................


Add keyboard shortcuts for formatting tools

Objective:
* Add keyboard shortcuts for paragraph, heading 1-6 and pre-formatted

Testing:
* Using [control+num] triggers appears to work well on Chrome, Safari, Firefox 
and Opera on Mac

Changes:
ve.init.Target.js, ve.init.mw.ViewPageTarget.js
* Add formatting commands to targets
ve.ui.MWFormatTool.js
* Add mediawiki specific format tools and commands
ve.ui.CommandRegistry.js
* Add commands for all formatting tools
ve.ui.TriggerRegistry.js
* Add triggers for formatting tools

Bug: 33512
Change-Id: I5d6176eff50aa3cea72aed226ca06512629412d4
---
M modules/ve-mw/ui/tools/ve.ui.MWFormatTool.js
M modules/ve/init/ve.init.Target.js
M modules/ve/ui/ve.ui.CommandRegistry.js
M modules/ve/ui/ve.ui.TriggerRegistry.js
4 files changed, 72 insertions(+), 43 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-mw/ui/tools/ve.ui.MWFormatTool.js 
b/modules/ve-mw/ui/tools/ve.ui.MWFormatTool.js
index 580703e..673e49a 100644
--- a/modules/ve-mw/ui/tools/ve.ui.MWFormatTool.js
+++ b/modules/ve-mw/ui/tools/ve.ui.MWFormatTool.js
@@ -21,6 +21,7 @@
 ve.ui.MWHeading1FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading1';
 ve.ui.MWHeading1FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 1 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading1FormatTool );
+ve.ui.commandRegistry.register( 'heading1', 'format', 'convert', 'mwHeading', 
{ 'level': 1 } );
 
 /**
  * MediaWiki UserInterface heading 2 tool.
@@ -38,6 +39,7 @@
 ve.ui.MWHeading2FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading2';
 ve.ui.MWHeading2FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 2 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading2FormatTool );
+ve.ui.commandRegistry.register( 'heading2', 'format', 'convert', 'mwHeading', 
{ 'level': 2 } );
 
 /**
  * MediaWiki UserInterface heading 3 tool.
@@ -55,6 +57,7 @@
 ve.ui.MWHeading3FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading3';
 ve.ui.MWHeading3FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 3 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading3FormatTool );
+ve.ui.commandRegistry.register( 'heading3', 'format', 'convert', 'mwHeading', 
{ 'level': 3 } );
 
 /**
  * MediaWiki UserInterface heading 4 tool.
@@ -72,6 +75,7 @@
 ve.ui.MWHeading4FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading4';
 ve.ui.MWHeading4FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 4 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading4FormatTool );
+ve.ui.commandRegistry.register( 'heading4', 'format', 'convert', 'mwHeading', 
{ 'level': 4 } );
 
 /**
  * MediaWiki UserInterface heading 5 tool.
@@ -89,6 +93,7 @@
 ve.ui.MWHeading5FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading5';
 ve.ui.MWHeading5FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 5 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading5FormatTool );
+ve.ui.commandRegistry.register( 'heading5', 'format', 'convert', 'mwHeading', 
{ 'level': 5 } );
 
 /**
  * MediaWiki UserInterface heading 6 tool.
@@ -106,6 +111,7 @@
 ve.ui.MWHeading6FormatTool.static.titleMessage = 
'visualeditor-formatdropdown-format-mw-heading6';
 ve.ui.MWHeading6FormatTool.static.format = { 'type' : 'mwHeading', 
'attributes': { 'level': 6 } };
 ve.ui.toolFactory.register( ve.ui.MWHeading6FormatTool );
+ve.ui.commandRegistry.register( 'heading6', 'format', 'convert', 'mwHeading', 
{ 'level': 6 } );
 
 /**
  * MediaWiki UserInterface preformatted tool.
@@ -122,3 +128,4 @@
 ve.inheritClass( ve.ui.MWPreformattedFormatTool, ve.ui.PreformattedFormatTool 
);
 ve.ui.MWPreformattedFormatTool.static.format = { 'type' : 'mwPreformatted' };
 ve.ui.toolFactory.register( ve.ui.MWPreformattedFormatTool );
+ve.ui.commandRegistry.register( 'preformatted', 'format', 'convert', 
'mwPreformatted' );
diff --git a/modules/ve/init/ve.init.Target.js 
b/modules/ve/init/ve.init.Target.js
index 091f372..540103d 100644
--- a/modules/ve/init/ve.init.Target.js
+++ b/modules/ve/init/ve.init.Target.js
@@ -44,5 +44,20 @@
 ];
 
 ve.init.Target.static.surfaceCommands = [
-       'undo', 'redo', 'bold', 'italic', 'link', 'clear', 'indent', 'outdent'
+       'undo',
+       'redo',
+       'bold',
+       'italic',
+       'link',
+       'clear',
+       'indent',
+       'outdent',
+       'paragraph',
+       'heading1',
+       'heading2',
+       'heading3',
+       'heading4',
+       'heading5',
+       'heading6',
+       'preformatted'
 ];
diff --git a/modules/ve/ui/ve.ui.CommandRegistry.js 
b/modules/ve/ui/ve.ui.CommandRegistry.js
index 71c7deb..58d3500 100644
--- a/modules/ve/ui/ve.ui.CommandRegistry.js
+++ b/modules/ve/ui/ve.ui.CommandRegistry.js
@@ -53,45 +53,27 @@
 
 ve.ui.commandRegistry = new ve.ui.CommandRegistry();
 
-ve.ui.commandRegistry.register(
-       'bold', 'annotation', 'toggle', 'textStyle/bold'
-);
-ve.ui.commandRegistry.register(
-       'italic', 'annotation', 'toggle', 'textStyle/italic'
-);
-ve.ui.commandRegistry.register(
-       'code', 'annotation', 'toggle', 'textStyle/code'
-);
-ve.ui.commandRegistry.register(
-       'strikethrough', 'annotation', 'toggle', 'textStyle/strike'
-);
-ve.ui.commandRegistry.register(
-       'underline', 'annotation', 'toggle', 'textStyle/underline'
-);
-ve.ui.commandRegistry.register(
-       'subscript', 'annotation', 'toggle', 'textStyle/subscript'
-);
-ve.ui.commandRegistry.register(
-       'superscript', 'annotation', 'toggle', 'textStyle/superscript'
-);
-ve.ui.commandRegistry.register(
-       'clear', 'annotation', 'clearAll'
-);
-ve.ui.commandRegistry.register(
-       'indent', 'indentation', 'increase'
-);
-ve.ui.commandRegistry.register(
-       'outdent', 'indentation', 'decrease'
-);
-ve.ui.commandRegistry.register(
-       'link', 'inspector', 'open', 'link'
-);
-ve.ui.commandRegistry.register(
-       'language', 'inspector', 'open', 'language'
-);
-ve.ui.commandRegistry.register(
-       'redo', 'history', 'redo'
-);
-ve.ui.commandRegistry.register(
-       'undo', 'history', 'undo'
-);
+/* Registrations */
+
+ve.ui.commandRegistry.register( 'bold', 'annotation', 'toggle', 
'textStyle/bold' );
+ve.ui.commandRegistry.register( 'italic', 'annotation', 'toggle', 
'textStyle/italic' );
+ve.ui.commandRegistry.register( 'code', 'annotation', 'toggle', 
'textStyle/code' );
+ve.ui.commandRegistry.register( 'strikethrough', 'annotation', 'toggle', 
'textStyle/strike' );
+ve.ui.commandRegistry.register( 'underline', 'annotation', 'toggle', 
'textStyle/underline' );
+ve.ui.commandRegistry.register( 'subscript', 'annotation', 'toggle', 
'textStyle/subscript' );
+ve.ui.commandRegistry.register( 'superscript', 'annotation', 'toggle', 
'textStyle/superscript' );
+ve.ui.commandRegistry.register( 'clear', 'annotation', 'clearAll' );
+ve.ui.commandRegistry.register( 'indent', 'indentation', 'increase' );
+ve.ui.commandRegistry.register( 'outdent', 'indentation', 'decrease' );
+ve.ui.commandRegistry.register( 'link', 'inspector', 'open', 'link' );
+ve.ui.commandRegistry.register( 'language', 'inspector', 'open', 'language' );
+ve.ui.commandRegistry.register( 'redo', 'history', 'redo' );
+ve.ui.commandRegistry.register( 'undo', 'history', 'undo' );
+ve.ui.commandRegistry.register( 'paragraph', 'format', 'convert', 'paragraph' 
);
+ve.ui.commandRegistry.register( 'heading1', 'format', 'convert', 'heading', { 
'level': 1 } );
+ve.ui.commandRegistry.register( 'heading2', 'format', 'convert', 'heading', { 
'level': 2 } );
+ve.ui.commandRegistry.register( 'heading3', 'format', 'convert', 'heading', { 
'level': 3 } );
+ve.ui.commandRegistry.register( 'heading4', 'format', 'convert', 'heading', { 
'level': 4 } );
+ve.ui.commandRegistry.register( 'heading5', 'format', 'convert', 'heading', { 
'level': 5 } );
+ve.ui.commandRegistry.register( 'heading6', 'format', 'convert', 'heading', { 
'level': 6 } );
+ve.ui.commandRegistry.register( 'preformatted', 'format', 'convert', 
'preformatted' );
diff --git a/modules/ve/ui/ve.ui.TriggerRegistry.js 
b/modules/ve/ui/ve.ui.TriggerRegistry.js
index b926df7..92e9764 100644
--- a/modules/ve/ui/ve.ui.TriggerRegistry.js
+++ b/modules/ve/ui/ve.ui.TriggerRegistry.js
@@ -84,3 +84,28 @@
 ve.ui.triggerRegistry.register(
        'undo', { 'mac': new ve.ui.Trigger( 'cmd+z' ), 'pc': new ve.ui.Trigger( 
'ctrl+z' ) }
 );
+// Ctrl+0-7 below are not mapped to Cmd+0-7 on Mac because Chrome reserves 
those for switching tabs
+ve.ui.triggerRegistry.register(
+       'paragraph', { 'mac': new ve.ui.Trigger( 'ctrl+0' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+0' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading1', { 'mac': new ve.ui.Trigger( 'ctrl+1' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+1' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading2', { 'mac': new ve.ui.Trigger( 'ctrl+2' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+2' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading3', { 'mac': new ve.ui.Trigger( 'ctrl+3' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+3' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading4', { 'mac': new ve.ui.Trigger( 'ctrl+4' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+4' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading5', { 'mac': new ve.ui.Trigger( 'ctrl+5' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+5' ) }
+);
+ve.ui.triggerRegistry.register(
+       'heading6', { 'mac': new ve.ui.Trigger( 'ctrl+6' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+6' ) }
+);
+ve.ui.triggerRegistry.register(
+       'preformatted', { 'mac': new ve.ui.Trigger( 'ctrl+7' ), 'pc': new 
ve.ui.Trigger ( 'ctrl+7' ) }
+);

-- 
To view, visit https://gerrit.wikimedia.org/r/81605
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5d6176eff50aa3cea72aed226ca06512629412d4
Gerrit-PatchSet: 9
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Trevor Parscal <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to