Ticket #3021: 3021.patch
File 3021.patch, 40.8 KB (added by , 16 years ago) |
---|
-
_source/core/env.js
31 31 * alert( "I'm on IE!" ); 32 32 */ 33 33 ie : /*@cc_on!@*/false, 34 34 35 /** 35 36 * Indicates that CKEditor is running on Opera. 36 37 * @type Boolean … … 39 40 * alert( "I'm on Opera!" ); 40 41 */ 41 42 opera : ( !!opera && opera.version ), 43 42 44 /** 43 45 * Indicates that CKEditor is running on a WebKit based browser, like 44 46 * Safari. … … 48 50 * alert( "I'm on WebKit!" ); 49 51 */ 50 52 webkit : ( agent.indexOf( ' applewebkit/' ) > -1 ), 53 51 54 /** 52 55 * Indicates that CKEditor is running on Adobe AIR. 53 56 * @type Boolean … … 56 59 * alert( "I'm on AIR!" ); 57 60 */ 58 61 air : ( agent.indexOf( ' adobeair/' ) > -1 ), 62 59 63 /** 60 64 * Indicates that CKEditor is running on Macintosh. 61 65 * @type Boolean … … 63 67 * if ( CKEDITOR.env.mac ) 64 68 * alert( "I love apples!" ); 65 69 */ 66 mac : ( agent.indexOf( 'macintosh' ) > -1 ) 70 mac : ( agent.indexOf( 'macintosh' ) > -1 ), 71 72 quirks : ( document.compatMode == 'BackCompat' ) 67 73 }; 68 74 69 75 /** … … 92 98 * if ( CKEDITOR.env.ie6Compat ) 93 99 * alert( "I'm on IE6 or quirks mode!" ); 94 100 */ 95 env.ie6Compat = ( version < 7 || document.compatMode == 'BackCompat');101 env.ie6Compat = ( version < 7 || env.quirks ); 96 102 } 97 103 98 104 // Gecko. -
_source/core/focusmanager.js
65 65 // "focus 1" > "focus 2" > "blur 1" 66 66 if ( CKEDITOR.currentInstance ) 67 67 CKEDITOR.currentInstance.focusManager.forceBlur(); 68 69 var editor = this._.editor; 68 70 71 editor.container.getFirst().addClass( 'cke_focus' ); 72 69 73 this.hasFocus = true; 70 this._.editor.fire( 'focus' );74 editor.fire( 'focus' ); 71 75 } 72 76 }, 73 77 … … 108 112 { 109 113 if ( this.hasFocus ) 110 114 { 115 var editor = this._.editor; 116 117 editor.container.getFirst().removeClass( 'cke_focus' ); 118 111 119 this.hasFocus = false; 112 this._.editor.fire( 'blur' );120 editor.fire( 'blur' ); 113 121 } 114 122 } 115 123 }; -
_source/plugins/button/plugin.js
34 34 * @example 35 35 */ 36 36 this.label = definition.label; 37 if ( CKEDITOR.env.ie )38 this.label += '\ufeff';39 37 40 38 /** 41 39 * The button advisory title. It is usually displayed as the button tooltip. … … 122 120 123 121 var index = CKEDITOR.ui.button._.instances.push( instance ) - 1; 124 122 125 var classes = ' cke_button';123 var classes = ''; 126 124 127 125 // Get the command name. 128 126 var command = this.command; … … 150 148 classes += ' ' + this.className; 151 149 152 150 output.push( 151 '<span class="cke_button">', 153 152 '<a id="', id, '"' + 154 ' class="', classes, '" href="javascript:void(\'', ( this. label|| '' ).replace( "'", '' ), '\')"' +153 ' class="', classes, '" href="javascript:void(\'', ( this.title || '' ).replace( "'", '' ), '\')"' + 155 154 ' title="', this.title, '"' + 156 155 ' tabindex="-1"' + 157 156 ' hidefocus="true"' ); … … 185 184 output.push( 186 185 '></span>' + 187 186 '<span class="cke_label">', this.label, '</span>' + 188 '</a>' ); 187 '</a>', 188 '</span>' ); 189 189 190 190 return instance; 191 191 }, -
_source/plugins/colorbutton/plugin.js
28 28 29 29 panel : 30 30 { 31 css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ], 32 className : 'cke_skin_default' 31 css : [ CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ] 33 32 }, 34 33 35 34 onBlock : function( panel, blockName ) -
_source/plugins/floatpanel/plugin.js
12 12 { 13 13 var panels = {}; 14 14 15 function getPanel( doc, parentElement, definition, level )15 function getPanel( editor, doc, parentElement, definition, level ) 16 16 { 17 17 // Generates the panel key: docId-eleId-CSSs 18 18 var key = 19 19 doc.getUniqueId() + 20 20 '-' + parentElement.getUniqueId() + 21 '-' + editor.skinName + 21 22 ( ( definition.css && ( '-' + definition.css ) ) || '' ) + 22 23 ( ( level && ( '-' + level ) ) || '' ); 23 24 … … 26 27 if ( !panel ) 27 28 { 28 29 panel = panels[ key ] = new CKEDITOR.ui.panel( doc, definition ); 29 panel.element = parentElement.append( CKEDITOR.dom.element.createFromHtml( panel.renderHtml( ), doc ) );30 panel.element = parentElement.append( CKEDITOR.dom.element.createFromHtml( panel.renderHtml( editor ), doc ) ); 30 31 31 32 panel.element.setStyles( 32 33 { … … 40 41 41 42 CKEDITOR.ui.floatPanel = CKEDITOR.tools.createClass( 42 43 { 43 $ : function( parentElement, definition, level )44 $ : function( editor, parentElement, definition, level ) 44 45 { 45 46 definition.forceIFrame = true; 46 47 47 48 var doc = parentElement.getDocument(), 48 panel = getPanel( doc, parentElement, definition, level || 0 ),49 panel = getPanel( editor, doc, parentElement, definition, level || 0 ), 49 50 element = panel.element, 50 iframe = element.getFirst() ;51 iframe = element.getFirst().getFirst(); 51 52 52 53 this.element = element; 53 54 … … 109 110 { 110 111 function setHeight() 111 112 { 112 element. setStyle( 'height', block.element.$.scrollHeight + 'px' );113 element.getFirst().setStyle( 'height', block.element.$.scrollHeight + 'px' ); 113 114 } 114 115 115 116 if ( !CKEDITOR.env.gecko || panel.isLoaded ) … … 118 119 panel.onLoad = setHeight; 119 120 } 120 121 else 121 element. removeStyle( 'height' );122 element.getFirst().removeStyle( 'height' ); 122 123 123 124 // Configure the IFrame blur event. Do that only once. 124 125 if ( !this._.blurSet ) -
_source/plugins/font/plugin.js
36 36 37 37 panel : 38 38 { 39 css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ], 40 className : 'cke_skin_default' 39 css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ] 41 40 }, 42 41 43 42 init : function() -
_source/plugins/format/plugin.js
34 34 35 35 panel : 36 36 { 37 css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ], 38 className : 'cke_skin_default' 37 css : [ config.contentsCss, CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ] 39 38 }, 40 39 41 40 init : function() -
_source/plugins/menu/plugin.js
117 117 // Create the floating panel for this menu. 118 118 if ( !panel ) 119 119 { 120 panel = this._.panel = new CKEDITOR.ui.floatPanel( CKEDITOR.document.getBody(),120 panel = this._.panel = new CKEDITOR.ui.floatPanel( this.editor, CKEDITOR.document.getBody(), 121 121 { 122 122 css : [ CKEDITOR.getUrl( editor.skinPath + 'editor.css' ) ], 123 123 level : this._.level - 1, … … 237 237 render : function( menu, index, output ) 238 238 { 239 239 var id = menu.id + String( index ), 240 classes = 'cke_menuitem',241 240 state = this.state || CKEDITOR.TRISTATE_OFF; 242 241 243 classes += ' cke_' + (242 var classes = ' cke_' + ( 244 243 state == CKEDITOR.TRISTATE_ON ? 'on' : 245 244 state == CKEDITOR.TRISTATE_DISABLED ? 'disabled' : 246 245 'off' ); … … 249 248 classes += ' ' + this.className; 250 249 251 250 output.push( 251 '<span class="cke_menuitem">' + 252 252 '<a id="', id, '"' + 253 253 ' class="', classes, '" href="javascript:void(\'', ( this.label || '' ).replace( "'", '' ), '\')"' + 254 254 ' title="', this.label, '"' + … … 292 292 output.push( 293 293 this.label, 294 294 '</span>' + 295 '</a>' ); 295 '</a>' + 296 '</span>' ); 296 297 } 297 298 } 298 299 }); -
_source/plugins/panel/plugin.js
56 56 57 57 CKEDITOR.ui.panel.prototype = 58 58 { 59 renderHtml : function( )59 renderHtml : function( editor ) 60 60 { 61 61 var output = []; 62 this.render( output );62 this.render( editor, output ); 63 63 return output.join( '' ); 64 64 }, 65 65 … … 71 71 * to this button. 72 72 * @example 73 73 */ 74 render : function( output )74 render : function( editor, output ) 75 75 { 76 76 var id = 'cke_' + this.id; 77 77 78 78 output.push( 79 '<div id=', id,80 ' class="cke_panel' );79 '<div class="', editor.skinClass ,'">' + 80 '<div id=', id, ' class="cke_panel' ); 81 81 82 82 if ( this.className ) 83 output.push( ' ', this.className );83 output.push( ' ', this.className ); 84 84 85 85 output.push( 86 '">');86 '">' ); 87 87 88 88 if ( this.forceIFrame || this.css.length ) 89 89 { 90 90 output.push( 91 '<iframe id="', id, '_frame"' +92 ' frameborder="0"' +93 ' src="javascript:void(0)"' +94 '></iframe>' );91 '<iframe id="', id, '_frame"' + 92 ' frameborder="0"' + 93 ' src="javascript:void(0)"' + 94 '></iframe>' ); 95 95 } 96 96 97 97 output.push( 98 '</div>' + 98 99 '</div>' ); 99 100 100 101 return id; … … 110 111 { 111 112 var iframe = this.document.getById( 'cke_' + this.id + '_frame' ); 112 113 var doc = new CKEDITOR.dom.document( iframe.$.contentWindow.document ); 113 114 114 115 // Initialize the IFRAME document body. 115 116 doc.$.open(); 116 117 doc.$.write( … … 123 124 '</body>' + 124 125 '<\/html>' ); 125 126 doc.$.close(); 126 127 127 128 var win = doc.getWindow(); 128 129 129 130 // Register the CKEDITOR global. … … 175 176 this._.currentBlock = block; 176 177 177 178 block.show(); 178 179 179 180 return block; 180 181 } 181 182 }; -
_source/plugins/panelbutton/plugin.js
79 79 { 80 80 var _ = this._; 81 81 82 this.createPanel( );82 this.createPanel( editor ); 83 83 84 84 if ( _.on ) 85 85 { … … 111 111 112 112 var label = this.label || ''; 113 113 114 var classes = 'cke_ button cke_off';114 var classes = 'cke_off'; 115 115 116 116 if ( this.className ) 117 117 classes += ' ' + this.className; 118 118 119 if ( CKEDITOR.env.ie )120 label += '\ufeff';121 122 119 output.push( 120 '<span class="cke_button">', 123 121 '<a id="', id, '"' + 124 ' class="', classes, '" href="javascript:void(\'', ( this. label|| '' ).replace( "'", '' ), '\')"' +122 ' class="', classes, '" href="javascript:void(\'', ( this.title || '' ).replace( "'", '' ), '\')"' + 125 123 ' title="', this.title, '"' + 126 124 ' tabindex="-1"' + 127 125 ' hidefocus="true"' ); … … 147 145 ' onkeydown="CKEDITOR.tools.callFunction( ', keyDownFn, ', event, this );"' + 148 146 ' onclick="CKEDITOR.tools.callFunction(', clickFn, ', this);">' + 149 147 '<span class="cke_icon"></span>' + 150 '<span class="cke_label">', label, '</span>' +148 '<span class="cke_label">', this.label, '</span>' + 151 149 '<span class="cke_buttonarrow"></span>' + 152 '</a>' ); 150 '</a>' + 151 '</span>' ); 153 152 154 153 return instance; 155 154 }, 156 155 157 createPanel : function( )156 createPanel : function( editor ) 158 157 { 159 158 var _ = this._; 160 159 … … 163 162 164 163 var panelDefinition = this._.panelDefinition || {}, 165 164 panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), 166 panel = this._.panel = new CKEDITOR.ui.floatPanel( panelParentElement, panelDefinition ),165 panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), 167 166 me = this; 168 167 169 168 panel.onShow = function() 170 169 { 171 170 if ( me.className ) 172 this.element. addClass( me.className);171 this.element.getFirst().addClass( me.className + '_panel' ); 173 172 174 me. document.getById( _.id ).addClass( 'cke_on');173 me.setState( CKEDITOR.TRISTATE_ON ); 175 174 176 175 _.on = 1; 177 176 … … 182 181 panel.onHide = function() 183 182 { 184 183 if ( me.className ) 185 this.element. removeClass( me.className);184 this.element.getFirst().removeClass( me.className + '_panel' ); 186 185 187 me. document.getById( _.id ).removeClass( 'cke_on');186 me.setState( CKEDITOR.TRISTATE_OFF ); 188 187 189 188 _.on = 0; 190 189 -
_source/plugins/richcombo/plugin.js
86 86 { 87 87 var _ = this._; 88 88 89 this.createPanel( );89 this.createPanel( editor ); 90 90 91 91 if ( _.on ) 92 92 { … … 142 142 }); 143 143 144 144 output.push( 145 '<span id=', id, ' class="cke_rcombo' ); 145 '<span class="cke_rcombo">', 146 '<span id=', id ); 146 147 147 148 if ( this.className ) 148 output.push( ' ', this.className);149 output.push( ' class="', this.className, '"'); 149 150 150 151 output.push( 151 ' ">' +152 '>' + 152 153 '<span class=cke_label>', this.label, '</span>' + 153 154 '<a hidefocus=true title="', this.title, '" tabindex="-1" href="javascript:void(\'', this.label, '\')"' ); 154 155 … … 175 176 '<span id="', id, '_text" class=cke_text> </span>' + 176 177 '<span class=cke_openbutton></span>' + 177 178 '</a>' + 179 '</span>' + 178 180 '</span>' ); 179 181 180 182 if ( this.onRender ) … … 183 185 return instance; 184 186 }, 185 187 186 createPanel : function( )188 createPanel : function( editor ) 187 189 { 188 190 if ( this._.panel ) 189 191 return; 190 192 191 193 var panelDefinition = this._.panelDefinition, 192 194 panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), 193 panel = new CKEDITOR.ui.floatPanel( panelParentElement, panelDefinition ),195 panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), 194 196 list = panel.addListBlock( this.id, this.multiSelect ), 195 197 me = this; 196 198 197 199 panel.onShow = function() 198 200 { 199 201 if ( me.className ) 200 this.element. addClass( me.className);202 this.element.getFirst().addClass( me.className + '_panel' ); 201 203 202 204 me.document.getById( 'cke_' + me.id ).addClass( 'cke_on'); 203 205 … … 210 212 panel.onHide = function() 211 213 { 212 214 if ( me.className ) 213 this.element. removeClass( me.className);215 this.element.getFirst().removeClass( me.className + '_panel' ); 214 216 215 217 me.document.getById( 'cke_' + me.id ).removeClass( 'cke_on'); 216 218 -
_source/plugins/stylescombo/plugin.js
26 26 27 27 panel : 28 28 { 29 css : [ config.contentsCss, editor.skinPath + 'editor.css' ], 30 className : 'cke_skin_default' 29 css : [ config.contentsCss, editor.skinPath + 'editor.css' ] 31 30 }, 32 31 33 32 init : function() -
_source/skins/default/editor.css
14 14 @import url("presets.css"); 15 15 16 16 /* Restore the container visibility */ 17 body .cke_ container17 body .cke_skin_default 18 18 { 19 19 visibility: visible; 20 20 } -
_source/skins/default/icons.css
3 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 4 */ 5 5 6 .cke_skin_default a.cke_button_source .cke_icon6 .cke_skin_default .cke_button_source .cke_icon 7 7 { 8 8 background-position: 0 0; 9 9 } 10 10 11 .cke_skin_default a.cke_button_newpage .cke_icon11 .cke_skin_default .cke_button_newpage .cke_icon 12 12 { 13 13 background-position: 0 -48px; 14 14 } 15 15 16 .cke_skin_default a.cke_button_preview .cke_icon16 .cke_skin_default .cke_button_preview .cke_icon 17 17 { 18 18 background-position: 0 -64px; 19 19 } 20 20 21 .cke_skin_default a.cke_button_cut .cke_icon21 .cke_skin_default .cke_button_cut .cke_icon 22 22 { 23 23 background-position: 0 -96px; 24 24 } 25 25 26 .cke_skin_default a.cke_button_copy .cke_icon26 .cke_skin_default .cke_button_copy .cke_icon 27 27 { 28 28 background-position: 0 -112px; 29 29 } 30 30 31 .cke_skin_default a.cke_button_paste .cke_icon31 .cke_skin_default .cke_button_paste .cke_icon 32 32 { 33 33 background-position: 0 -128px; 34 34 } 35 35 36 .cke_skin_default a.cke_button_pastetext .cke_icon36 .cke_skin_default .cke_button_pastetext .cke_icon 37 37 { 38 38 background-position: 0 -144px; 39 39 } 40 40 41 .cke_skin_default a.cke_button_find .cke_icon41 .cke_skin_default .cke_button_find .cke_icon 42 42 { 43 43 background-position: 0 -240px; 44 44 } 45 45 46 .cke_skin_default a.cke_button_replace .cke_icon46 .cke_skin_default .cke_button_replace .cke_icon 47 47 { 48 48 background-position: 0 -256px; 49 49 } 50 50 51 .cke_skin_default a.cke_button_selectAll .cke_icon51 .cke_skin_default .cke_button_selectAll .cke_icon 52 52 { 53 53 background-position: 0 -272px; 54 54 } 55 55 56 .cke_skin_default a.cke_button_removeFormat .cke_icon56 .cke_skin_default .cke_button_removeFormat .cke_icon 57 57 { 58 58 background-position: 0 -288px; 59 59 } 60 60 61 .cke_skin_default a.cke_button_bold .cke_icon61 .cke_skin_default .cke_button_bold .cke_icon 62 62 { 63 63 background-position: 0 -304px; 64 64 } 65 65 66 .cke_skin_default a.cke_button_italic .cke_icon66 .cke_skin_default .cke_button_italic .cke_icon 67 67 { 68 68 background-position: 0 -320px; 69 69 } 70 70 71 .cke_skin_default a.cke_button_underline .cke_icon71 .cke_skin_default .cke_button_underline .cke_icon 72 72 { 73 73 background-position: 0 -336px; 74 74 } 75 75 76 .cke_skin_default a.cke_button_strike .cke_icon76 .cke_skin_default .cke_button_strike .cke_icon 77 77 { 78 78 background-position: 0 -352px; 79 79 } 80 80 81 .cke_skin_default a.cke_button_subscript .cke_icon81 .cke_skin_default .cke_button_subscript .cke_icon 82 82 { 83 83 background-position: 0 -368px; 84 84 } 85 85 86 .cke_skin_default a.cke_button_superscript .cke_icon86 .cke_skin_default .cke_button_superscript .cke_icon 87 87 { 88 88 background-position: 0 -384px; 89 89 } 90 90 91 .cke_skin_default a.cke_button_table .cke_icon91 .cke_skin_default .cke_button_table .cke_icon 92 92 { 93 93 background-position: 0 -608px; 94 94 } 95 95 96 .cke_skin_default a.cke_button_horizontalrule .cke_icon96 .cke_skin_default .cke_button_horizontalrule .cke_icon 97 97 { 98 98 background-position: 0 -624px; 99 99 } 100 100 101 .cke_skin_default a.cke_button_smiley .cke_icon101 .cke_skin_default .cke_button_smiley .cke_icon 102 102 { 103 103 background-position: 0 -640px; 104 104 } 105 105 106 .cke_skin_default a.cke_button_link .cke_icon106 .cke_skin_default .cke_button_link .cke_icon 107 107 { 108 108 background-position: 0 -528px; 109 109 } 110 110 111 .cke_skin_default a.cke_button_unlink .cke_icon111 .cke_skin_default .cke_button_unlink .cke_icon 112 112 { 113 113 background-position: 0 -544px; 114 114 } 115 115 116 .cke_skin_default a.cke_button_anchor .cke_icon116 .cke_skin_default .cke_button_anchor .cke_icon 117 117 { 118 118 background-position: 0 -560px; 119 119 } 120 120 121 .cke_skin_default a.cke_button_image .cke_icon121 .cke_skin_default .cke_button_image .cke_icon 122 122 { 123 123 background-position: 0 -576px; 124 124 } 125 125 126 .cke_skin_default a.cke_button_flash .cke_icon126 .cke_skin_default .cke_button_flash .cke_icon 127 127 { 128 128 background-position: 0 -592px; 129 129 } 130 130 131 .cke_skin_default a.cke_button_specialchar .cke_icon131 .cke_skin_default .cke_button_specialchar .cke_icon 132 132 { 133 133 background-position: 0 -656px; 134 134 } 135 135 136 .cke_skin_default a.cke_button_pagebreak .cke_icon136 .cke_skin_default .cke_button_pagebreak .cke_icon 137 137 { 138 138 background-position: 0 -672px; 139 139 } 140 140 141 .cke_skin_default a.cke_button_print .cke_icon141 .cke_skin_default .cke_button_print .cke_icon 142 142 { 143 143 background-position: 0 -176px; 144 144 } 145 145 146 .cke_skin_default a.cke_button_checkspell .cke_icon146 .cke_skin_default .cke_button_checkspell .cke_icon 147 147 { 148 148 background-position: 0 -192px; 149 149 } 150 150 151 .cke_skin_default a.cke_button_pagebreak .cke_icon151 .cke_skin_default .cke_button_pagebreak .cke_icon 152 152 { 153 153 background-position: 0 -672px; 154 154 } 155 155 156 .cke_skin_default a.cke_button_textcolor .cke_icon156 .cke_skin_default .cke_button_textcolor .cke_icon 157 157 { 158 158 background-position: 0 -704px; 159 159 } 160 160 161 .cke_skin_default a.cke_button_bgcolor .cke_icon161 .cke_skin_default .cke_button_bgcolor .cke_icon 162 162 { 163 163 background-position: 0 -720px; 164 164 } 165 165 166 .cke_skin_default a.cke_button_form .cke_icon166 .cke_skin_default .cke_button_form .cke_icon 167 167 { 168 168 background-position: 0 -752px; 169 169 } 170 170 171 .cke_skin_default a.cke_button_checkbox .cke_icon171 .cke_skin_default .cke_button_checkbox .cke_icon 172 172 { 173 173 background-position: 0 -768px; 174 174 } 175 175 176 .cke_skin_default a.cke_button_radio .cke_icon176 .cke_skin_default .cke_button_radio .cke_icon 177 177 { 178 178 background-position: 0 -784px; 179 179 } 180 180 181 .cke_skin_default a.cke_button_textfield .cke_icon181 .cke_skin_default .cke_button_textfield .cke_icon 182 182 { 183 183 background-position: 0 -800px; 184 184 } 185 185 186 .cke_skin_default a.cke_button_textarea .cke_icon186 .cke_skin_default .cke_button_textarea .cke_icon 187 187 { 188 188 background-position: 0 -816px; 189 189 } 190 .cke_skin_default a.cke_button_showblocks .cke_icon190 .cke_skin_default .cke_button_showblocks .cke_icon 191 191 { 192 192 background-position: 0 -1136px; 193 193 } 194 194 195 .cke_skin_default a.cke_button_select .cke_icon195 .cke_skin_default .cke_button_select .cke_icon 196 196 { 197 197 background-position: 0 -832px; 198 198 } 199 199 200 .cke_skin_default a.cke_button_button .cke_icon200 .cke_skin_default .cke_button_button .cke_icon 201 201 { 202 202 background-position: 0 -848px; 203 203 } 204 204 205 .cke_skin_default a.cke_button_imagebutton .cke_icon205 .cke_skin_default .cke_button_imagebutton .cke_icon 206 206 { 207 207 background-position: 0 -864px; 208 208 } 209 209 210 .cke_skin_default a.cke_button_hiddenfield .cke_icon210 .cke_skin_default .cke_button_hiddenfield .cke_icon 211 211 { 212 212 background-position: 0 -880px; 213 213 } 214 .cke_skin_default a.cke_button_undo .cke_icon214 .cke_skin_default .cke_button_undo .cke_icon 215 215 { 216 216 background-position: 0 -208px; 217 217 } 218 .cke_skin_default a.cke_button_redo .cke_icon218 .cke_skin_default .cke_button_redo .cke_icon 219 219 { 220 220 background-position: 0 -224px; 221 221 } 222 222 223 .cke_skin_default a.cke_button_templates .cke_icon223 .cke_skin_default .cke_button_templates .cke_icon 224 224 { 225 225 background-position: 0 -80px; 226 226 } 227 227 228 .cke_skin_default a.cke_button_numberedlist .cke_icon228 .cke_skin_default .cke_button_numberedlist .cke_icon 229 229 { 230 230 background-position: 0 -400px; 231 231 } 232 232 233 .cke_skin_default a.cke_button_bulletedlist .cke_icon233 .cke_skin_default .cke_button_bulletedlist .cke_icon 234 234 { 235 235 background-position: 0 -416px; 236 236 } 237 237 238 .cke_skin_default a.cke_button_outdent .cke_icon238 .cke_skin_default .cke_button_outdent .cke_icon 239 239 { 240 240 background-position: 0 -432px; 241 241 } 242 242 243 .cke_skin_default a.cke_button_indent .cke_icon243 .cke_skin_default .cke_button_indent .cke_icon 244 244 { 245 245 background-position: 0 -448px; 246 246 } 247 247 248 .cke_skin_default a.cke_button_justifyleft .cke_icon248 .cke_skin_default .cke_button_justifyleft .cke_icon 249 249 { 250 250 background-position: 0 -464px; 251 251 } 252 252 253 .cke_skin_default a.cke_button_justifycenter .cke_icon253 .cke_skin_default .cke_button_justifycenter .cke_icon 254 254 { 255 255 background-position: 0 -480px; 256 256 } 257 257 258 .cke_skin_default a.cke_button_justifyright .cke_icon258 .cke_skin_default .cke_button_justifyright .cke_icon 259 259 { 260 260 background-position: 0 -496px; 261 261 } 262 262 263 .cke_skin_default a.cke_button_justifyblock .cke_icon263 .cke_skin_default .cke_button_justifyblock .cke_icon 264 264 { 265 265 background-position: 0 -512px; 266 266 } 267 267 268 .cke_skin_default a.cke_button_blockquote .cke_icon268 .cke_skin_default .cke_button_blockquote .cke_icon 269 269 { 270 270 background-position: 0 -1152px; 271 271 } 272 272 273 .cke_skin_default a.cke_button_flash .cke_icon273 .cke_skin_default .cke_button_flash .cke_icon 274 274 { 275 275 background-position: 0 -592px; 276 276 } 277 277 278 .cke_skin_default a.cke_button_pastefromword .cke_icon278 .cke_skin_default .cke_button_pastefromword .cke_icon 279 279 { 280 280 background-position: 0 -160px; 281 281 } -
_source/skins/default/mainui.css
36 36 border: solid 1px #696969; 37 37 } 38 38 39 .cke_skin_default .cke_focus39 .cke_skin_default .cke_focus 40 40 { 41 41 outline: auto 5px -webkit-focus-ring-color; 42 42 } -
_source/skins/default/menu.css
3 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 4 */ 5 5 6 .cke_skin_default .cke_contextmenu6 .cke_skin_default .cke_contextmenu 7 7 { 8 8 padding: 2px; 9 9 } 10 10 11 .cke_skin_default a.cke_menuitem11 .cke_skin_default .cke_menuitem a 12 12 { 13 13 display:block; 14 14 } 15 15 16 .cke_skin_default a:hover.cke_menuitem,17 .cke_skin_default a:focus.cke_menuitem16 .cke_skin_default .cke_menuitem a:hover, 17 .cke_skin_default .cke_menuitem a:focus 18 18 { 19 19 background-color: #8f8f73; 20 20 display:block; 21 21 } 22 22 23 .cke_skin_default a.cke_menuitem.cke_disabled23 .cke_skin_default .cke_menuitem a.cke_disabled 24 24 { 25 25 filter: alpha(opacity=30); /* IE */ 26 26 opacity : 0.3; /* Safari, Opera and Mozilla */ 27 27 } 28 28 29 .cke_skin_default a.cke_menuitem .cke_icon29 .cke_skin_default .cke_menuitem .cke_icon 30 30 { 31 31 background-image: url(icons.gif); 32 32 background-position: 100px; … … 40 40 opacity: 0.70; /* Safari, Opera and Mozilla */ 41 41 } 42 42 43 .cke_skin_default a:hover.cke_menuitem.cke_icon,44 .cke_skin_default a:focus.cke_menuitem.cke_icon43 .cke_skin_default .cke_menuitem a:hover .cke_icon, 44 .cke_skin_default .cke_menuitem a:focus .cke_icon 45 45 { 46 46 background-color: #737357; 47 47 border: solid 4px #737357; … … 49 49 opacity: 1; /* Safari, Opera and Mozilla */ 50 50 } 51 51 52 .cke_skin_default a.cke_menuitem .cke_label52 .cke_skin_default .cke_menuitem .cke_label 53 53 { 54 54 display:block; 55 55 padding-right: 3px; … … 59 59 background-color: #fff; 60 60 } 61 61 62 .cke_skin_default a:hover.cke_menuitem.cke_label,63 .cke_skin_default a:focus.cke_menuitem.cke_label62 .cke_skin_default .cke_menuitem a:hover .cke_label, 63 .cke_skin_default .cke_menuitem a:focus .cke_label 64 64 { 65 65 color: #fff; 66 66 background-color: #8f8f73; -
_source/skins/default/panel.css
3 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 4 */ 5 5 6 .cke_skin_default .cke_panel6 .cke_skin_default .cke_panel 7 7 { 8 8 border: 1px solid #8f8f73; 9 9 background-color: #fff; … … 19 19 } 20 20 21 21 /* Ideally we would use "inherit here"... but you know... IE :( */ 22 .cke_skin_default .cke_panel iframe22 .cke_skin_default .cke_panel iframe 23 23 { 24 24 width: 100%; 25 25 height: 100%; … … 118 118 margin-bottom: 3px; 119 119 } 120 120 121 .cke_skin_default .cke_panel.cke_button_textcolor,122 .cke_skin_default .cke_panel.cke_button_bgcolor121 .cke_skin_default .cke_button_textcolor_panel, 122 .cke_skin_default .cke_button_bgcolor_panel 123 123 { 124 124 width: 150px; 125 125 height: 135px; -
_source/skins/default/presets.css
4 4 */ 5 5 6 6 /* "Source" button label */ 7 .cke_skin_default a.cke_button_source .cke_label7 .cke_skin_default .cke_button_source .cke_label 8 8 { 9 9 display: inline; 10 10 } 11 11 12 12 /* "Styles" panel size */ 13 .cke_skin_default .cke_panel.cke_styles13 .cke_skin_default .cke_styles_panel 14 14 { 15 15 width: 150px; 16 16 height: 170px; 17 17 } 18 18 19 19 /* "Format" panel size */ 20 .cke_skin_default .cke_panel.cke_format20 .cke_skin_default .cke_format_panel 21 21 { 22 22 width: 150px; 23 23 height: 170px; 24 24 } 25 25 26 26 /* "Font" panel size */ 27 .cke_skin_default .cke_panel.cke_font27 .cke_skin_default .cke_font_panel 28 28 { 29 29 width: 150px; 30 30 height: 170px; 31 31 } 32 32 33 33 /* "Font Size" panel size */ 34 .cke_skin_default .cke_panel.cke_fontSize34 .cke_skin_default .cke_fontSize_panel 35 35 { 36 36 height: 170px; 37 37 } … … 41 41 { 42 42 width: 20px; 43 43 } 44 45 /* "Font Size" combo width */ 46 .cke_skin_default .cke_browser_iequirks .cke_fontSize .cke_text 47 { 48 width: 32px; 49 } -
_source/skins/default/richcombo.css
2 2 3 3 .cke_skin_default .cke_rcombo 4 4 { 5 padding-right: 4px;6 5 float: left; 6 margin-left: 2px; 7 margin-right: 2px; 7 8 } 8 9 9 .cke_skin_default .cke_rcombopanel10 .cke_skin_default .cke_rcombopanel 10 11 { 11 12 border: 1px solid #316ac5; 12 13 -moz-border-radius-topleft: 0; … … 15 16 } 16 17 17 18 /* IE6 only */ 18 /*\*/ 19 * html .cke_skin_default .cke_rcombo 19 .cke_skin_default cke_browser_ie6 .cke_rcombo 20 20 { 21 21 float: none; 22 22 } 23 /**/24 23 25 24 .cke_skin_default .cke_rcombo a 26 25 { … … 60 59 border-bottom-left-radius: 3px; 61 60 } 62 61 63 .cke_skin_default .cke_ rcombo .cke_openbutton62 .cke_skin_default .cke_browser_iequirks .cke_rcombo .cke_text 64 63 { 65 background-position: center center; 66 background-image: url(images/toolbar.buttonarrow.gif); 67 border-right: 1px solid #8f8f73; 68 border-top: 1px solid #8f8f73; 69 border-bottom: 1px solid #8f8f73; 70 display: block; 71 float: left; 72 width: 14px; 73 height: 22px; 74 background-repeat: no-repeat; 75 -moz-border-radius-topright: 3px; 76 -webkit-border-top-right-radius: 3px; 77 border-top-left-radius: 3px; 78 -moz-border-radius-bottomright: 3px; 79 -webkit-border-bottom-right-radius: 3px; 80 border-bottom-left-radius: 3px; 64 height: 24px; 65 width: 72px; 81 66 } 82 67 83 .cke_skin_default .cke_rcombo a:hover,84 .cke_skin_default .cke_rcombo a:focus,85 .cke_skin_default .cke_rcombo a:active,86 .cke_skin_default .cke_rcombo.cke_on a87 {88 filter: alpha(opacity=100); /* IE */89 opacity: 1; /* Safari, Opera and Mozilla */90 }91 92 .cke_skin_default .cke_rcombo a:hover .cke_text,93 .cke_skin_default .cke_rcombo a:focus .cke_text,94 .cke_skin_default .cke_rcombo a:active .cke_text,95 .cke_skin_default .cke_rcombo.cke_on .cke_text96 {97 border-color: #316ac5;98 }99 100 .cke_skin_default .cke_rcombo a:hover .cke_openbutton,101 .cke_skin_default .cke_rcombo a:focus .cke_openbutton,102 .cke_skin_default .cke_rcombo a:active .cke_openbutton,103 .cke_skin_default .cke_rcombo.cke_on .cke_openbutton104 {105 border-color: #316ac5;106 background-color: #dff1ff;107 }108 109 .cke_skin_default .cke_rcombo.cke_on .cke_text110 {111 -moz-border-radius-bottomleft: 0px;112 -webkit-border-bottom-left-radius: 0px;113 border-bottom-left-radius: 0px;114 }115 116 .cke_skin_default .cke_rcombo.cke_on .cke_openbutton117 {118 -moz-border-radius-bottomright: 0px;119 -webkit-border-bottom-right-radius: 0px;120 border-bottom-right-radius: 0px;121 }122 /* Special Combo */123 124 .cke_skin_default .cke_rcombo125 {126 padding-right: 4px;127 float: left;128 }129 130 /* IE6 only */131 /*\*/132 * html .cke_skin_default .cke_rcombo133 {134 float: none;135 }136 /**/137 138 .cke_skin_default .cke_rcombo a139 {140 filter: alpha(opacity=70); /* IE */141 opacity: 0.70; /* Safari, Opera and Mozilla */142 }143 144 .cke_skin_default .cke_rcombo .cke_label145 {146 padding-top: 6px;147 padding-left: 4px;148 padding-right: 5px;149 float: left;150 filter: alpha(opacity=70); /* IE */151 opacity: 0.70; /* Safari, Opera and Mozilla */152 background-color: #f1f1e3; /* Because of IE6+ClearType */153 }154 155 .cke_skin_default .cke_rcombo .cke_text156 {157 border: 1px solid #8f8f73;158 background-color: #fff;159 float: left;160 height: 14px;161 width:60px;162 padding-top: 4px;163 padding-bottom: 4px;164 padding-left: 5px;165 padding-right: 5px;166 text-overflow: ellipsis;167 overflow: hidden;168 -moz-border-radius-topleft: 3px;169 -webkit-border-top-left-radius: 3px;170 border-top-left-radius: 3px;171 -moz-border-radius-bottomleft: 3px;172 -webkit-border-bottom-left-radius: 3px;173 border-bottom-left-radius: 3px;174 }175 176 68 .cke_skin_default .cke_rcombo .cke_openbutton 177 69 { 178 70 background-position: center center; … … 193 85 border-bottom-left-radius: 3px; 194 86 } 195 87 88 .cke_skin_default .cke_browser_iequirks .cke_rcombo .cke_openbutton 89 { 90 height: 24px; 91 width: 15px; 92 } 93 196 94 .cke_skin_default .cke_rcombo a:hover, 197 95 .cke_skin_default .cke_rcombo a:focus, 198 96 .cke_skin_default .cke_rcombo a:active, 199 .cke_skin_default .cke_rcombo .cke_on a97 .cke_skin_default .cke_rcombo .cke_on a 200 98 { 201 99 filter: alpha(opacity=100); /* IE */ 202 100 opacity: 1; /* Safari, Opera and Mozilla */ … … 205 103 .cke_skin_default .cke_rcombo a:hover .cke_text, 206 104 .cke_skin_default .cke_rcombo a:focus .cke_text, 207 105 .cke_skin_default .cke_rcombo a:active .cke_text, 208 .cke_skin_default .cke_rcombo .cke_on .cke_text106 .cke_skin_default .cke_rcombo .cke_on .cke_text 209 107 { 210 108 border-color: #316ac5; 211 109 } … … 213 111 .cke_skin_default .cke_rcombo a:hover .cke_openbutton, 214 112 .cke_skin_default .cke_rcombo a:focus .cke_openbutton, 215 113 .cke_skin_default .cke_rcombo a:active .cke_openbutton, 216 .cke_skin_default .cke_rcombo .cke_on .cke_openbutton114 .cke_skin_default .cke_rcombo .cke_on .cke_openbutton 217 115 { 218 116 border-color: #316ac5; 219 117 background-color: #dff1ff; 220 118 } 221 119 222 .cke_skin_default .cke_rcombo .cke_on .cke_text120 .cke_skin_default .cke_rcombo .cke_on .cke_text 223 121 { 224 122 -moz-border-radius-bottomleft: 0px; 225 123 -webkit-border-bottom-left-radius: 0px; 226 124 border-bottom-left-radius: 0px; 227 125 } 228 126 229 .cke_skin_default .cke_rcombo .cke_on .cke_openbutton127 .cke_skin_default .cke_rcombo .cke_on .cke_openbutton 230 128 { 231 129 -moz-border-radius-bottomright: 0px; 232 130 -webkit-border-bottom-right-radius: 0px; 233 131 border-bottom-right-radius: 0px; 234 } 132 } 133 No newline at end of file -
_source/skins/default/toolbar.css
28 28 height:20px; 29 29 } 30 30 31 .cke_skin_default .cke_rtl .cke_separator31 .cke_skin_default .cke_rtl .cke_separator 32 32 { 33 33 float:right; 34 34 } … … 44 44 *height: 26px; 45 45 } 46 46 47 .cke_skin_default a.cke_button 47 .cke_skin_default .cke_button a, 48 .cke_skin_default .cke_button a.cke_off 48 49 { 49 50 border: solid 1px #efefde; 50 51 background-color: #efefde; … … 57 58 display:block; 58 59 float: left; 59 60 height: 18px; 61 -moz-border-radius: 3px; 62 -webkit-border-radius: 3px; 63 border-radius: 3px; 60 64 } 61 65 62 .cke_skin_default .cke_rtl a.cke_button66 .cke_skin_default .cke_rtl .cke_button a 63 67 { 64 68 float: right; 65 69 } 66 70 67 .cke_skin_default a.cke_button.cke_on71 .cke_skin_default .cke_button a.cke_on 68 72 { 73 border: solid 1px #316ac5; 69 74 background-color: #a3d7ff; 70 border: solid 1px #316ac5; 75 padding-top: 2px; 76 padding-bottom: 2px; 77 padding-left: 4px; 78 padding-right: 4px; 71 79 filter: alpha(opacity=100); /* IE */ 72 80 opacity: 1; /* Safari, Opera and Mozilla */ 73 -moz-border-radius: 3px;74 -webkit-border-radius: 3px;75 border-radius: 3px;81 display:block; 82 float: left; 83 height: 18px; 76 84 } 77 85 78 .cke_skin_default a.cke_button.cke_disabled86 .cke_skin_default .cke_button a.cke_disabled 79 87 { 88 border: solid 1px transparent; 89 background-color: inherit; 90 padding-top: 2px; 91 padding-bottom: 2px; 92 padding-left: 4px; 93 padding-right: 4px; 80 94 filter: alpha(opacity=30); /* IE */ 81 95 opacity : 0.3; /* Safari, Opera and Mozilla */ 96 display:block; 97 float: left; 98 height: 18px; 82 99 } 83 100 84 101 /* IE6 BUG: Hover removes the padding and border, for some unknown reason. */ 85 .cke_skin_default .cke_browser_ie a:hover.cke_button.cke_disabled102 .cke_skin_default .cke_browser_ie a:hover.cke_button .cke_disabled 86 103 { 87 104 padding: 2px 4px; 88 105 border: solid 1px #efefde; 89 106 } 90 107 91 .cke_skin_default a:hover.cke_button.cke_on,92 .cke_skin_default a:focus.cke_button.cke_on,93 .cke_skin_default a:active.cke_button.cke_on, /* IE */94 .cke_skin_default a:hover.cke_button.cke_off,95 .cke_skin_default a:focus.cke_button.cke_off,96 .cke_skin_default a:active.cke_button.cke_off /* IE */108 .cke_skin_default .cke_button a:hover.cke_on, 109 .cke_skin_default .cke_button a:focus.cke_on, 110 .cke_skin_default .cke_button a:active.cke_on, /* IE */ 111 .cke_skin_default .cke_button a:hover.cke_off, 112 .cke_skin_default .cke_button a:focus.cke_off, 113 .cke_skin_default .cke_button a:active.cke_off /* IE */ 97 114 { 98 115 border: solid 1px #316ac5; 99 116 background-color: #dff1ff; … … 112 129 border-radius: 3px; 113 130 } 114 131 115 .cke_skin_default .cke_rtl a:hover.cke_button.cke_on,116 .cke_skin_default .cke_rtl a:hover.cke_button.cke_off132 .cke_skin_default .cke_rtl .cke_button a:hover.cke_on, 133 .cke_skin_default .cke_rtl .cke_button a:hover.cke_off 117 134 { 118 135 float: right; 119 136 } 120 137 121 .cke_skin_default a.cke_button .cke_icon138 .cke_skin_default .cke_button .cke_icon 122 139 { 123 140 background-image: url(icons.gif); 124 141 background-position: 100px; … … 130 147 float: left; 131 148 } 132 149 133 .cke_skin_default .cke_rtl a.cke_button .cke_icon150 .cke_skin_default .cke_rtl .cke_button .cke_icon 134 151 { 135 152 float: right; 136 153 } 137 154 138 .cke_skin_default a.cke_button .cke_label155 .cke_skin_default .cke_button .cke_label 139 156 { 140 157 display: none; 141 158 float: left; … … 144 161 padding-top:3px; 145 162 } 146 163 147 .cke_skin_default a.cke_button .cke_buttonarrow164 .cke_skin_default .cke_button .cke_buttonarrow 148 165 { 149 166 float: left; 150 167 height: 18px; … … 154 171 background-repeat: no-repeat; 155 172 } 156 173 157 .cke_skin_default .cke_rtl a.cke_button .cke_label174 .cke_skin_default .cke_rtl .cke_button .cke_label 158 175 { 159 176 float: right; 160 177 } -
_source/tests/core/env.html
36 36 assert.isTrue( CKEDITOR.env.isCompatible ); 37 37 }, 38 38 39 40 test_quirks : function() 41 { 42 assert.isFalse( CKEDITOR.env.quirks ); 43 }, 44 39 45 name : document.title 40 46 }; 41 47 })() ); -
_source/themes/default/theme.js
15 15 CKEDITOR.env.air ? 'air' : 16 16 CKEDITOR.env.webkit ? 'webkit' : 17 17 'unknown' ); 18 19 if ( CKEDITOR.env.ie ) 20 { 21 if ( CKEDITOR.env.version < 7 ) 22 browserCssClass += ' cke_browser_ie6'; 18 23 24 if ( CKEDITOR.env.quirks ) 25 browserCssClass += ' cke_browser_iequirks'; 26 } 27 19 28 return { 20 29 build : function( editor, themePath ) 21 30 { … … 56 65 // bring any evident problem as it seems that tables are treated 57 66 // differently by the browsers ("semi-inline"). 58 67 var container = CKEDITOR.dom.element.createFromHtml( [ 59 '<span id="cke_', name, '" onmousedown="return false;" class="cke_container ', editor.skinClass, ' ', browserCssClass, 60 ' cke_', editor.lang.dir, '" dir="', editor.lang.dir, '" title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '">' + 68 '<span id="cke_', name, '" onmousedown="return false;" class="', editor.skinClass, 69 '" dir="', editor.lang.dir, '" title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '">' + 70 '<span class="' , browserCssClass, ' cke_', editor.lang.dir, '">' + 61 71 '<table class="cke_editor" border="0" cellspacing="0" cellpadding="0" style="width:', width, ';height:', height, '"><tbody>' + 62 72 '<tr', topHtml ? '' : ' style="display:none"', '><td id="cke_top_' , name, '" class="cke_top">' , topHtml , '</td></tr>' + 63 73 '<tr', contentsHtml ? '' : ' style="display:none"', '><td id="cke_contents_', name, '" class="cke_contents" style="height:100%">' , contentsHtml , '</td></tr>' + 64 74 '<tr', bottomHtml ? '' : ' style="display:none"', '><td id="cke_bottom_' , name, '" class="cke_bottom">' , bottomHtml , '</td></tr>' + 65 75 '</tbody></table>' + 66 76 //Hide the container when loading skins, later restored by skin css. 67 '<style>.cke_container{visibility:hidden;}</style>' + 77 '<style>.', editor.skinClass, '{visibility:hidden;}</style>' + 78 '</span>' + 68 79 '</span>' ].join( '' ) ); 69 80 70 container.getChild( [0, 0, 0 ] ).unselectable();71 container.getChild( [0, 0, 2] ).unselectable();81 container.getChild( [0, 0, 0, 0] ).unselectable(); 82 container.getChild( [0, 0, 0, 2] ).unselectable(); 72 83 73 84 if ( elementMode == CKEDITOR.ELEMENT_MODE_REPLACE ) 74 85 container.insertAfter( element );