Make WordPress Core

Ticket #21414: 21414.patch

File 21414.patch, 15.1 KB (added by azaozz, 12 years ago)
  • wp-admin/user-edit.php

     
    217217if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?>
    218218<tr>
    219219<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
    220 <td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( !empty($profileuser->comment_shortcuts) ) checked('true', $profileuser->comment_shortcuts); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
     220<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( !empty($profileuser->comment_shortcuts) ) checked('true', $profileuser->comment_shortcuts); ?> /> <?php _e('Enable keyboard shortcuts.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
    221221</tr>
    222222<?php endif; ?>
    223223<tr class="show-admin-bar">
  • wp-includes/class-wp-editor.php

     
    1010
    1111final class _WP_Editors {
    1212        public static $mce_locale;
     13        public static $custom_shortcuts = false;
    1314
    1415        private static $mce_settings = array();
    1516        private static $qt_settings = array();
     
    4546
    4647                self::$this_tinymce = ( $set['tinymce'] && user_can_richedit() );
    4748                self::$this_quicktags = (bool) $set['quicktags'];
     49                self::$custom_shortcuts = 'true' == get_user_option( 'comment_shortcuts' );
    4850
    4951                if ( self::$this_tinymce )
    5052                        self::$has_tinymce = true;
     
    317319                                        'paste_remove_spans' => true,
    318320                                        'paste_strip_class_attributes' => 'all',
    319321                                        'paste_text_use_dialog' => true,
     322                                        'wpCustomShortcuts' => self::$custom_shortcuts,
    320323                                        'spellchecker_rpc_url' => self::$baseurl . '/plugins/spellchecker/rpc.php',
    321324                                        'extended_valid_elements' => 'article[*],aside[*],audio[*],canvas[*],command[*],datalist[*],details[*],embed[*],figcaption[*],figure[*],footer[*],header[*],hgroup[*],keygen[*],mark[*],meter[*],nav[*],output[*],progress[*],section[*],source[*],summary,time[*],video[*],wbr',
    322325                                        'wpeditimage_disable_captions' => $no_captions,
     
    515518                $ref = array(
    516519                        'plugins' => implode( ',', self::$plugins ),
    517520                        'theme' => 'advanced',
    518                         'language' => self::$mce_locale
     521                        'language' => self::$mce_locale,
     522                        'wpCustomShortcuts' => self::$custom_shortcuts
    519523                );
    520524
    521525                $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '_src' : '';
  • wp-includes/js/tinymce/langs/wp-langs-en.js

     
     1(function(){
     2var shortcuts = typeof(tinyMCEPreInit) != 'undefined' ? tinyMCEPreInit.ref.wpCustomShortcuts : false;
     3
    14tinyMCE.addI18n({en:{
    25common:{
    36edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?",
     
    170173unload_msg:"The changes you made will be lost if you navigate away from this page."
    171174},
    172175fullscreen:{
    173 desc:"Toggle fullscreen mode (Alt + Shift + G)"
     176desc: shortcuts ? "Toggle fullscreen mode (Alt + Shift + G)" : "Toggle fullscreen mode"
    174177},
    175178media:{
    176179desc:"Insert / edit embedded media",
     
    186189desc:"Visual control characters on/off."
    187190},
    188191spellchecker:{
    189 desc:"Toggle spellchecker (Alt + Shift + N)",
     192desc: shortcuts ? "Toggle spellchecker (Alt + Shift + N)" : "Toggle spellchecker",
    190193menu:"Spellchecker settings",
    191194ignore_word:"Ignore word",
    192195ignore_words:"Ignore all",
     
    243246bold_desc:"Bold (Ctrl + B)",
    244247italic_desc:"Italic (Ctrl + I)",
    245248underline_desc:"Underline",
    246 striketrough_desc:"Strikethrough (Alt + Shift + D)",
    247 justifyleft_desc:"Align Left (Alt + Shift + L)",
    248 justifycenter_desc:"Align Center (Alt + Shift + C)",
    249 justifyright_desc:"Align Right (Alt + Shift + R)",
    250 justifyfull_desc:"Align Full (Alt + Shift + J)",
    251 bullist_desc:"Unordered list (Alt + Shift + U)",
    252 numlist_desc:"Ordered list (Alt + Shift + O)",
     249striketrough_desc: shortcuts ? "Strikethrough (Alt + Shift + D)" : "Strikethrough",
     250justifyleft_desc: shortcuts ? "Align Left (Alt + Shift + L)" : "Align Left",
     251justifycenter_desc: shortcuts ? "Align Center (Alt + Shift + C)" : "Align Center",
     252justifyright_desc: shortcuts ? "Align Right (Alt + Shift + R)" : "Align Right",
     253justifyfull_desc: shortcuts ? "Align Full (Alt + Shift + J)" : "Align Full",
     254bullist_desc: shortcuts ? "Unordered list (Alt + Shift + U)" : "Unordered list",
     255numlist_desc: shortcuts ? "Ordered list (Alt + Shift + O)" : "Ordered list",
    253256outdent_desc:"Outdent",
    254257indent_desc:"Indent",
    255258undo_desc:"Undo (Ctrl + Z)",
    256259redo_desc:"Redo (Ctrl + Y)",
    257 link_desc:"Insert/edit link (Alt + Shift + A)",
    258 unlink_desc:"Unlink (Alt + Shift + S)",
    259 image_desc:"Insert/edit image (Alt + Shift + M)",
     260link_desc: shortcuts ? "Insert/edit link (Alt + Shift + A)" : "Insert/edit link",
     261unlink_desc: shortcuts ? "Unlink (Alt + Shift + S)" : "Unlink",
     262image_desc: shortcuts ? "Insert/edit image (Alt + Shift + M)" : "Insert/edit image",
    260263cleanup_desc:"Cleanup messy code",
    261264code_desc:"Edit HTML Source",
    262265sub_desc:"Subscript",
     
    274277image_props_desc:"Image properties",
    275278newdocument_desc:"New document",
    276279help_desc:"Help",
    277 blockquote_desc:"Blockquote (Alt + Shift + Q)",
     280blockquote_desc: shortcuts ? "Blockquote (Alt + Shift + Q)" : "Blockquote",
    278281clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
    279282path:"Path",
    280283newdocument:"Are you sure you want to clear all contents?",
     
    452455});
    453456
    454457tinyMCE.addI18n("en.wordpress",{
    455 wp_adv_desc:"Show/Hide Kitchen Sink (Alt + Shift + Z)",
    456 wp_more_desc:"Insert More Tag (Alt + Shift + T)",
    457 wp_page_desc:"Insert Page break (Alt + Shift + P)",
    458 wp_help_desc:"Help (Alt + Shift + H)",
     458wp_adv_desc: shortcuts ? "Show/Hide Kitchen Sink (Alt + Shift + Z)" : "Show/Hide Kitchen Sink",
     459wp_more_desc: shortcuts ? "Insert More Tag (Alt + Shift + T)" : "Insert More Tag",
     460wp_page_desc: shortcuts ? "Insert Page break (Alt + Shift + P)" : "Insert Page break",
     461wp_help_desc: shortcuts ? "Help (Alt + Shift + H)" : "Help",
    459462wp_more_alt:"More...",
    460463wp_page_alt:"Next page...",
    461464add_media:"Add Media",
     
    464467add_audio:"Add Audio",
    465468editgallery:"Edit Gallery",
    466469delgallery:"Delete Gallery",
    467 wp_fullscreen_desc:"Distraction Free Writing mode (Alt + Shift + W)"
     470wp_fullscreen_desc: shortcuts ? "Distraction Free Writing mode (Alt + Shift + W)" : "Distraction Free Writing mode"
    468471});
    469472
    470473tinyMCE.addI18n("en.wpeditimage",{
     
    502505caption:"Caption",
    503506alt:"Alternate Text"
    504507});
     508})();
  • wp-includes/js/tinymce/langs/wp-langs.php

     
    1212}
    1313
    1414function wp_mce_translation() {
     15        $shortcuts = _WP_Editors::$custom_shortcuts;
    1516
    1617        $default = array(
    1718                'common' => array(
     
    207208                ),
    208209
    209210                'fullscreen' => array(
    210                         'desc' => __('Toggle fullscreen mode (Alt + Shift + G)')
     211                        'desc' => $shortcuts ? __('Toggle fullscreen mode (Alt + Shift + G)') : __('Toggle fullscreen mode')
    211212                ),
    212213
    213214                'media' => array(
     
    228229                ),
    229230
    230231                'spellchecker' => array(
    231                         'desc' => __('Toggle spellchecker (Alt + Shift + N)'),
     232                        'desc' => $shortcuts ? __('Toggle spellchecker (Alt + Shift + N)') : __('Toggle spellchecker'),
    232233                        'menu' => __('Spellchecker settings'),
    233234                        'ignore_word' => __('Ignore word'),
    234235                        'ignore_words' => __('Ignore all'),
     
    289290                'bold_desc' => __('Bold (Ctrl + B)'),
    290291                'italic_desc' => __('Italic (Ctrl + I)'),
    291292                'underline_desc' => __('Underline'),
    292                 'striketrough_desc' => __('Strikethrough (Alt + Shift + D)'),
    293                 'justifyleft_desc' => __('Align Left (Alt + Shift + L)'),
    294                 'justifycenter_desc' => __('Align Center (Alt + Shift + C)'),
    295                 'justifyright_desc' => __('Align Right (Alt + Shift + R)'),
    296                 'justifyfull_desc' => __('Align Full (Alt + Shift + J)'),
    297                 'bullist_desc' => __('Unordered list (Alt + Shift + U)'),
    298                 'numlist_desc' => __('Ordered list (Alt + Shift + O)'),
     293                'striketrough_desc' => $shortcuts ? __('Strikethrough (Alt + Shift + D)') : __('Strikethrough'),
     294                'justifyleft_desc' => $shortcuts ? __('Align Left (Alt + Shift + L)') : __('Align Left'),
     295                'justifycenter_desc' => $shortcuts ? __('Align Center (Alt + Shift + C)') : __('Align Center'),
     296                'justifyright_desc' => $shortcuts ? __('Align Right (Alt + Shift + R)') : __('Align Right'),
     297                'justifyfull_desc' => $shortcuts ? __('Align Full (Alt + Shift + J)') : __('Align Full'),
     298                'bullist_desc' => $shortcuts ? __('Unordered list (Alt + Shift + U)') : __('Unordered list'),
     299                'numlist_desc' => $shortcuts ? __('Ordered list (Alt + Shift + O)') : __('Ordered list'),
    299300                'outdent_desc' => __('Outdent'),
    300301                'indent_desc' => __('Indent'),
    301302                'undo_desc' => __('Undo (Ctrl + Z)'),
    302303                'redo_desc' => __('Redo (Ctrl + Y)'),
    303                 'link_desc' => __('Insert/edit link (Alt + Shift + A)'),
    304                 'unlink_desc' => __('Unlink (Alt + Shift + S)'),
    305                 'image_desc' => __('Insert/edit image (Alt + Shift + M)'),
     304                'link_desc' => $shortcuts ? __('Insert/edit link (Alt + Shift + A)') : __('Insert/edit link'),
     305                'unlink_desc' => $shortcuts ? __('Unlink (Alt + Shift + S)') : __('Unlink'),
     306                'image_desc' => $shortcuts ? __('Insert/edit image (Alt + Shift + M)') : __('Insert/edit image'),
    306307                'cleanup_desc' => __('Cleanup messy code'),
    307308                'code_desc' => __('Edit HTML Source'),
    308309                'sub_desc' => __('Subscript'),
     
    320321                'image_props_desc' => __('Image properties'),
    321322                'newdocument_desc' => __('New document'),
    322323                'help_desc' => __('Help'),
    323                 'blockquote_desc' => __('Blockquote (Alt + Shift + Q)'),
     324                'blockquote_desc' => $shortcuts ? __('Blockquote (Alt + Shift + Q)') : __('Blockquote'),
    324325                'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
    325326                'path' => __('Path'),
    326327                'newdocument' => __('Are you sure you want to clear all contents?'),
     
    498499        );
    499500
    500501        $wordpress = array(
    501                 'wp_adv_desc' => __('Show/Hide Kitchen Sink (Alt + Shift + Z)'),
    502                 'wp_more_desc' => __('Insert More Tag (Alt + Shift + T)'),
    503                 'wp_page_desc' => __('Insert Page break (Alt + Shift + P)'),
    504                 'wp_help_desc' => __('Help (Alt + Shift + H)'),
     502                'wp_adv_desc' => $shortcuts ? __('Show/Hide Kitchen Sink (Alt + Shift + Z)') : __('Show/Hide Kitchen Sink'),
     503                'wp_more_desc' => $shortcuts ? __('Insert More Tag (Alt + Shift + T)') : __('Insert More Tag'),
     504                'wp_page_desc' => $shortcuts ? __('Insert Page break (Alt + Shift + P)') : __('Insert Page break'),
     505                'wp_help_desc' => $shortcuts ? __('Help (Alt + Shift + H)') : __('Help'),
    505506                'wp_more_alt' => __('More...'),
    506507                'wp_page_alt' => __('Next page...'),
    507508                'add_media' => __('Add Media'),
     
    510511                'add_audio' => __('Add Audio'),
    511512                'editgallery' => __('Edit Gallery'),
    512513                'delgallery' => __('Delete Gallery'),
    513                 'wp_fullscreen_desc' => __('Distraction Free Writing mode (Alt + Shift + W)')
     514                'wp_fullscreen_desc' => $shortcuts ? __('Distraction Free Writing mode (Alt + Shift + W)') : __('Distraction Free Writing mode')
    514515        );
    515516
    516517        $wpeditimage = array(
  • wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js

     
    249249                        t._handleMoreBreak(ed, url);
    250250
    251251                        // Add custom shortcuts
    252                         mod_key = 'alt+shift';
     252                        if ( ed.getParam('wpCustomShortcuts') ) {
     253                                mod_key = ed.getParam('wpCustomShortcutsModKeys', 'alt+shift');
    253254
    254                 //      if ( tinymce.isGecko ) // disable for mow, too many shortcuts conflicts
    255                 //              mod_key = 'ctrl+alt';
     255                                ed.addShortcut(mod_key + '+c', 'justifycenter_desc', 'JustifyCenter');
     256                                ed.addShortcut(mod_key + '+r', 'justifyright_desc', 'JustifyRight');
     257                                ed.addShortcut(mod_key + '+l', 'justifyleft_desc', 'JustifyLeft');
     258                                ed.addShortcut(mod_key + '+j', 'justifyfull_desc', 'JustifyFull');
     259                                ed.addShortcut(mod_key + '+q', 'blockquote_desc', 'mceBlockQuote');
     260                                ed.addShortcut(mod_key + '+u', 'bullist_desc', 'InsertUnorderedList');
     261                                ed.addShortcut(mod_key + '+o', 'numlist_desc', 'InsertOrderedList');
     262                                ed.addShortcut(mod_key + '+n', 'spellchecker.desc', 'mceSpellCheck');
     263                                ed.addShortcut(mod_key + '+a', 'link_desc', 'WP_Link');
     264                                ed.addShortcut(mod_key + '+s', 'unlink_desc', 'unlink');
     265                                ed.addShortcut(mod_key + '+m', 'image_desc', 'WP_Medialib');
     266                                ed.addShortcut(mod_key + '+z', 'wordpress.wp_adv_desc', 'WP_Adv');
     267                                ed.addShortcut(mod_key + '+t', 'wordpress.wp_more_desc', 'WP_More');
     268                                ed.addShortcut(mod_key + '+d', 'striketrough_desc', 'Strikethrough');
     269                                ed.addShortcut(mod_key + '+h', 'help_desc', 'WP_Help');
     270                                ed.addShortcut(mod_key + '+p', 'wordpress.wp_page_desc', 'WP_Page');
     271                                ed.addShortcut('ctrl+s', 'save_desc', function(){if('function'==typeof autosave)autosave();});
    256272
    257                         ed.addShortcut(mod_key + '+c', 'justifycenter_desc', 'JustifyCenter');
    258                         ed.addShortcut(mod_key + '+r', 'justifyright_desc', 'JustifyRight');
    259                         ed.addShortcut(mod_key + '+l', 'justifyleft_desc', 'JustifyLeft');
    260                         ed.addShortcut(mod_key + '+j', 'justifyfull_desc', 'JustifyFull');
    261                         ed.addShortcut(mod_key + '+q', 'blockquote_desc', 'mceBlockQuote');
    262                         ed.addShortcut(mod_key + '+u', 'bullist_desc', 'InsertUnorderedList');
    263                         ed.addShortcut(mod_key + '+o', 'numlist_desc', 'InsertOrderedList');
    264                         ed.addShortcut(mod_key + '+n', 'spellchecker.desc', 'mceSpellCheck');
    265                         ed.addShortcut(mod_key + '+a', 'link_desc', 'WP_Link');
    266                         ed.addShortcut(mod_key + '+s', 'unlink_desc', 'unlink');
    267                         ed.addShortcut(mod_key + '+m', 'image_desc', 'WP_Medialib');
    268                         ed.addShortcut(mod_key + '+z', 'wordpress.wp_adv_desc', 'WP_Adv');
    269                         ed.addShortcut(mod_key + '+t', 'wordpress.wp_more_desc', 'WP_More');
    270                         ed.addShortcut(mod_key + '+d', 'striketrough_desc', 'Strikethrough');
    271                         ed.addShortcut(mod_key + '+h', 'help_desc', 'WP_Help');
    272                         ed.addShortcut(mod_key + '+p', 'wordpress.wp_page_desc', 'WP_Page');
    273                         ed.addShortcut('ctrl+s', 'save_desc', function(){if('function'==typeof autosave)autosave();});
     273                                if ( /\bwpfullscreen\b/.test(ed.settings.plugins) )
     274                                        ed.addShortcut(mod_key + '+w', 'wordpress.wp_fullscreen_desc', 'wpFullScreen');
     275                                else if ( /\bfullscreen\b/.test(ed.settings.plugins) )
     276                                        ed.addShortcut(mod_key + '+g', 'fullscreen.desc', 'mceFullScreen');
     277                        }
    274278
    275                         if ( /\bwpfullscreen\b/.test(ed.settings.plugins) )
    276                                 ed.addShortcut(mod_key + '+w', 'wordpress.wp_fullscreen_desc', 'wpFullScreen');
    277                         else if ( /\bfullscreen\b/.test(ed.settings.plugins) )
    278                                 ed.addShortcut(mod_key + '+g', 'fullscreen.desc', 'mceFullScreen');
    279 
    280279                        // popup buttons for images and the gallery
    281280                        ed.onInit.add(function(ed) {
    282281                                tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) {