WordPress.org

Make WordPress Core

Ticket #21414: 21414.patch

File 21414.patch, 15.1 KB (added by azaozz, 21 months 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) {