Changeset 6091


Ignore:
Timestamp:
11/12/10 15:27:57 (3 years ago)
Author:
paho
Message:

#6479: BIDI: Language direction is not being preserved when pressing Enter after a paragraph format has been applied.

Location:
CKEditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r6090 r6091  
    5353                <li><a href="http://dev.ckeditor.com/ticket/6510">#6510</a> : Margin mirroring doesn't respect style configuration.</li> 
    5454                <li><a href="http://dev.ckeditor.com/ticket/6471">#6471</a> : BIDI: Pressing decrease indent in an RTL bulleted list causes incorrect behaviour.</li> 
     55                <li><a href="http://dev.ckeditor.com/ticket/6479">#6479</a> : BIDI: Language direction is not being preserved when pressing Enter after a paragraph format has been applied.</li> 
    5556        </ul> 
    5657        <h3> 
  • CKEditor/trunk/_source/plugins/enterkey/plugin.js

    r6079 r6091  
    9999                        else 
    100100                        { 
    101                                 var newBlock; 
     101                                var newBlock, 
     102                                        newBlockDir; 
    102103 
    103104                                if ( previousBlock ) 
     
    116117 
    117118                                if ( !newBlock ) 
     119                                { 
    118120                                        newBlock = doc.createElement( blockTag ); 
     121                                        if ( previousBlock && ( newBlockDir = previousBlock.getDirection() ) ) 
     122                                                newBlock.setAttribute( 'dir', newBlockDir ); 
     123                                } 
    119124                                // Force the enter block unless we're talking of a list item. 
    120125                                else if ( forceMode && !newBlock.is( 'li' ) ) 
     
    223228                        if ( !forceMode && isEndOfBlock && headerTagRegex.test( startBlockTag ) ) 
    224229                        { 
    225                                 // Insert a <br> after the current paragraph. 
    226                                 doc.createElement( 'br' ).insertAfter( startBlock ); 
    227  
    228                                 // A text node is required by Gecko only to make the cursor blink. 
    229                                 if ( CKEDITOR.env.gecko ) 
    230                                         doc.createText( '' ).insertAfter( startBlock ); 
    231  
    232                                 // IE has different behaviors regarding position. 
    233                                 range.setStartAt( startBlock.getNext(), CKEDITOR.env.ie ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_START ); 
     230                                var newBlock, 
     231                                        newBlockDir; 
     232                                         
     233                                if ( newBlockDir = startBlock.getDirection() ) 
     234                                { 
     235                                        newBlock = doc.createElement( 'div' ); 
     236                                        newBlock.setAttribute( 'dir', newBlockDir ); 
     237                                        newBlock.insertAfter( startBlock ); 
     238                                        range.setStart( newBlock, 0 ); 
     239                                } 
     240                                else 
     241                                { 
     242                                        // Insert a <br> after the current paragraph. 
     243                                        doc.createElement( 'br' ).insertAfter( startBlock ); 
     244 
     245                                        // A text node is required by Gecko only to make the cursor blink. 
     246                                        if ( CKEDITOR.env.gecko ) 
     247                                                doc.createText( '' ).insertAfter( startBlock ); 
     248 
     249                                        // IE has different behaviors regarding position. 
     250                                        range.setStartAt( startBlock.getNext(), CKEDITOR.env.ie ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_START ); 
     251                                } 
    234252                        } 
    235253                        else 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy