diff options
Diffstat (limited to '_source/skins/office2003/skin.js')
| -rw-r--r-- | _source/skins/office2003/skin.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/_source/skins/office2003/skin.js b/_source/skins/office2003/skin.js new file mode 100644 index 0000000..5b2e5f5 --- /dev/null +++ b/_source/skins/office2003/skin.js @@ -0,0 +1,77 @@ +/* +Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.skins.add( 'office2003', (function() +{ + var preload = []; + + if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 ) + { + // For IE6, we need to preload some images, otherwhise they will be + // downloaded several times (CSS background bug). + preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' ); + } + + return { + preload : preload, + editor : { css : [ 'editor.css' ] }, + dialog : { css : [ 'dialog.css' ] }, + templates : { css : [ 'templates.css' ] }, + margins : [ 0, 14, 18, 14 ] + }; +})() ); + +if ( CKEDITOR.dialog ) +{ + CKEDITOR.dialog.on( 'resize', function( evt ) + { + var data = evt.data, + width = data.width, + height = data.height, + dialog = data.dialog, + standardsMode = !CKEDITOR.env.quirk; + + if ( data.skin != 'office2003' ) + return; + + dialog.parts.contents.setStyles( + { + width : width + 'px', + height : height + 'px' + }); + + if ( !CKEDITOR.env.ie ) + return; + + // Fix the size of the elements which have flexible lengths. + var fixSize = function() + { + var content = dialog.parts.contents, + body = content.getParent(), + innerDialog = body.getParent(); + + // tc + var el = innerDialog.getChild( 2 ); + el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' ); + + // bc + el = innerDialog.getChild( 7 ); + el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' ); + + // ml + el = innerDialog.getChild( 4 ); + el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' ); + + // mr + el = innerDialog.getChild( 5 ); + el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' ); + }; + setTimeout( fixSize, 100 ); + + // Ensure size is correct for RTL mode. (#4003) + if ( evt.editor.lang.dir == 'rtl' ) + setTimeout( fixSize, 1000 ); + }); +} |
