Ticket #2247: 2247_4.patch
File 2247_4.patch, 5.1 KB (added by , 16 years ago) |
---|
-
_whatsnew.html
48 48 browsers default menu using the configuration file (FCKConfig.BrowserContextMenu option).</li> 49 49 <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2032">#2032</a>] Added HTML samples 50 50 for legacy HTML and Flash-embedded HTML code.</li> 51 <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2247">#2247</a>] The SHIFT+SPACE 52 keystroke will now produce a &nbsp; character.</li> 51 53 </ul> 52 54 <p> 53 55 Fixed Bugs:</p> -
editor/_source/classes/fckdocumentfragment_gecko.js
40 40 targetNode.appendChild( this.RootNode ) ; 41 41 }, 42 42 43 AppendHtml : function( html ) 44 { 45 var eTmpDiv = this.RootNode.ownerDocument.createElement( 'div' ) ; 46 eTmpDiv.innerHTML = html ; 47 FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ; 48 }, 49 43 50 InsertAfterNode : function( existingNode ) 44 51 { 45 52 FCKDomTools.InsertAfterNode( existingNode, this.RootNode ) ; -
editor/_source/commandclasses/fck_othercommands.js
613 613 range.Select() ; 614 614 } 615 615 } ; 616 617 // FCKRuleCommand 618 var FCKNbsp = function() 619 { 620 this.Name = 'Non Breaking Space' ; 621 } 622 623 FCKNbsp.prototype = 624 { 625 Execute : function() 626 { 627 FCK.InsertHtml( ' ' ) ; 628 }, 629 630 GetState : function() 631 { 632 return ( FCK.EditMode != FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_OFF ) ; 633 } 634 } ; -
editor/_source/internals/fck_gecko.js
349 349 // selected content if any. 350 350 FCK.InsertHtml = function( html ) 351 351 { 352 var doc = FCK.EditorDocument ; 352 var doc = FCK.EditorDocument, 353 range; 353 354 354 355 html = FCKConfig.ProtectedSource.Protect( html ) ; 355 356 html = FCK.ProtectEvents( html ) ; … … 361 362 362 363 if ( FCKBrowserInfo.IsGecko ) 363 364 { 364 // Using the following trick, present at the beginning and at 365 // the end of the HTML are preserved (#2248). 366 html = '<span id="__fakeFCKRemove1__" style="display:none;">fakeFCKRemove</span>' + html + '<span id="__fakeFCKRemove2__" style="display:none;">fakeFCKRemove</span>' ; 367 } 365 html = html.replace( / $/, '$&<span _fcktemp="1"/>' ) ; 368 366 369 // Insert the HTML code.370 doc.execCommand( 'inserthtml', false,html ) ;367 var docFrag = new FCKDocumentFragment( this.EditorDocument ) ; 368 docFrag.AppendHtml( html ) ; 371 369 372 if ( FCKBrowserInfo.IsGecko ) 373 { 374 // Remove the fake nodes. 375 FCKDomTools.RemoveNode( doc.getElementById('__fakeFCKRemove1__') ) ; 376 FCKDomTools.RemoveNode( doc.getElementById('__fakeFCKRemove2__') ) ; 370 var lastNode = docFrag.RootNode.lastChild ; 371 372 range = new FCKDomRange( this.EditorWindow ) ; 373 range.MoveToSelection() ; 374 range.InsertNode( docFrag.RootNode ) ; 375 376 range.MoveToPosition( lastNode, 4 ) ; 377 377 } 378 else 379 doc.execCommand( 'inserthtml', false, html ) ; 378 380 379 381 this.Focus() ; 380 382 381 383 // Save the caret position before calling document processor. 382 var range = new FCKDomRange( this.EditorWindow ) ; 383 range.MoveToSelection() ; 384 if ( !range ) 385 { 386 range = new FCKDomRange( this.EditorWindow ) ; 387 range.MoveToSelection() ; 388 } 384 389 var bookmark = range.CreateBookmark() ; 385 390 386 391 FCKDocumentProcessor.Process( doc ) ; -
editor/_source/internals/fckcommands.js
80 80 case 'NewPage' : oCommand = new FCKNewPageCommand() ; break ; 81 81 case 'PageBreak' : oCommand = new FCKPageBreakCommand() ; break ; 82 82 case 'Rule' : oCommand = new FCKRuleCommand() ; break ; 83 case 'Nbsp' : oCommand = new FCKNbsp() ; break ; 83 84 84 85 case 'TextColor' : oCommand = new FCKTextColorCommand('ForeColor') ; break ; 85 86 case 'BGColor' : oCommand = new FCKTextColorCommand('BackColor') ; break ; -
fckconfig.js
142 142 [ CTRL + 73 /*I*/, 'Italic' ], 143 143 [ CTRL + 85 /*U*/, 'Underline' ], 144 144 [ CTRL + SHIFT + 83 /*S*/, 'Save' ], 145 [ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ] 145 [ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ], 146 [ SHIFT + 32 /*SPACE*/, 'Nbsp' ] 146 147 ] ; 147 148 148 149 FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ;