Changeset 5485


Ignore:
Timestamp:
05/14/2010 08:25:11 AM (5 years ago)
Author:
garry.yao
Message:

#5546: Undo/Redo now works with SCAYT by ignoring word markers from snapshot comparison.

Location:
CKEditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r5484 r5485  
    8888                <li><a href="http://dev.fckeditor.net/ticket/5461">#5461</a> : [IE] Fix Paste from Word dialog doesn't accept imput problem.</li> 
    8989                <li><a href="http://dev.fckeditor.net/ticket/5573">#5573</a> : SCAYT move cursor position after insert element into marked word text.</li> 
     90                <li><a href="http://dev.fckeditor.net/ticket/5546">#5546</a> : SCAYT interferes with undo/redo commands.</li> 
    9091                <li>Updated the following language files:<ul> 
    9192                        <li><a href="http://dev.fckeditor.net/ticket/5432">#5432</a> : Dutch;</li> 
  • CKEditor/trunk/_source/plugins/scayt/plugin.js

    r5484 r5485  
    143143                        }); 
    144144 
     145                editor.on( 'afterCommandExec', function( ev ) 
     146                        { 
     147                                if ( !plugin.isScaytEnabled( editor ) ) 
     148                                        return; 
     149 
     150                                if ( editor.mode == 'wysiwyg' && ( ev.data.name == 'undo' || ev.data.name == 'redo' ) ) 
     151                                        window.setTimeout( function() { plugin.getScayt( editor ).refresh(); }, 10 ); 
     152                        }); 
     153 
    145154                editor.on( 'destroy', function( ev ) 
    146155                        { 
     
    231240                } 
    232241 
     242                // Override Image.equals method avoid CK snapshot module to add SCAYT markup to snapshots. (#5546) 
     243                var undoImagePrototype = CKEDITOR.plugins.undo.Image.prototype; 
     244                undoImagePrototype.equals =      CKEDITOR.tools.override( undoImagePrototype.equals, function( org ) 
     245                { 
     246                        return function( otherImage ) 
     247                        { 
     248                                var thisContents = this.contents, 
     249                                        otherContents = otherImage.contents; 
     250                                var scayt_instance = plugin.getScayt( this.editor ); 
     251                                // Making the comparison based on content without SCAYT word markers. 
     252                                if ( scayt_instance && plugin.isScaytReady( this.editor ) ) 
     253                                { 
     254                                        this.contents = scayt_instance.reset( thisContents ); 
     255                                        otherImage.contents = scayt_instance.reset( otherContents ); 
     256                                } 
     257                                 
     258                                var retval = org.apply( this, arguments ); 
     259 
     260                                this.contents = thisContents; 
     261                                otherImage.contents = otherContents; 
     262                                return retval; 
     263                        } 
     264                }); 
     265                 
    233266                if ( editor.document ) 
    234267                        createInstance(); 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy