TinyMCE: update the keyboard shortcuts: Alt + letter for Firefox and WebKit, Alt + Shift + letter for IE and Opera, add shortcut for DFW (Alt + W), see #21214, fixes #21197, fixes #17992

git-svn-id: http://core.svn.wordpress.org/trunk@21266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
azaozz 2012-07-13 00:26:49 +00:00
parent ff55b09c92
commit 544b4a1a25
6 changed files with 133 additions and 133 deletions

View File

@ -170,7 +170,7 @@ autosave:{
unload_msg:"The changes you made will be lost if you navigate away from this page."
},
fullscreen:{
desc:"Toggle fullscreen mode (Alt + Shift + G)"
desc:"Toggle fullscreen mode (Alt + G)"
},
media:{
desc:"Insert / edit embedded media",
@ -186,7 +186,7 @@ visualchars:{
desc:"Visual control characters on/off."
},
spellchecker:{
desc:"Toggle spellchecker (Alt + Shift + N)",
desc:"Toggle spellchecker (Alt + N)",
menu:"Spellchecker settings",
ignore_word:"Ignore word",
ignore_words:"Ignore all",
@ -243,20 +243,20 @@ dd:"Definition description",
bold_desc:"Bold (Ctrl + B)",
italic_desc:"Italic (Ctrl + I)",
underline_desc:"Underline",
striketrough_desc:"Strikethrough (Alt + Shift + D)",
justifyleft_desc:"Align Left (Alt + Shift + L)",
justifycenter_desc:"Align Center (Alt + Shift + C)",
justifyright_desc:"Align Right (Alt + Shift + R)",
justifyfull_desc:"Align Full (Alt + Shift + J)",
bullist_desc:"Unordered list (Alt + Shift + U)",
numlist_desc:"Ordered list (Alt + Shift + O)",
striketrough_desc:"Strikethrough (Alt + D)",
justifyleft_desc:"Align Left (Alt + L)",
justifycenter_desc:"Align Center (Alt + C)",
justifyright_desc:"Align Right (Alt + R)",
justifyfull_desc:"Align Full (Alt + J)",
bullist_desc:"Unordered list (Alt + U)",
numlist_desc:"Ordered list (Alt + O)",
outdent_desc:"Outdent",
indent_desc:"Indent",
undo_desc:"Undo (Ctrl + Z)",
redo_desc:"Redo (Ctrl + Y)",
link_desc:"Insert/edit link (Alt + Shift + A)",
unlink_desc:"Unlink (Alt + Shift + S)",
image_desc:"Insert/edit image (Alt + Shift + M)",
link_desc:"Insert/edit link (Alt + A)",
unlink_desc:"Unlink (Alt + S)",
image_desc:"Insert/edit image (Alt + M)",
cleanup_desc:"Cleanup messy code",
code_desc:"Edit HTML Source",
sub_desc:"Subscript",
@ -274,7 +274,7 @@ paste_desc:"Paste",
image_props_desc:"Image properties",
newdocument_desc:"New document",
help_desc:"Help",
blockquote_desc:"Blockquote (Alt + Shift + Q)",
blockquote_desc:"Blockquote (Alt + Q)",
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
path:"Path",
newdocument:"Are you sure you want to clear all contents?",
@ -452,10 +452,10 @@ source:"Source"
});
tinyMCE.addI18n("en.wordpress",{
wp_adv_desc:"Show/Hide Kitchen Sink (Alt + Shift + Z)",
wp_more_desc:"Insert More Tag (Alt + Shift + T)",
wp_page_desc:"Insert Page break (Alt + Shift + P)",
wp_help_desc:"Help (Alt + Shift + H)",
wp_adv_desc:"Show/Hide Kitchen Sink (Alt + Z)",
wp_more_desc:"Insert More Tag (Alt + T)",
wp_page_desc:"Insert Page break (Alt + P)",
wp_help_desc:"Help (Alt + H)",
wp_more_alt:"More...",
wp_page_alt:"Next page...",
add_media:"Add Media",
@ -463,7 +463,8 @@ add_image:"Add an Image",
add_video:"Add Video",
add_audio:"Add Audio",
editgallery:"Edit Gallery",
delgallery:"Delete Gallery"
delgallery:"Delete Gallery",
wp_fullscreen_desc:"Distraction Free Writing mode (Alt + W)"
});
tinyMCE.addI18n("en.wpeditimage",{

View File

@ -204,7 +204,7 @@ function wp_mce_translation() {
),
'fullscreen' => array(
'desc' => __('Toggle fullscreen mode (Alt + Shift + G)')
'desc' => __('Toggle fullscreen mode (Alt + G)')
),
'media' => array(
@ -225,7 +225,7 @@ function wp_mce_translation() {
),
'spellchecker' => array(
'desc' => __('Toggle spellchecker (Alt + Shift + N)'),
'desc' => __('Toggle spellchecker (Alt + N)'),
'menu' => __('Spellchecker settings'),
'ignore_word' => __('Ignore word'),
'ignore_words' => __('Ignore all'),
@ -286,20 +286,20 @@ function wp_mce_translation() {
'bold_desc' => __('Bold (Ctrl + B)'),
'italic_desc' => __('Italic (Ctrl + I)'),
'underline_desc' => __('Underline'),
'striketrough_desc' => __('Strikethrough (Alt + Shift + D)'),
'justifyleft_desc' => __('Align Left (Alt + Shift + L)'),
'justifycenter_desc' => __('Align Center (Alt + Shift + C)'),
'justifyright_desc' => __('Align Right (Alt + Shift + R)'),
'justifyfull_desc' => __('Align Full (Alt + Shift + J)'),
'bullist_desc' => __('Unordered list (Alt + Shift + U)'),
'numlist_desc' => __('Ordered list (Alt + Shift + O)'),
'striketrough_desc' => __('Strikethrough (Alt + D)'),
'justifyleft_desc' => __('Align Left (Alt + L)'),
'justifycenter_desc' => __('Align Center (Alt + C)'),
'justifyright_desc' => __('Align Right (Alt + R)'),
'justifyfull_desc' => __('Align Full (Alt + J)'),
'bullist_desc' => __('Unordered list (Alt + U)'),
'numlist_desc' => __('Ordered list (Alt + O)'),
'outdent_desc' => __('Outdent'),
'indent_desc' => __('Indent'),
'undo_desc' => __('Undo (Ctrl + Z)'),
'redo_desc' => __('Redo (Ctrl + Y)'),
'link_desc' => __('Insert/edit link (Alt + Shift + A)'),
'unlink_desc' => __('Unlink (Alt + Shift + S)'),
'image_desc' => __('Insert/edit image (Alt + Shift + M)'),
'link_desc' => __('Insert/edit link (Alt + A)'),
'unlink_desc' => __('Unlink (Alt + S)'),
'image_desc' => __('Insert/edit image (Alt + M)'),
'cleanup_desc' => __('Cleanup messy code'),
'code_desc' => __('Edit HTML Source'),
'sub_desc' => __('Subscript'),
@ -317,7 +317,7 @@ function wp_mce_translation() {
'image_props_desc' => __('Image properties'),
'newdocument_desc' => __('New document'),
'help_desc' => __('Help'),
'blockquote_desc' => __('Blockquote (Alt + Shift + Q)'),
'blockquote_desc' => __('Blockquote (Alt + Q)'),
'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
'path' => __('Path'),
'newdocument' => __('Are you sure you want to clear all contents?'),
@ -495,10 +495,10 @@ function wp_mce_translation() {
);
$wordpress = array(
'wp_adv_desc' => __('Show/Hide Kitchen Sink (Alt + Shift + Z)'),
'wp_more_desc' => __('Insert More Tag (Alt + Shift + T)'),
'wp_page_desc' => __('Insert Page break (Alt + Shift + P)'),
'wp_help_desc' => __('Help (Alt + Shift + H)'),
'wp_adv_desc' => __('Show/Hide Kitchen Sink (Alt + Z)'),
'wp_more_desc' => __('Insert More Tag (Alt + T)'),
'wp_page_desc' => __('Insert Page break (Alt + P)'),
'wp_help_desc' => __('Help (Alt + H)'),
'wp_more_alt' => __('More...'),
'wp_page_alt' => __('Next page...'),
'add_media' => __('Add Media'),
@ -506,7 +506,8 @@ function wp_mce_translation() {
'add_video' => __('Add Video'),
'add_audio' => __('Add Audio'),
'editgallery' => __('Edit Gallery'),
'delgallery' => __('Delete Gallery')
'delgallery' => __('Delete Gallery'),
'wp_fullscreen_desc' => __('Distraction Free Writing mode (Alt + W)')
);
$wpeditimage = array(

View File

@ -9,7 +9,7 @@
mceTout : 0,
init : function(ed, url) {
var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML, closeOnClick;
var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML, closeOnClick, mod_key;
moreHTML = '<img src="' + url + '/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
@ -74,7 +74,6 @@
return;
tb_show('', link.href);
tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
});
// Register buttons
@ -250,30 +249,32 @@
t._handleMoreBreak(ed, url);
// Add custom shortcuts
ed.addShortcut('alt+shift+c', ed.getLang('justifycenter_desc'), 'JustifyCenter');
ed.addShortcut('alt+shift+r', ed.getLang('justifyright_desc'), 'JustifyRight');
ed.addShortcut('alt+shift+l', ed.getLang('justifyleft_desc'), 'JustifyLeft');
ed.addShortcut('alt+shift+j', ed.getLang('justifyfull_desc'), 'JustifyFull');
ed.addShortcut('alt+shift+q', ed.getLang('blockquote_desc'), 'mceBlockQuote');
ed.addShortcut('alt+shift+u', ed.getLang('bullist_desc'), 'InsertUnorderedList');
ed.addShortcut('alt+shift+o', ed.getLang('numlist_desc'), 'InsertOrderedList');
ed.addShortcut('alt+shift+d', ed.getLang('striketrough_desc'), 'Strikethrough');
ed.addShortcut('alt+shift+n', ed.getLang('spellchecker.desc'), 'mceSpellCheck');
ed.addShortcut('alt+shift+a', ed.getLang('link_desc'), 'mceLink');
ed.addShortcut('alt+shift+s', ed.getLang('unlink_desc'), 'unlink');
ed.addShortcut('alt+shift+m', ed.getLang('image_desc'), 'WP_Medialib');
ed.addShortcut('alt+shift+g', ed.getLang('fullscreen.desc'), 'mceFullScreen');
ed.addShortcut('alt+shift+z', ed.getLang('wp_adv_desc'), 'WP_Adv');
ed.addShortcut('alt+shift+h', ed.getLang('help_desc'), 'WP_Help');
ed.addShortcut('alt+shift+t', ed.getLang('wp_more_desc'), 'WP_More');
ed.addShortcut('alt+shift+p', ed.getLang('wp_page_desc'), 'WP_Page');
ed.addShortcut('ctrl+s', ed.getLang('save_desc'), function(){if('function'==typeof autosave)autosave();});
mod_key = 'alt';
if ( tinymce.isWebKit ) {
ed.addShortcut('alt+shift+b', ed.getLang('bold_desc'), 'Bold');
ed.addShortcut('alt+shift+i', ed.getLang('italic_desc'), 'Italic');
}
if ( tinymce.isIE || tinymce.isOpera )
mod_key = 'shift+alt';
ed.addShortcut(mod_key + '+c', 'justifycenter_desc', 'JustifyCenter');
ed.addShortcut(mod_key + '+r', 'justifyright_desc', 'JustifyRight');
ed.addShortcut(mod_key + '+l', 'justifyleft_desc', 'JustifyLeft');
ed.addShortcut(mod_key + '+j', 'justifyfull_desc', 'JustifyFull');
ed.addShortcut(mod_key + '+q', 'blockquote_desc', 'mceBlockQuote');
ed.addShortcut(mod_key + '+u', 'bullist_desc', 'InsertUnorderedList');
ed.addShortcut(mod_key + '+o', 'numlist_desc', 'InsertOrderedList');
ed.addShortcut(mod_key + '+n', 'spellchecker.desc', 'mceSpellCheck');
ed.addShortcut(mod_key + '+a', 'link_desc', 'WP_Link');
ed.addShortcut(mod_key + '+s', 'unlink_desc', 'unlink');
ed.addShortcut(mod_key + '+m', 'image_desc', 'WP_Medialib');
ed.addShortcut(mod_key + '+z', 'wordpress.wp_adv_desc', 'WP_Adv');
ed.addShortcut(mod_key + '+t', 'wordpress.wp_more_desc', 'WP_More');
ed.addShortcut(mod_key + '+d', 'striketrough_desc', 'Strikethrough');
ed.addShortcut(mod_key + '+h', 'help_desc', 'WP_Help');
ed.addShortcut(mod_key + '+p', 'wordpress.wp_page_desc', 'WP_Page');
ed.addShortcut(mod_key + '+w', 'wordpress.wp_fullscreen_desc', 'wpFullScreen');
ed.addShortcut(mod_key + '+g', 'fullscreen.desc', 'mceFullScreen');
ed.addShortcut('ctrl+s', 'save_desc', function(){if('function'==typeof autosave)autosave();});
// popup buttons for images and the gallery
ed.onInit.add(function(ed) {
tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) {
ed.plugins.wordpress._hideButtons();

View File

@ -93,13 +93,21 @@
}
});
ed.addCommand('wpFullScreen', function() {
if ( typeof(fullscreen) == 'undefined' )
return;
if ( 'wp_mce_fullscreen' == ed.id )
fullscreen.off();
else
fullscreen.on();
});
// Register buttons
if ( 'undefined' != fullscreen ) {
ed.addButton('wp_fullscreen', {
title : 'fullscreen.desc',
onclick : function(){ fullscreen.on(); }
});
}
ed.addButton('wp_fullscreen', {
title : 'wordpress.wp_fullscreen_desc',
cmd : 'wpFullScreen'
});
// END fullscreen
//----------------------------------------------------------------

View File

@ -28,12 +28,10 @@
// Register example button
ed.addButton('link', {
title : ed.getLang('advanced.link_desc'),
title : 'advanced.link_desc',
cmd : 'WP_Link'
});
ed.addShortcut('alt+shift+a', ed.getLang('advanced.link_desc'), 'WP_Link');
ed.onNodeChange.add(function(ed, cm, n, co) {
disabled = co && n.nodeName != 'A';
});
@ -57,4 +55,5 @@
// Register plugin
tinymce.PluginManager.add('wplink', tinymce.plugins.wpLink);
})();
})();

View File

@ -111,6 +111,8 @@ wp_admin_css( 'wp-admin', true );
}
.keys {
margin-bottom: 15px;
width: 100%;
border: 0 none;
}
.keys p {
display: inline-block;
@ -130,20 +132,10 @@ wp_admin_css( 'wp-admin', true );
#buttoncontainer a, #buttoncontainer a:hover {
border-bottom: 0px;
}
.mac,
.macos .win {
.macos .win,
.windows .mac {
display: none;
}
.macos span.mac {
display: inline;
}
.macwebkit tr.mac {
display: table-row;
}
</style>
<?php if ( is_rtl() ) : ?>
<style type="text/css">
@ -159,45 +151,12 @@ wp_admin_css( 'wp-admin', true );
td b { font-family: Tahoma, "Times New Roman", Times, serif }
</style>
<?php endif; ?>
<script type="text/javascript">
function d(id) { return document.getElementById(id); }
function flipTab(n) {
for (i=1;i<=4;i++) {
c = d('content'+i.toString());
t = d('tab'+i.toString());
if ( n == i ) {
c.className = '';
t.className = 'current';
} else {
c.className = 'hidden';
t.className = '';
}
}
}
tinyMCEPopup.onInit.add(function() {
var win = tinyMCEPopup.getWin();
document.getElementById('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
document.getElementById('date').innerHTML = tinymce.releaseDate;
if ( win.fullscreen && win.fullscreen.settings.visible ) {
d('content1').className = 'hidden';
d('tabs').className = 'hidden';
d('content3').className = 'dfw';
}
if ( tinymce.isMac )
document.body.className = 'macos';
if ( tinymce.isMac && tinymce.isWebKit )
document.body.className = 'macos macwebkit';
});
</script>
</head>
<body>
<body class="windows">
<script type="text/javascript">
if ( tinymce.isMac )
document.body.className = document.body.className.replace(/windows/, 'macos');
</script>
<ul id="tabs">
<li><a id="tab1" href="javascript:flipTab(1)" title="<?php esc_attr_e('Basics of Rich Editing') ?>" accesskey="1" tabindex="1" class="current"><?php _e('Basics') ?></a></li>
@ -232,24 +191,22 @@ wp_admin_css( 'wp-admin', true );
<h2><?php _e('Writing at Full Speed') ?></h2>
<p><?php _e('Rather than reaching for your mouse to click on the toolbar, use these access keys. Windows and Linux use Ctrl + letter. Macintosh uses Command + letter.') ?></p>
<table class="keys" width="100%" style="border: 0 none;">
<table class="keys">
<tr class="top"><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th></tr>
<tr><th>c</th><td><?php _e('Copy') ?></td><th>v</th><td><?php _e('Paste') ?></td></tr>
<tr><th>a</th><td><?php _e('Select all') ?></td><th>x</th><td><?php _e('Cut') ?></td></tr>
<tr><th>z</th><td><?php _e('Undo') ?></td><th>y</th><td><?php _e('Redo') ?></td></tr>
<tr class="win"><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr>
<tr class="win"><th>u</th><td><?php _e('Underline') ?></td><th>1</th><td><?php _e('Heading 1') ?></td></tr>
<tr class="win"><th>2</th><td><?php _e('Heading 2') ?></td><th>3</th><td><?php _e('Heading 3') ?></td></tr>
<tr class="win"><th>4</th><td><?php _e('Heading 4') ?></td><th>5</th><td><?php _e('Heading 5') ?></td></tr>
<tr class="win"><th>6</th><td><?php _e('Heading 6') ?></td><th>9</th><td><?php _e('Address') ?></td></tr>
<tr><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr>
<tr><th>u</th><td><?php _e('Underline') ?></td><th>1</th><td><?php _e('Heading 1') ?></td></tr>
<tr><th>2</th><td><?php _e('Heading 2') ?></td><th>3</th><td><?php _e('Heading 3') ?></td></tr>
<tr><th>4</th><td><?php _e('Heading 4') ?></td><th>5</th><td><?php _e('Heading 5') ?></td></tr>
<tr><th>6</th><td><?php _e('Heading 6') ?></td><th>9</th><td><?php _e('Address') ?></td></tr>
</table>
<p><?php _e('The following shortcuts use different access keys: Alt + Shift + letter.') ?></p>
<table class="keys" width="100%" style="border: 0 none;">
<p><?php _e('The following shortcuts use different access keys: Alt + letter in Firefox, Chrome and Safari, Alt + Shift + letter in Internet Explorer and Opera.') ?></p>
<table class="keys">
<tr class="top"><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th></tr>
<tr class="mac"><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr>
<tr><th>n</th><td><?php _e('Check Spelling') ?></td><th>l</th><td><?php _e('Align Left') ?></td></tr>
<tr><th>j</th><td><?php _e('Justify Text') ?></td><th>c</th><td><?php _e('Align Center') ?></td></tr>
<tr><th>d</th><td><span style="text-decoration: line-through;"><?php _e('Strikethrough') ?></span></td><th>r</th><td><?php _e('Align Right') ?></td></tr>
@ -258,9 +215,11 @@ wp_admin_css( 'wp-admin', true );
<tr><th>q</th><td><?php _e('Quote') ?></td><th>m</th><td><?php _e('Insert Image') ?></td></tr>
<tr><th>g</th><td><?php _e('Full Screen') ?></td><th>t</th><td><?php _e('Insert More Tag') ?></td></tr>
<tr><th>p</th><td><?php _e('Insert Page Break tag') ?></td><th>h</th><td><?php _e('Help') ?></td></tr>
<tr><th>e</th><td colspan="3"><?php _e('Switch to Text mode') ?></td></tr>
<tr><th>w</th><td colspan="3"><?php _e('Distraction Free Writing mode') ?></td></tr>
</table>
<tr><th colspan="4" style="font-weight: normal;padding: 15px 10px 10px;"><?php _e('Editor width in Distraction-free writing mode:'); ?></th></tr>
<p style="padding: 15px 10px 10px;"><?php _e('Editor width in Distraction Free Writing mode:'); ?></p>
<table class="keys">
<tr><th><span class="win">Alt +</span><span class="mac">Ctrl +</span></th><td><?php _e('Wider') ?></td>
<th><span class="win">Alt -</span><span class="mac">Ctrl -</span></th><td><?php _e('Narrower') ?></td></tr>
<tr><th><span class="win">Alt 0</span><span class="mac">Ctrl 0</span></th><td><?php _e('Default width') ?></td><th></th><td></td></tr>
@ -273,7 +232,7 @@ wp_admin_css( 'wp-admin', true );
<p><?php _e('Version:'); ?> <span id="version"></span> (<span id="date"></span>)</p>
<p><?php printf(__('TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor released as Open Source under %sLGPL</a> by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.'), '<a href="'.home_url('/wp-includes/js/tinymce/license.txt').'" target="_blank" title="'.esc_attr__('GNU Library General Public Licence').'">') ?></p>
<p><?php _e('Copyright &copy; 2003-2011, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.') ?></p>
<p><?php _e('For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.') ?></p>
<p><?php _e('For more information about this software visit the <a href="http://tinymce.com" target="_blank">TinyMCE website</a>.') ?></p>
<div id="buttoncontainer">
<a href="http://www.moxiecode.com" target="_blank"><img src="themes/advanced/img/gotmoxie.png" alt="<?php esc_attr_e('Got Moxie?') ?>" style="border: 0" /></a>
@ -287,6 +246,37 @@ wp_admin_css( 'wp-admin', true );
<input type="button" id="cancel" name="cancel" value="<?php esc_attr_e('Close'); ?>" title="<?php esc_attr_e('Close'); ?>" onclick="tinyMCEPopup.close();" />
</div>
</div>
<script type="text/javascript">
function d(id) { return document.getElementById(id); }
function flipTab(n) {
var i, c, t;
for ( i = 1; i <= 4; i++ ) {
c = d('content'+i.toString());
t = d('tab'+i.toString());
if ( n == i ) {
c.className = '';
t.className = 'current';
} else {
c.className = 'hidden';
t.className = '';
}
}
}
tinyMCEPopup.onInit.add(function() {
var win = tinyMCEPopup.getWin();
d('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
d('date').innerHTML = tinymce.releaseDate;
if ( win.fullscreen && win.fullscreen.settings.visible ) {
d('content1').className = 'hidden';
d('tabs').className = 'hidden';
d('content3').className = 'dfw';
}
});
</script>
</body>
</html>