Ticket #3191: 3191.patch
File 3191.patch, 49.9 KB (added by , 15 years ago) |
---|
-
_source/plugins/pastetext/dialogs/pastetext.js
12 12 return { 13 13 title : editor.lang.pasteText.title, 14 14 15 minWidth : 400,16 minHeight : 330,15 minWidth : 350, 16 minHeight : 240, 17 17 18 18 onShow : function() 19 19 { -
_source/plugins/image/dialogs/image.js
186 186 }; 187 187 return { 188 188 title : ( dialogType == 'image' ) ? editor.lang.image.title : editor.lang.image.titleButton, 189 minWidth : 4 50,190 minHeight : 400,189 minWidth : 420, 190 minHeight : 310, 191 191 onShow : function() 192 192 { 193 193 this.imageElement = false; -
_source/plugins/clipboard/dialogs/paste.js
55 55 return { 56 56 title : editor.lang.clipboard.title, 57 57 58 minWidth : 400,59 minHeight : 330,58 minWidth : 350, 59 minHeight : 240, 60 60 61 61 onShow : function() 62 62 { -
_source/plugins/find/dialogs/find.js
554 554 return { 555 555 title : editor.lang.findAndReplace.title, 556 556 resizable : CKEDITOR.DIALOG_RESIZE_NONE, 557 minWidth : 400,558 minHeight : 255,557 minWidth : 350, 558 minHeight : 165, 559 559 buttons : [ CKEDITOR.dialog.cancelButton ], //Cancel button only. 560 560 contents : [ 561 561 { -
_source/plugins/forms/dialogs/checkbox.js
6 6 { 7 7 return { 8 8 title : editor.lang.checkboxAndRadio.checkboxTitle, 9 minWidth : 400,10 minHeight : 230,9 minWidth : 350, 10 minHeight : 140, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/textfield.js
6 6 { 7 7 return { 8 8 title : editor.lang.textfield.title, 9 minWidth : 400,10 minHeight : 230,9 minWidth : 350, 10 minHeight : 140, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/button.js
6 6 { 7 7 return { 8 8 title : editor.lang.button.title, 9 minWidth : 400,10 minHeight : 230,9 minWidth : 350, 10 minHeight : 140, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/textarea.js
6 6 { 7 7 return { 8 8 title : editor.lang.textarea.title, 9 minWidth : 400,10 minHeight : 230,9 minWidth : 350, 10 minHeight : 140, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/radio.js
6 6 { 7 7 return { 8 8 title : editor.lang.checkboxAndRadio.radioTitle, 9 minWidth : 400,10 minHeight : 200,9 minWidth : 350, 10 minHeight : 130, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/hiddenfield.js
6 6 { 7 7 return { 8 8 title : editor.lang.hidden.title, 9 minWidth : 400,10 minHeight : 200,9 minWidth : 350, 10 minHeight : 110, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/select.js
130 130 131 131 return { 132 132 title : editor.lang.select.title, 133 minWidth : 400,134 minHeight : 370,133 minWidth : 375, 134 minHeight : 270, 135 135 onShow : function() 136 136 { 137 137 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/forms/dialogs/form.js
6 6 { 7 7 return { 8 8 title : editor.lang.form.title, 9 minWidth : 400,10 minHeight : 270,9 minWidth : 350, 10 minHeight : 190, 11 11 onShow : function() 12 12 { 13 13 // IE BUG: Selection must be in the editor for getSelectedElement() -
_source/plugins/table/dialogs/table.js
84 84 85 85 return { 86 86 title : editor.lang.table.title, 87 minWidth : 4 80,88 minHeight : 260,87 minWidth : 430, 88 minHeight : 180, 89 89 onShow : function() 90 90 { 91 91 // Detect if there's a selected table. -
_source/plugins/pastefromword/dialogs/pastefromword.js
7 7 { 8 8 return { 9 9 title : editor.lang.pastefromword.title, 10 minWidth : 400,11 minHeight : 340,10 minWidth : 350, 11 minHeight : 250, 12 12 htmlToLoad : '<!doctype html><script type="text/javascript">' 13 13 + 'window.onload = function()' 14 14 + '{' -
_source/plugins/wsc/dialogs/wsc.js
118 118 119 119 return { 120 120 title : editor.lang.spellCheck.title, 121 minWidth : 540,122 minHeight : 480,121 minWidth : 490, 122 minHeight : 390, 123 123 buttons : [ CKEDITOR.dialog.cancelButton ], 124 124 onShow : function() 125 125 { -
_source/plugins/link/dialogs/anchor.js
21 21 22 22 return { 23 23 title : editor.lang.anchor.title, 24 minWidth : 3 50,25 minHeight : 150,24 minWidth : 300, 25 minHeight : 60, 26 26 onOk : function() 27 27 { 28 28 // Always create a new anchor, because of IE BUG. -
_source/plugins/link/dialogs/link.js
239 239 240 240 return { 241 241 title : editor.lang.link.title, 242 minWidth : 400,243 minHeight : 320,242 minWidth : 350, 243 minHeight : 230, 244 244 contents : [ 245 245 { 246 246 id : 'info', -
_source/plugins/dialogui/plugin.js
434 434 */ 435 435 button : function( dialog, elementDefinition, htmlList ) 436 436 { 437 if ( arguments.length < 3)437 if ( !arguments.length ) 438 438 return; 439 439 440 if ( typeof ( elementDefinition )== 'function' )440 if ( typeof elementDefinition == 'function' ) 441 441 elementDefinition = elementDefinition( dialog.getParentEditor() ); 442 442 443 initPrivateObject.call( this, elementDefinition, { disabled : elementDefinition.disabled || false } ); 443 444 444 /** @ignore */445 var innerHTML = function()446 {447 var styles = [],448 align = elementDefinition.align || ( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' );449 450 if ( elementDefinition.style )451 {452 var defStyle = CKEDITOR.tools.trim( elementDefinition.style );453 styles.push( defStyle );454 if ( defStyle.charAt( defStyle.length - 1 ) != ';' )455 styles.push( ';' );456 }457 458 // IE6 & 7 BUG: Need to set margin as well as align.459 if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )460 {461 styles.push( [462 'margin:',463 'auto',464 align == 'right' ? '0px' : 'auto',465 'auto',466 align == 'left' ? '0px' : 'auto' ].join( ' ' ), ';' );467 }468 469 return [470 '<table align="', align, '" ', styles.length > 0 ? 'style="' + styles.join( '' ) + '">' : '>',471 '<tbody><tr><td class="cke_dialog_ui_button_txt">',472 CKEDITOR.tools.htmlEncode( elementDefinition.label ),473 '</td></tr></tbody></table>'474 ].join( '' );475 };476 477 445 // Add OnClick event to this input. 478 446 CKEDITOR.event.implementOn( this ); 479 447 480 // Register an event handler for processing button clicks.481 448 var me = this; 449 450 // Register an event handler for processing button clicks. 482 451 dialog.on( 'load', function( eventInfo ) 483 { 484 var element = this.getElement(); 485 (function() 452 { 453 var element = this.getElement(); 454 455 element.on( 'mousedown', function( evt ) 486 456 { 487 element.on( 'mousedown', function( evt ) 488 { 489 // If button is disabled, don't do anything. 490 if ( me._.disabled ) 491 return; 457 // If button is disabled, don't do anything. 458 if ( me._.disabled ) 459 return; 492 460 493 494 495 461 // Store the currently active button. 462 CKEDITOR.ui.dialog.button._.activeButton = [ me, me.getElement() ]; 463 } ); 496 464 497 element.on( 'keydown', function( evt ) 498 { 499 // Click if Enter is pressed. 500 if ( evt.data.$.keyCode == 13 ) 501 { 502 me.fire( 'click', { dialog : me.getDialog() } ); 503 evt.data.preventDefault(); 504 } 505 } ); 506 })(); 507 508 // IE BUG: Padding attributes are ignored for <td> cells. 509 if ( CKEDITOR.env.ie ) 510 element.getChild( [0, 0, 0, 0] ).$.innerHTML += ''; 511 512 if ( !eventInfo.data.buttonHandlerRegistered ) 465 element.on( 'keydown', function( evt ) 513 466 { 514 CKEDITOR.document.on( 'mouseup', function( evt ) 515 { 516 var target = evt.data.getTarget(), 517 activeButton = CKEDITOR.ui.dialog.button._.activeButton; 467 // Click if Enter is pressed. 468 if ( evt.data.$.keyCode == 13 ) 469 { 470 me.fire( 'click', { dialog : me.getDialog() } ); 471 evt.data.preventDefault(); 472 } 473 } ); 518 474 519 // If there's no active button, bail out. 520 if ( !activeButton ) 521 return; 475 if ( !eventInfo.data.buttonHandlerRegistered ) 476 { 477 CKEDITOR.document.on( 'mouseup', function( evt ) 478 { 479 var target = evt.data.getTarget(), 480 activeButton = CKEDITOR.ui.dialog.button._.activeButton; 522 481 523 // Fire the click event - but only if the 524 // active button is the same as target. 525 if ( activeButton[1].equals( target.getAscendant( 'a' ) ) ) 526 activeButton[0].fire( 'click', { dialog : activeButton[0].getDialog() } ); 482 // If there's no active button, bail out. 483 if ( !activeButton ) 484 return; 527 485 528 // Clear active button flag. 529 CKEDITOR.ui.dialog.button._.activeButton = null; 530 } ); 486 // Fire the click event - but only if the 487 // active button is the same as target. 488 if ( activeButton[1].equals( target.getAscendant( 'a' ) ) ) 489 activeButton[0].fire( 'click', { dialog : activeButton[0].getDialog() } ); 531 490 532 eventInfo.data.buttonHandlerRegistered = true; 533 } 491 // Clear active button flag. 492 CKEDITOR.ui.dialog.button._.activeButton = null; 493 } ); 534 494 535 this.getElement().getFirst().unselectable();536 } , this );495 eventInfo.data.buttonHandlerRegistered = true; 496 } 537 497 498 this.getElement().getFirst().unselectable(); 499 }, this ); 500 538 501 var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition ); 539 502 delete outerDefinition.style; 540 503 541 CKEDITOR.ui.dialog.uiElement.call( this, dialog, outerDefinition, htmlList, 'a', { display : 'block', outline : 'none' }, 542 { href : 'javascript:void(0);', title : elementDefinition.label, hidefocus : 'true' }, 543 innerHTML ); 504 CKEDITOR.ui.dialog.uiElement.call( 505 this, 506 dialog, 507 outerDefinition, 508 htmlList, 509 'a', 510 null, 511 { 512 style : elementDefinition.style, 513 href : 'javascript:void(0);', 514 title : elementDefinition.label, 515 hidefocus : 'true' 516 }, 517 '<span class="cke_dialog_ui_button">' + 518 CKEDITOR.tools.htmlEncode( elementDefinition.label ) + 519 '</span>' ); 544 520 }, 545 521 546 522 /** -
_source/plugins/flash/dialogs/flash.js
179 179 180 180 return { 181 181 title : editor.lang.flash.title, 182 minWidth : 4 50,183 minHeight : 400,182 minWidth : 400, 183 minHeight : 310, 184 184 onLoad : function() 185 185 { 186 186 if ( editor.config.flashUploadTab == false ) -
_source/plugins/templates/dialogs/templates.js
108 108 return { 109 109 title :editor.lang.templates.title, 110 110 111 minWidth : 450,112 minHeight : 400,111 minWidth : 400, 112 minHeight : 310, 113 113 114 114 contents : 115 115 [ -
_source/plugins/dialog/plugin.js
108 108 } 109 109 , editor ).definition; 110 110 111 var doc = CKEDITOR.document; 112 111 113 var themeBuilt = editor.theme.buildDialog( editor ); 112 114 113 115 // Initialize some basic parameters. … … 136 138 hasFocus : false 137 139 }; 138 140 139 /** 140 * An associative map of elements in the dialog. It has the following members: 141 * <ul> 142 * <li>tl - top left corner.</li> 143 * <li>tl_resize - resize handle at the top left corner.</li> 144 * <li>t - top side.</li> 145 * <li>t_resize - resize handle at the top.</li> 146 * <li>tr - top right corner.</li> 147 * <li>tr_resize - resize handle at the top right.</li> 148 * <li>l - left side.</li> 149 * <li>l_resize - resize handle at the left side.</li> 150 * <li>c - center area.</li> 151 * <li>r - right side.</li> 152 * <li>r_resize - resize handle at the right side.</li> 153 * <li>bl - bottom left corner.</li> 154 * <li>bl_resize - resize handle at the bottom left.</li> 155 * <li>b - bottom side.</li> 156 * <li>b_resize - resize handle at the bottom.</li> 157 * <li>br - bottom right corner.</li> 158 * <li>br_resize - resize handle at the bottom right.</li> 159 * <li>title - title area.</li> 160 * <li>close - close button.</li> 161 * <li>tabs - tabs area.</li> 162 * <li>contents - the content page area.</li> 163 * <li>footer - the footer area.</li> 164 * </ul> 165 * @type Object 166 * @field 167 */ 168 this.parts = { 169 'tl' : [0,0], 170 'tl_resize' : [0,0,0], 171 't' : [0,1], 172 't_resize' : [0,1,0], 173 'tr' : [0,2], 174 'tr_resize' : [0,2,0], 175 'l' : [1,0], 176 'l_resize' : [1,0,0], 177 'c' : [1,1], 178 'r' : [1,2], 179 'r_resize' : [1,2,0], 180 'bl' : [2,0], 181 'bl_resize' : [2,0,0], 182 'b' : [2,1], 183 'b_resize' : [2,1,0], 184 'br' : [2,2], 185 'br_resize' : [2,2,0], 186 'title' : [1,1,0], 187 'close' : [1,1,0,0], 188 'tabs' : [1,1,1,0,0], 189 'tabs_table' : [1,1,1], 190 'contents' : [1,1,2], 191 'footer' : [1,1,3] 192 }; 193 194 // Initialize the parts map. 195 var element = this._.element.getFirst(); 196 for ( var i in this.parts ) 197 this.parts[i] = element.getChild( this.parts[i] ); 198 141 this.parts = themeBuilt.parts; 142 199 143 // Call the CKEDITOR.event constructor to initialize this instance. 200 144 CKEDITOR.event.call( this ); 201 145 … … 330 274 // Change tabs. 331 275 var nextId = shiftPressed ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ); 332 276 me.selectPage( nextId ); 333 me._.tabs[ nextId ][ 0 ]. getFirst().focus();277 me._.tabs[ nextId ][ 0 ].focus(); 334 278 } 335 279 else 336 280 { … … 344 288 { 345 289 // Alt-F10 puts focus into the current tab item in the tab bar. 346 290 me._.tabBarMode = true; 347 me._.tabs[ me._.currentTabId ][ 0 ]. getFirst().focus();291 me._.tabs[ me._.currentTabId ][ 0 ].focus(); 348 292 processed = true; 349 293 } 350 294 else if ( ( keystroke == 37 || keystroke == 39 ) && me._.tabBarMode ) … … 352 296 // Arrow keys - used for changing tabs. 353 297 var nextId = ( keystroke == 37 ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) ); 354 298 me.selectPage( nextId ); 355 me._.tabs[ nextId ][ 0 ]. getFirst().focus();299 me._.tabs[ nextId ][ 0 ].focus(); 356 300 processed = true; 357 301 } 358 302 … … 423 367 return; 424 368 425 369 // Find the outer <td> container of the tab. 426 while ( target.getName() != 'td' || !tabOuterRegex.test( target.$.className ) ) 427 { 428 target = target.getParent(); 429 } 430 id = target.$.id.substr( 0, target.$.id.lastIndexOf( '_' ) ); 370 var id = target.$.id.substr( 0, target.$.id.lastIndexOf( '_' ) ); 431 371 this.selectPage( id ); 432 372 433 373 if ( this._.tabBarMode ) … … 454 394 455 395 // Insert dummy text box for grabbing focus away from the editing area. 456 396 this._.dummyText = CKEDITOR.dom.element.createFromHtml( '<input type="text" style="position: absolute; left: -100000px; top: -100000px" />' ); 457 this._.dummyText.appendTo( element );397 this._.dummyText.appendTo( themeBuilt.element ); 458 398 459 399 CKEDITOR.skins.load( editor.config.skin, 'dialog' ); 460 400 }; … … 514 454 { 515 455 // The dialog may be fixed positioned or absolute positioned. Ask the 516 456 // browser what is the current situation first. 457 var element = this._.element.getElementsByTag( 'div' ).getItem( 0 ); 517 458 if ( isFixed === undefined ) 518 isFixed = this._.element.getFirst().getComputedStyle( 'position' ) == 'fixed';459 isFixed = element.getComputedStyle( 'position' ) == 'fixed'; 519 460 520 461 if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) 521 462 return; … … 531 472 y += scrollPosition.y; 532 473 } 533 474 534 this._.element.getFirst().setStyles(475 element.setStyles( 535 476 { 536 477 'left' : x + 'px', 537 478 'top' : y + 'px' … … 732 673 type : 'vbox', 733 674 className : 'cke_dialog_page_contents', 734 675 children : contents.elements, 735 expand : !!contents.expand 676 expand : !!contents.expand, 677 padding : contents.padding, 678 style : 'width: 100%; height: 100%;' 736 679 }, pageHtml ); 737 680 738 681 // Create the HTML for the tab and the content block. 739 682 var page = CKEDITOR.dom.element.createFromHtml( pageHtml.join( '' ) ); 740 683 var tab = CKEDITOR.dom.element.createFromHtml( [ 741 '<table><tbody><tr><td class="cke_dialog_tab">', 742 '<a href="javascript: void(0)"', titleHtml, ' style="display: block; outline: none;" hidefocus="true">', 743 '<table border="0" cellspacing="0" cellpadding="0"><tbody><tr>', 744 '<td class="cke_dialog_tab_left"></td>', 745 '<td class="cke_dialog_tab_center">', 746 CKEDITOR.tools.htmlEncode( contents.label.replace( / /g, '\xa0' ) ), 747 '</td>', 748 '<td class="cke_dialog_tab_right"></td>', 749 '</tr></tbody></table></a></td></tr></tbody></table>' 684 '<a class="cke_dialog_tab"', 685 ( this._.pageCount > 0 ? ' cke_last' : 'cke_first' ), 686 titleHtml, 687 ' id="', contents.id + '_', CKEDITOR.tools.getNextNumber(), '"' + 688 ' href="javascript:void(0)"', 689 ' hidefocus="true">', 690 contents.label, 691 '</a>' 750 692 ].join( '' ) ); 751 tab = tab.getChild( [0,0,0] );752 693 753 // First and last tab styles classes.754 if ( this._.lastTab )755 this._.lastTab.removeClass( 'last' );756 tab.addClass( this._.pageCount > 0 ? 'last' : 'first' );757 758 694 // If only a single page exist, a different style is used in the central pane. 759 695 if ( this._.pageCount === 0 ) 760 this.parts. c.addClass( 'single_page' );696 this.parts.dialog.addClass( 'cke_single_page' ); 761 697 else 762 this.parts. c.removeClass( 'single_page' );698 this.parts.dialog.removeClass( 'cke_single_page' ); 763 699 764 700 // Take records for the tabs and elements created. 765 701 this._.tabs[ contents.id ] = [ tab, page ]; 766 702 this._.tabIdList.push( contents.id ); 767 703 this._.pageCount++; 768 704 this._.lastTab = tab; 705 769 706 var contentMap = this._.contents[ contents.id ] = {}, 770 707 cursor, 771 708 children = vbox.getChild(); 709 772 710 while ( ( cursor = children.shift() ) ) 773 711 { 774 712 contentMap[ cursor.id ] = cursor; … … 777 715 } 778 716 779 717 // Attach the DOM nodes. 780 tab.unselectable(); 781 page.appendTo( this.parts.contents ); 782 tab.insertBefore( this.parts.tabs.getChild( this.parts.tabs.getChildCount() - 1 ) ); 783 tab.setAttribute( 'id', contents.id + '_' + CKEDITOR.tools.getNextNumber() ); 718 784 719 page.setAttribute( 'name', contents.id ); 720 page.appendTo( this.parts.contents ); 785 721 722 tab.unselectable(); 723 this.parts.tabs.append( tab ); 724 786 725 // Add access key handlers if access key is defined. 787 726 if ( contents.accessKey ) 788 727 { … … 1060 999 id : 'ok', 1061 1000 type : 'button', 1062 1001 label : editor.lang.common.ok, 1063 style : 'width: 60px',1064 1002 onClick : function( evt ) 1065 1003 { 1066 1004 var dialog = evt.data.dialog; … … 1094 1032 id : 'cancel', 1095 1033 type : 'button', 1096 1034 label : editor.lang.common.cancel, 1097 style : 'width: 60px',1098 1035 onClick : function( evt ) 1099 1036 { 1100 1037 var dialog = evt.data.dialog; … … 1591 1528 } 1592 1529 }; 1593 1530 1594 var widthTest = /[lr]/, 1595 heightTest = /[tb]/; 1596 for ( var i = 0 ; i < parts.length ; i++ ) 1597 { 1598 var element = dialog.parts[ parts[i] + '_resize' ]; 1599 if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE || 1600 resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT && widthTest.test( parts[i] ) || 1601 resizable == CKEDITOR.DIALOG_RESIZE_WIDTH && heightTest.test( parts[i] ) ) 1602 { 1603 element.hide(); 1604 continue; 1605 } 1606 element.on( 'mousedown', mouseDownHandler, dialog, { part : parts[i] } ); 1607 } 1531 // TODO : Simplify the resize logic, having just a single resize grip <div>. 1532 // var widthTest = /[lr]/, 1533 // heightTest = /[tb]/; 1534 // for ( var i = 0 ; i < parts.length ; i++ ) 1535 // { 1536 // var element = dialog.parts[ parts[i] + '_resize' ]; 1537 // if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE || 1538 // resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT && widthTest.test( parts[i] ) || 1539 // resizable == CKEDITOR.DIALOG_RESIZE_WIDTH && heightTest.test( parts[i] ) ) 1540 // { 1541 // element.hide(); 1542 // continue; 1543 // } 1544 // element.on( 'mousedown', mouseDownHandler, dialog, { part : parts[i] } ); 1545 // } 1608 1546 }; 1609 1547 1610 1548 var resizeCover; … … 2024 1962 return html.join( '' ); 2025 1963 }; 2026 1964 2027 CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type : 'hbox' }, htmlList, 'table', styles, 2028 { align : ( elementDefinition && elementDefinition.align ) || 2029 ( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' ) }, innerHTML ); 1965 CKEDITOR.ui.dialog.uiElement.call( 1966 this, 1967 dialog, 1968 elementDefinition || { type : 'hbox' }, 1969 htmlList, 1970 'table', 1971 styles, 1972 elementDefinition && elementDefinition.align && { align : elementDefinition.align } || null, 1973 innerHTML ); 2030 1974 }, 2031 1975 2032 1976 /** -
_source/plugins/smiley/dialogs/smiley.js
79 79 80 80 return { 81 81 title : editor.lang.smiley.title, 82 minWidth : 320,83 minHeight : 210,82 minWidth : 270, 83 minHeight : 120, 84 84 contents : [ 85 85 { 86 86 id : 'tab1', 87 87 label : '', 88 88 title : '', 89 89 expand : true, 90 padding : 0, 90 91 elements : [ 91 92 smileySelector 92 93 ] -
_source/plugins/specialchar/dialogs/specialchar.js
7 7 { 8 8 return { 9 9 title : editor.lang.specialChar.title, 10 minWidth : 4 50,11 minHeight : 350,10 minWidth : 420, 11 minHeight : 270, 12 12 buttons : [ CKEDITOR.dialog.cancelButton ], 13 13 charColumns : 17, 14 14 chars : … … 82 82 id : 'info', 83 83 label : editor.lang.common.generalTab, 84 84 title : editor.lang.common.generalTab, 85 padding : 0, 85 86 align : top, 86 87 elements : [ 87 88 { -
_source/themes/default/theme.js
112 112 var baseIdNumber = CKEDITOR.tools.getNextNumber(); 113 113 114 114 var element = CKEDITOR.dom.element.createFromHtml( [ 115 '<div class="cke_skin_', editor.config.skin, ' ', browserCssClass, ' ', 116 CKEDITOR.document.$.compatMode == 'CSS1Compat' ? 'cke_mode_standards' : 'cke_mode_quirks', 115 '<div class="cke_skin_', editor.config.skin, 116 ' ', browserCssClass, 117 ' ', CKEDITOR.env.quirks ? 'cke_mode_quirks' : 'cke_mode_standards', 117 118 ' cke_', editor.lang.dir, 118 119 '" dir="', editor.lang.dir, '">' + 119 '<div id="%#" class="cke_dialog" style="position:', 120 ( CKEDITOR.env.ie6Compat ? 'absolute;' : 'fixed;' ), '">', 121 '<div>'+ 122 '<div id="%tl_#" class="%tl">' + 123 '<div id="%tl_resize_#" class="%tl_resize"></div>' + 124 '</div>' + 125 '<div id="%t_#" class="%t">' + 126 '<div id="%t_resize_#" class="%t_resize"></div>' + 127 '</div>' + 128 '<div id="%tr_#" class="%tr">' + 129 '<div id="%tr_resize_#" class="%tr_resize"></div>' + 130 '</div>' + 120 121 '<div class="cke_dialog" style="position:absolute">' + 122 '<div class="%body">' + 123 '<div id="%title#" class="%title"></div>' + 124 '<div id="%close_button#" class="%close_button"></div>' + 125 '<div id="%tabs#" class="%tabs"></div>' + 126 '<div id="%contents#" class="%contents"></div>' + 127 '<div id="%footer#" class="%footer"></div>' + 131 128 '</div>' + 132 '<div>' + 133 '<div id="%l_#" class="%l">' + 134 '<div id="%l_resize_#" class="%l_resize"></div>' + 135 '</div>' + 136 '<div id="%c_#" class="%c">' + 137 '<div id="%title_#" class="%title">' + 138 '<div id="%close_button_#" class="%close_button"></div>' + 139 '</div>' + 140 '<table id="%tabs_#" class="%tabs" cellpadding="0" border="0" cellspacing="0"><tbody><tr>' + 141 '<td class="head_filler"> </td>' + 142 '<td class="tail_filler"> </td>' + 143 '</tr></tbody></table>' + 144 '<div id="%contents_#" class="%contents"></div>' + 145 '<div id="%footer_#" class="%footer"></div>' + 146 '</div>' + 147 '<div id="%r_#" class="%r">' + 148 '<div id="%r_resize_#" class="%r_resize"></div>' + 149 '</div>' + 150 '</div>' + 151 '<div>' + 152 '<div id="%bl_#" class="%bl">' + 153 '<div id="%bl_resize_#" class="%bl_resize"></div>' + 154 '</div>' + 155 '<div id="%b_#" class="%b">' + 156 '<div id="%b_resize_#" class="%b_resize"></div>' + 157 '</div>' + 158 '<div id="%br_#" class="%br">' + 159 '<div id="%br_resize_#" class="%br_resize"></div>' + 160 '</div>' + 161 '</div>' + 129 '<div id="%tl#" class="%tl"></div>' + 130 '<div id="%tc#" class="%tc"></div>' + 131 '<div id="%tr#" class="%tr"></div>' + 132 '<div id="%ml#" class="%ml"></div>' + 133 '<div id="%mr#" class="%mr"></div>' + 134 '<div id="%bl#" class="%bl"></div>' + 135 '<div id="%bc#" class="%bc"></div>' + 136 '<div id="%br#" class="%br"></div>' + 162 137 '</div>', 138 163 139 //Hide the container when loading skins, later restored by skin css. 164 140 ( CKEDITOR.env.ie ? '' : '<style>.cke_dialog{visibility:hidden;}</style>' ), 141 165 142 '</div>' 166 143 ].join( '' ) 167 .replace( /#/g, baseIdNumber )144 .replace( /#/g, '_' + baseIdNumber ) 168 145 .replace( /%/g, 'cke_dialog_' ) ); 169 146 147 var body = element.getChild( [ 0, 0 ] ); 148 170 149 // Make the Title unselectable. 171 element.getChild( [0, 1, 1, 0]).unselectable();150 body.getChild( 0 ).unselectable(); 172 151 152 173 153 return { 174 154 element : element, 175 titleId : 'cke_dialog_title_' + baseIdNumber, 176 contentsId : 'cke_dialog_contents_' + baseIdNumber, 177 footerId : 'cke_dialog_footer_' + baseIdNumber, 178 closeIds : [ 'cke_dialog_close_button_' + baseIdNumber ], 179 dragIds : [ 'cke_dialog_title_' + baseIdNumber, 'cke_dialog_tabs_' + baseIdNumber ] 155 parts : 156 { 157 dialog : element.getChild( 0 ), 158 title : body.getChild( 0 ), 159 close : body.getChild( 1 ), 160 tabs : body.getChild( 2 ), 161 contents : body.getChild( 3 ), 162 footer : body.getChild( 4 ) 163 } 180 164 }; 181 165 }, 182 166 -
_source/skins/default/skin.js
6 6 CKEDITOR.skins.add( 'default', (function() 7 7 { 8 8 var preload = []; 9 var dialogJs = [];10 9 11 if ( CKEDITOR.env.ie && CKEDITOR.env.version < = 6)10 if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 ) 12 11 { 13 12 // For IE6, we need to preload some images, otherwhise they will be 14 13 // downloaded several times (CSS background bug). 15 14 preload.push( 'icons.gif', 'images/sprites.gif', 'images/dialog.sides.gif' ); 16 17 // The dialog must be fixed by code in IE6, as it doesn't support18 // several CSS features (absolute positioning).19 // dialogJs.push( 'dialog_ie6.js' );20 15 } 21 16 22 17 return { 23 preload 24 editor 25 dialog : { css : [ 'dialog.css' ], js : dialogJs},26 templates 18 preload : preload, 19 editor : { css : [ 'editor.css' ] }, 20 dialog : { css : [ 'dialog.css' ] }, 21 templates : { css : [ 'templates.css' ] } 27 22 }; 28 23 })() ); 29 24 30 (function()25 if ( CKEDITOR.dialog ) 31 26 { 32 // Define the function for resizing dialog parts at load to speed up 33 // the actual resize operation. 34 var skinName = 'default', 35 setSize = function( dialog, partName, width, height ) 27 CKEDITOR.dialog.setMargins( 0, 14, 18, 14 ); 28 29 CKEDITOR.dialog.on( 'resize', function( evt ) 36 30 { 37 var element = partName ? dialog.parts[partName] : dialog._.element.getFirst(); 38 if ( width ) 39 element.setStyle( 'width', width + 'px' ); 40 if ( height ) 41 element.setStyle( 'height', height + 'px' ); 42 }; 31 var data = evt.data, 32 width = data.width, 33 height = data.height, 34 dialog = data.dialog, 35 standardsMode = !CKEDITOR.env.quirk; 43 36 44 if ( CKEDITOR.dialog ) 45 { 46 CKEDITOR.dialog.setMargins( 0, 14, 18, 14 ); 37 if ( data.skin != 'default' ) 38 return; 47 39 48 CKEDITOR.dialog.on( 'resize', function( evt ) 49 { 50 var data = evt.data, 51 width = data.width, 52 height = data.height, 53 dialog = data.dialog, 54 standardsMode = ( CKEDITOR.document.$.compatMode == 'CSS1Compat' ); 55 if ( data.skin != skinName ) 56 return; 40 dialog.parts.contents.setStyles( 41 { 42 width : width + 'px', 43 height : height + 'px' 44 }); 57 45 58 // Dialog parts dimensions. 59 // 16x16 | ?x16 | 16x16 60 // 16x? | ?x? | 16x? 61 // 30x51 | ?x51 | 30x51 62 setSize( dialog, 't', width - 32, 16 ); 63 setSize( dialog, 't_resize', width - 32, null ); 64 setSize( dialog, 'l', 16, height - 67 ); 65 setSize( dialog, 'l_resize', null, height - 22 ); 66 setSize( dialog, 'c', width - 32, height - 67 ); 67 setSize( dialog, 'r', 16, height - 67 ); 68 setSize( dialog, 'r_resize', null, height - 22 ); 69 setSize( dialog, 'b', width - 60, 51 ); 70 setSize( dialog, 'b_resize', width - 32, null ); 71 setSize( dialog, 'tabs_table', width - 32, null ); 46 if ( !CKEDITOR.env.ie ) 47 return; 72 48 73 /* 74 * Although the following fix seems to be for IE6 only, it's also for IE7. 75 * While IE7 can render DIV nodes with left: and right: defined, it cannot 76 * put 100% height TABLES correctly inside those DIVs. Unless the width is 77 * set as well. 78 */ 79 if ( CKEDITOR.env.ie ) 49 // Fix the size of the elements which have flexible lengths. 50 setTimeout( function() 80 51 { 81 var content Width = width - 34,82 contentHeight = dialog.getPageCount() > 1 ? height - 106 : height - 84,83 contentsLength = dialog.parts.contents.getChildCount();52 var content = dialog.parts.contents, 53 body = content.getParent(), 54 innerDialog = body.getParent(); 84 55 85 if ( !standardsMode ) 86 { 87 contentWidth += 2; 88 contentHeight += 2; 89 dialog.parts.tabs.setStyle( 'top', '33px' ); 90 } 56 // tc 57 el = innerDialog.getChild( 2 ); 58 el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' ); 91 59 92 setSize( dialog, 'title', standardsMode ? width - 52 : width - 32, standardsMode ? null : 31 );93 setSize( dialog, 'contents', contentWidth, contentHeight);94 setSize( dialog, 'footer', width - 32);60 // bc 61 el = innerDialog.getChild( 7 ); 62 el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' ); 95 63 96 for ( var i = 0 ; i < contentsLength ; i++ ) 97 { 98 var child = dialog.parts.contents.getChild( i ); 99 if ( ( child instanceof CKEDITOR.dom.element ) && ( child.$.className || '' ).search( 'cke_dialog_page_contents' ) > -1 ) 100 child.setStyles( 101 { 102 width : contentWidth - ( standardsMode ? 20 : 0 ) + 'px', 103 height : contentHeight - ( standardsMode ? 20 : 0 ) + 'px' 104 } ); 105 } 106 } 64 // ml 65 el = innerDialog.getChild( 4 ); 66 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' ); 107 67 108 setSize( dialog, null, width, height ); 109 }); 110 } 111 })(); 68 // mr 69 el = innerDialog.getChild( 5 ); 70 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' ); 71 }, 72 0 ); 73 }); 74 } -
_source/skins/default/dialog.css
9 9 visibility: visible; 10 10 } 11 11 12 .cke_skin_default .cke_dialog_tl, 13 .cke_skin_default .cke_dialog_t, 14 .cke_skin_default .cke_dialog_tr, 15 .cke_skin_default .cke_dialog_l, 16 .cke_skin_default .cke_dialog_c, 17 .cke_skin_default .cke_dialog_r, 18 .cke_skin_default .cke_dialog_bl, 19 .cke_skin_default .cke_dialog_b, 20 .cke_skin_default .cke_dialog_br 12 .cke_skin_default .cke_dialog_body 21 13 { 22 float: left; 14 margin-left: 16px; 15 margin-right: 16px; 16 margin-top: 2px; 17 margin-bottom: 20px; 18 position: relative; 19 z-index: 1; 23 20 } 24 21 25 22 .cke_skin_default .cke_dialog_tl, 26 .cke_skin_default .cke_dialog_l,27 .cke_skin_default .cke_dialog_bl28 {29 clear: left;30 }31 32 .cke_skin_default .cke_dialog_tl,33 23 .cke_skin_default .cke_dialog_tr, 34 .cke_skin_default .cke_dialog_l, 35 .cke_skin_default .cke_dialog_r 36 { 37 width: 16px; 38 } 39 40 .cke_skin_default .cke_dialog_tl, 41 .cke_skin_default .cke_dialog_t, 42 .cke_skin_default .cke_dialog_tr 43 { 44 height: 16px; 45 } 46 47 .cke_skin_default .cke_dialog_tl, 48 .cke_skin_default .cke_dialog_t, 49 .cke_skin_default .cke_dialog_tr, 24 .cke_skin_default .cke_dialog_tc, 50 25 .cke_skin_default .cke_dialog_bl, 51 .cke_skin_default .cke_dialog_b ,52 .cke_skin_default .cke_dialog_b r26 .cke_skin_default .cke_dialog_br, 27 .cke_skin_default .cke_dialog_bc 53 28 { 54 29 background-image: url(images/sprites.png); 55 /* IE6 does not support full color transparent PNG. */56 _background-image: url(images/sprites.gif);57 30 background-repeat: no-repeat; 58 } 31 position: absolute; 59 32 60 .cke_skin_default .cke_dialog_l,61 .cke_skin_default .cke_dialog_r62 {63 background-image: url(images/dialog.sides.png);64 33 /* IE6 does not support full color transparent PNG. */ 65 _background-image: url(images/dialog.sides.gif); 66 background-repeat: repeat-y; 34 _background-image: url(images/sprites.gif); 67 35 } 68 36 69 .cke_skin_default.cke_rtl .cke_dialog_l,70 .cke_skin_default.cke_rtl .cke_dialog_r71 {72 background-image: url(images/dialog.sides.rtl.png);73 _background-image: url(images/dialog.sides.gif);74 }75 76 .cke_skin_default .cke_dialog_bl,77 .cke_skin_default .cke_dialog_b,78 .cke_skin_default .cke_dialog_br79 {80 height: 51px;81 }82 83 .cke_skin_default .cke_dialog_bl,84 .cke_skin_default .cke_dialog_br85 {86 width: 30px;87 }88 89 37 .cke_skin_default .cke_dialog_tl 90 38 { 91 39 background-position: -16px -16px; 40 height: 16px; 41 width: 16px; 42 top: 0; 43 left: 0; 92 44 } 93 45 94 .cke_skin_default.cke_rtl .cke_dialog_tl95 {96 background-position: -16px -397px;97 }98 99 46 .cke_skin_default .cke_dialog_tr 100 47 { 101 48 background-position: -16px -76px; 49 height: 16px; 50 width: 16px; 51 top: 0; 52 right: 0; 102 53 } 103 54 104 .cke_skin_default .cke_rtl .cke_dialog_tr55 .cke_skin_default .cke_dialog_tc 105 56 { 106 background-position: -16px -457px; 107 } 108 109 .cke_skin_default .cke_dialog_t 110 { 111 background-position: 0px -136px; 57 background-position: 0 -136px; 112 58 background-repeat: repeat-x; 59 height: 16px; 60 top: 0; 61 left: 16px; 62 right: 16px; 113 63 } 114 64 115 .cke_skin_default .cke_dialog_ l65 .cke_skin_default .cke_dialog_bl 116 66 { 117 background-position: 0px 0px; 67 background-position: -16px -196px; 68 height: 51px; 69 width: 30px; 70 bottom: 0; 71 left: 0; 118 72 } 119 73 120 .cke_skin_default .cke_dialog_ r74 .cke_skin_default .cke_dialog_br 121 75 { 122 background-position: -16px 0px; 76 background-position: -16px -263px; 77 height: 51px; 78 width: 30px; 79 bottom: 0; 80 right: 0; 123 81 } 124 82 125 .cke_skin_default .cke_dialog_b l83 .cke_skin_default .cke_dialog_bc 126 84 { 127 background-position: -16px -196px; 85 background-position: 0 -330px; 86 background-repeat: repeat-x; 87 height: 51px; 88 bottom: 0; 89 left: 30px; 90 right: 30px; 128 91 } 129 92 130 .cke_skin_default.cke_rtl .cke_dialog_bl 93 .cke_skin_default .cke_dialog_ml, 94 .cke_skin_default .cke_dialog_mr 131 95 { 132 background-position: -16px -517px; 96 background-image: url(images/dialog.sides.png); 97 background-repeat: repeat-y; 98 position: absolute; 99 width: 16px; 100 top: 16px; 101 bottom: 51px; 102 103 /* IE6 does not support full color transparent PNG. */ 104 _background-image: url(images/dialog.sides.gif); 133 105 } 134 106 135 .cke_skin_default .cke_dialog_ b107 .cke_skin_default .cke_dialog_ml 136 108 { 137 background-position: 0 px -330px;138 background-repeat: repeat-x;109 background-position: 0 0; 110 left: 0; 139 111 } 140 112 141 .cke_skin_default .cke_dialog_ br113 .cke_skin_default .cke_dialog_mr 142 114 { 143 background-position: -16px -263px; 115 background-position: -16px 0; 116 right: 0; 144 117 } 145 118 146 .cke_skin_default.cke_rtl .cke_dialog_br 119 .cke_skin_default .cke_browser_iequirks .cke_dialog_ml, 120 .cke_skin_default .cke_browser_iequirks .cke_dialog_mr 147 121 { 148 background-position: -16px -584px;122 margin-top: 3px; 149 123 } 150 124 151 125 .cke_skin_default .cke_dialog_title 152 126 { 153 position: absolute;154 top: 2px;155 left: 16px;156 height: 23px;157 right: 16px;158 127 font-weight: bold; 159 128 font-size: 14pt; 160 129 color: #737357; 161 130 background-color: #e3e3c7; 162 padding: 3px 10px 3px 10px; 163 overflow: hidden; 131 padding: 3px 10px 26px 10px; 164 132 cursor: move; 133 position: relative; 165 134 } 166 135 167 .cke_skin_default .single_page .cke_dialog_tabs168 {169 display: none;170 }171 172 .cke_skin_default .cke_dialog_tabs173 {174 position: absolute;175 top: 31px;176 left: 16px;177 height: 23px;178 right: 16px;179 background-color: #e3e3c7;180 z-index: 1;181 border-collapse: separate;182 }183 184 .cke_skin_default.cke_browser_ie .cke_dialog_tabs185 {186 border-collapse: collapse;187 }188 189 .cke_skin_default .cke_dialog_tabs .head_filler190 {191 padding-left: 10px;192 border-bottom: 1px solid #D5D59D;193 line-height: 50%;194 }195 196 .cke_skin_default .cke_dialog_tabs .tail_filler197 {198 width: 100%;199 border-bottom: 1px solid #D5D59D;200 line-height: 50%;201 }202 203 136 .cke_skin_default .cke_dialog_contents 204 137 { 205 position: absolute;206 138 background-color: #f1f1e3; 207 top: 54px;208 left: 16px;209 bottom: 51px;210 right: 16px;211 139 border: #d5d59d 1px solid; 212 border-top: none; 140 overflow: auto; 141 padding: 5px 10px; 213 142 } 214 143 215 .cke_skin_default .single_page .cke_dialog_contents216 {217 top: 31px;218 border-top: #d5d59d 1px solid;219 }220 221 144 .cke_skin_default .cke_dialog_footer 222 145 { 223 position: absolute;224 146 background-color: #e3e3c7; 225 height: 31px; 226 left: 16px; 227 right: 16px; 228 bottom: 20px; 147 text-align: right; 229 148 } 230 149 231 .cke_skin_default .cke_dialog_page_contents 150 /* tabs */ 151 152 .cke_skin_default .cke_dialog_tabs 232 153 { 154 height: 23px; 155 background-color: #e3e3c7; 156 float:left; 157 margin-left:10px; 158 margin-top:-23px; 233 159 position: absolute; 234 top: 0px; 235 bottom: 0px; 236 left: 0px; 237 right: 0px; 238 padding: 5px 10px; 160 z-index: 2; 239 161 } 240 162 241 .cke_skin_default .cke_dialog_tab_center 163 .cke_skin_default a.cke_dialog_tab, 164 .cke_skin_default a:link.cke_dialog_tab, 165 .cke_skin_default a:active.cke_dialog_tab, 166 .cke_skin_default a:hover.cke_dialog_tab, 167 .cke_skin_default a:visited.cke_dialog_tab 242 168 { 243 cursor: pointer;244 }245 246 .cke_skin_default .cke_dialog_tab247 {248 border-bottom: 1px solid #D5D59D;249 }250 251 .cke_skin_default .cke_dialog_tab_left,252 .cke_skin_default .cke_dialog_tab_right253 {254 cursor: pointer;255 }256 257 .cke_skin_default .cke_dialog_tab_center258 {259 169 color: #737357; 260 170 border-left: 1px solid #d5d59d; 261 171 border-right: 1px solid #d5d59d; 262 172 border-top: 1px solid #d5d59d; 263 height: 1 5px;173 height: 14px; 264 174 padding: 4px 5px; 175 display: block; 176 float: left; 177 cursor: pointer; 265 178 } 266 179 267 .cke_skin_default .cke_browser_webkit.cke_mode_quirks .cke_dialog_tab_center180 .cke_skin_default a:hover.cke_dialog_tab 268 181 { 269 padding: 4px 5px 5px 5px;182 background-color: #f1f1e3; 270 183 } 271 184 272 .cke_skin_default.cke_browser_webkit.cke_mode_standards .cke_dialog_tab_center 185 .cke_skin_default a.cke_dialog_tab_selected, 186 .cke_skin_default a:link.cke_dialog_tab_selected, 187 .cke_skin_default a:active.cke_dialog_tab_selected, 188 .cke_skin_default a:hover.cke_dialog_tab_selected, 189 .cke_skin_default a:visited.cke_dialog_tab_selected 273 190 { 274 padding: 4px 5px 2px 5px; 191 border-bottom: 1px solid #f1f1e3; 192 background-color: #f1f1e3; 193 font-weight: bold; 194 cursor: default; 275 195 } 276 196 197 /* single_page */ 277 198 278 .cke_skin_default .cke_ dialog_tab_selected199 .cke_skin_default .cke_single_page .cke_dialog_tabs 279 200 { 280 border-bottom: 1px solid #F1F1E3;201 display: none; 281 202 } 282 203 283 .cke_skin_default .cke_dialog_tab_selected .cke_dialog_tab_left, 284 .cke_skin_default .cke_dialog_tab_selected .cke_dialog_tab_center, 285 .cke_skin_default .cke_dialog_tab_selected .cke_dialog_tab_right 204 .cke_skin_default .cke_single_page .cke_dialog_title 286 205 { 287 cursor: default;206 padding-bottom: 3px; 288 207 } 289 208 290 .cke_skin_default .cke_dialog_tab_selected .cke_dialog_tab_center291 {292 background-color: #f1f1e3;293 font-weight: bold;294 }295 296 209 .cke_skin_default .cke_dialog_ui_vbox table, 297 210 .cke_skin_default .cke_dialog_ui_hbox table 298 211 { … … 375 288 vertical-align: top; 376 289 } 377 290 378 .cke_skin_default .cke_dialog_ui_button table 379 { 380 border: #737357 1px solid; 381 } 291 /* button */ 382 292 383 .cke_skin_default .cke_dialog_ui_button.disabled table293 .cke_skin_default a.cke_dialog_ui_button 384 294 { 385 border : #898980 1px solid;295 border-collapse: separate; 386 296 } 387 297 388 .cke_skin_default .cke_dialog_ui_button_txt298 .cke_skin_default span.cke_dialog_ui_button 389 299 { 300 border: #737357 1px solid; 390 301 padding: 2px 10px; 391 302 text-align: center; 392 303 color: #3b3b1f; 393 304 background-color: #c7c78f; 305 display: inline-block; 394 306 } 395 307 396 .cke_skin_default .cke_dialog_ui_button.disabled .cke_dialog_ui_button_txt308 .cke_skin_default a.cke_dialog_ui_button span.cke_disabled 397 309 { 310 border: #898980 1px solid; 398 311 color: #5e5e55; 399 312 background-color: #c5c5b3; 400 313 } 401 314 402 .cke_skin_default a:focus .cke_dialog_ui_button .cke_dialog_ui_button_txt,403 .cke_skin_default a:active .cke_dialog_ui_button .cke_dialog_ui_button_txt315 .cke_skin_default a:focus span.cke_dialog_ui_button, 316 .cke_skin_default a:active span.cke_dialog_ui_button 404 317 { 405 318 background-color: #e3e3c7; 406 319 } 407 320 408 .cke_skin_default strong321 .cke_skin_default .cke_dialog_footer_buttons 409 322 { 410 font-weight: bold; 323 display: inline-table; 324 margin-right: 12px; 325 width: auto; 326 position: relative; 411 327 } 412 328 413 .cke_skin_default .cke_dialog_footer_buttons 329 .cke_skin_default .cke_dialog_footer_buttons span.cke_dialog_ui_button 414 330 { 415 width: auto; 416 position: absolute; 417 right: 10px; 418 top: 7px; 331 width: 60px; 332 margin: 7px 0; 419 333 } 420 334 421 .cke_skin_default .cke_rtl .cke_dialog_footer_buttons335 .cke_skin_default strong 422 336 { 423 right: auto; 424 left: 10px; 337 font-weight: bold; 425 338 } 426 339 340 /* close_button */ 341 427 342 .cke_skin_default .cke_dialog_close_button 428 343 { 429 344 background-image: url(images/sprites.png); 430 /* IE6 does not support full color transparent PNG. */431 _background-image: url(images/sprites.gif);432 345 background-repeat: no-repeat; 433 346 background-position: -16px -651px; 434 347 position: absolute; … … 437 350 width: 20px; 438 351 right: 10px; 439 352 top: 5px; 353 354 _right: 22px; 355 356 /* IE6 does not support full color transparent PNG. */ 357 _background-image: url(images/sprites.gif); 440 358 } 441 359 442 360 .cke_skin_default .cke_dialog_close_button:hover … … 450 368 right: auto; 451 369 } 452 370 453 .cke_skin_default .cke_dialog_tl_resize,454 .cke_skin_default .cke_dialog_t_resize,455 .cke_skin_default .cke_dialog_tr_resize,456 .cke_skin_default .cke_dialog_bl_resize,457 .cke_skin_default .cke_dialog_b_resize,458 .cke_skin_default .cke_dialog_br_resize459 {460 position: absolute;461 height: 5px;462 overflow: hidden;463 background-color: transparent;464 }465 466 .cke_skin_default .cke_dialog_l_resize,467 .cke_skin_default .cke_dialog_r_resize468 {469 position: absolute;470 width: 5px;471 overflow: hidden;472 background-color: transparent;473 }474 475 .cke_skin_default .cke_dialog_tl_resize476 {477 width: 5px;478 left: 11px;479 top: -3px;480 cursor: nw-resize;481 }482 483 .cke_skin_default .cke_dialog_t_resize484 {485 left: 16px;486 top: -3px;487 cursor: n-resize;488 }489 490 .cke_skin_default .cke_dialog_tr_resize491 {492 width: 5px;493 right: 14px;494 top: -3px;495 cursor: ne-resize;496 }497 498 .cke_skin_default .cke_dialog_l_resize499 {500 top: 2px;501 left: 11px;502 cursor: w-resize;503 }504 505 .cke_skin_default .cke_dialog_r_resize506 {507 top: 2px;508 right: 14px;509 cursor: e-resize;510 }511 512 .cke_skin_default .cke_dialog_bl_resize513 {514 bottom: 18px;515 left: 11px;516 width: 5px;517 cursor: sw-resize;518 }519 520 .cke_skin_default .cke_dialog_b_resize521 {522 bottom: 18px;523 left: 16px;524 cursor: s-resize;525 }526 527 .cke_skin_default .cke_dialog_br_resize528 {529 bottom: 18px;530 right: 14px;531 width: 8px;532 height: 8px;533 cursor: se-resize;534 }535 536 371 .cke_skin_default .cke_dialog_ui_input_select 537 372 { 538 373 border: 1px solid #a0a0a0; … … 551 386 } 552 387 553 388 /* 554 * Safari and Gecko on Mac actually distinguish between single-sided and555 * double-sided resize cursors. The double-sided resize cursors should be used.556 */557 .cke_skin_default.cke_browser_gecko .cke_dialog_tl_resize,558 .cke_skin_default.cke_browser_webkit .cke_dialog_tl_resize,559 .cke_skin_default.cke_browser_gecko .cke_dialog_br_resize,560 .cke_skin_default.cke_browser_webkit .cke_dialog_br_resize561 {562 cursor: nwse-resize;563 }564 565 .cke_skin_default.cke_browser_gecko .cke_dialog_tr_resize,566 .cke_skin_default.cke_browser_webkit .cke_dialog_tr_resize,567 .cke_skin_default.cke_browser_gecko .cke_dialog_bl_resize,568 .cke_skin_default.cke_browser_webkit .cke_dialog_bl_resize569 {570 cursor: nesw-resize;571 }572 573 .cke_skin_default.cke_browser_gecko .cke_dialog_l_resize,574 .cke_skin_default.cke_browser_webkit .cke_dialog_l_resize,575 .cke_skin_default.cke_browser_gecko .cke_dialog_r_resize,576 .cke_skin_default.cke_browser_webkit .cke_dialog_r_resize577 {578 cursor: ew-resize;579 }580 581 .cke_skin_default.cke_browser_gecko .cke_dialog_t_resize,582 .cke_skin_default.cke_browser_webkit .cke_dialog_t_resize,583 .cke_skin_default.cke_browser_gecko .cke_dialog_b_resize,584 .cke_skin_default.cke_browser_webkit .cke_dialog_b_resize585 {586 cursor: ns-resize;587 }588 589 /*590 389 * Some utility CSS classes for dialog authors. 591 390 */ 592 391 .cke_skin_default .cke_dialog .dark_background