Ticket #4354: 4354.patch

File 4354.patch, 2.8 KB (added by Tobiasz Cudnik, 10 years ago)
  • _source/plugins/toolbar/plugin.js

     
    5959                {
    6060                        var itemKeystroke = function( item, keystroke )
    6161                        {
     62                                function isDisabled( item )
     63                                {
     64                                        return item.id && CKEDITOR.document.getById( item.id ).hasClass( 'cke_disabled' );
     65                                }
    6266                                switch ( keystroke )
    6367                                {
    6468                                        case 39 :                                       // RIGHT-ARROW
    6569                                        case 9 :                                        // TAB
    6670                                                // Look for the next item in the toolbar.
    67                                                 while ( ( item = item.next || ( item.toolbar.next && item.toolbar.next.items[ 0 ] ) ) && !item.focus )
     71                                                // Jump to next toolbar if this one finishes.
     72                                                // Skip non-focusable items (eg separators) and disabled ones also.
     73                                                while ( ( item = item.next || ( item.toolbar.next && item.toolbar.next.items[ 0 ] ) ) && ( !item.focus || isDisabled( item ) ) )
    6874                                                { /*jsl:pass*/ }
    6975
    7076                                                // If available, just focus it, otherwise focus the
     
    7985                                        case 37 :                                       // LEFT-ARROW
    8086                                        case CKEDITOR.SHIFT + 9 :       // SHIFT + TAB
    8187                                                // Look for the previous item in the toolbar.
    82                                                 while ( ( item = item.previous || ( item.toolbar.previous && item.toolbar.previous.items[ item.toolbar.previous.items.length - 1 ] ) ) && !item.focus )
     88                                                // Jump to previous toolbar if this one finishes.
     89                                                // Skip non-focusable items (eg separators) and disabled ones also.
     90                                                while ( ( item = item.previous || ( item.toolbar.previous && item.toolbar.previous.items[ item.toolbar.previous.items.length - 1 ] ) ) && ( !item.focus || isDisabled( item ) ) )
    8391                                                { /*jsl:pass*/ }
    8492
    8593                                                // If available, just focus it, otherwise focus the
  • CHANGES.html

     
    4848                <li><a href="http://dev.fckeditor.net/ticket/3528">#3528</a> : Fixed Context Menu issue when triggered using Shift+F10.</li>
    4949                <li><a href="http://dev.fckeditor.net/ticket/4028">#4028</a> : Maximize control's tool tip was wrong once it is maximized.</li>
    5050                <li><a href="http://dev.fckeditor.net/ticket/4237">#4237</a> : ToolBar is chopped off in Safari browser 3.x.</li>
    51                 <li><a href="http://dev.fckeditor.net/ticket/4269">#4269</a> : "Esc" and "Enter" keystrokes were not handled when a dialogue box is opened which causes the form post automatically.</li>               
     51                <li><a href="http://dev.fckeditor.net/ticket/4269">#4269</a> : "Esc" and "Enter" keystrokes were not handled when a dialogue box is opened which causes the form post automatically.</li>
     52                <li><a href="http://dev.fckeditor.net/ticket/4354">#4354</a> : Fixed TAB key on toolbar to not focus disabled buttons.</li>
    5253        </ul>
    5354        <h3>
    5455                CKEditor 3.0</h3>
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy