Changeset 5763


Ignore:
Timestamp:
07/28/2010 02:44:21 PM (5 years ago)
Author:
Saare
Message:

#6042: It was impossible to align a paragraph with the "dir" attribute to the opposite direction.

Location:
CKEditor/branches/versions/3.4.x
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/versions/3.4.x/CHANGES.html

    r5758 r5763  
    6161                <li><a href="http://dev.fckeditor.net/ticket/5689">#5689</a> : Make it possible to run CKEditor inside of Firefox chrome.</li>
    6262                <li><a href="http://dev.fckeditor.net/ticket/5531">#5531</a> : Not all IDs had the "cke_" prefix.</li>
     63                <li><a href="http://dev.fckeditor.net/ticket/6042">#6042</a> : It wasn't possible to align a paragarph with the dir attribute to the opposite direction.</li>           
    6364        </ul>
    6465        <h3>
  • CKEditor/branches/versions/3.4.x/_source/plugins/justify/plugin.js

    r5709 r5763  
    2020
    2121                var currentAlign = firstBlock.getComputedStyle( 'text-align' ).replace( alignRemoveRegex, '' );
    22                 if ( ( !currentAlign && this.isDefaultAlign ) || currentAlign == this.value )
     22                if ( ( !currentAlign && isDefaultAlign( this, firstBlock ) ) || currentAlign == this.value )
    2323                        return CKEDITOR.TRISTATE_ON;
    2424                return CKEDITOR.TRISTATE_OFF;
     
    3232        }
    3333
     34        function isDefaultAlign( command, element )
     35        {
     36                var direction = element.getComputedStyle( 'direction' ),
     37                        val = command.value;
     38                return ( direction == 'rtl' && val == 'right' ) || ( direction == 'ltr' && val == 'left' );
     39               
     40        }
     41
    3442        function justifyCommand( editor, name, value )
    3543        {
    3644                this.name = name;
    3745                this.value = value;
    38 
    39                 var contentDir = editor.config.contentsLangDirection;
    40                 this.isDefaultAlign = ( value == 'left' && contentDir == 'ltr' ) ||
    41                         ( value == 'right' && contentDir == 'rtl' );
    4246
    4347                var classes = editor.config.justifyClasses;
     
    8993                                        block.removeAttribute( 'align' );
    9094
     95                                        var isDefault = isDefaultAlign( this, block );
     96
    9197                                        if ( cssClassName )
    9298                                        {
     
    96102
    97103                                                // Append the desired class name.
    98                                                 if ( this.state == CKEDITOR.TRISTATE_OFF && !this.isDefaultAlign )
     104                                                if ( this.state == CKEDITOR.TRISTATE_OFF && !isDefault )
    99105                                                        block.addClass( cssClassName );
    100106                                                else if ( !className )
     
    103109                                        else
    104110                                        {
    105                                                 if ( this.state == CKEDITOR.TRISTATE_OFF && !this.isDefaultAlign )
     111                                                if ( this.state == CKEDITOR.TRISTATE_OFF && !isDefault )
    106112                                                        block.setStyle( 'text-align', this.value );
    107113                                                else
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy