JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.5.3
[ckeditor.git] / _source / skins / v2 / skin.js
index 3e93628..8f43faa 100644 (file)
@@ -1,21 +1,11 @@
 /*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
 CKEDITOR.skins.add( 'v2', (function()\r
 {\r
-       var preload = [];\r
-\r
-       if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )\r
-       {\r
-               // For IE6, we need to preload some images, otherwhise they will be\r
-               // downloaded several times (CSS background bug).\r
-               preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' );\r
-       }\r
-\r
        return {\r
-               preload         : preload,\r
                editor          : { css : [ 'editor.css' ] },\r
                dialog          : { css : [ 'dialog.css' ] },\r
                templates       : { css : [ 'templates.css' ] },\r
@@ -23,50 +13,57 @@ CKEDITOR.skins.add( 'v2', (function()
        };\r
 })() );\r
 \r
-if ( CKEDITOR.dialog )\r
+(function()\r
 {\r
-       CKEDITOR.dialog.on( 'resize', function( evt )\r
-               {\r
-                       var data = evt.data,\r
-                               width = data.width,\r
-                               height = data.height,\r
-                               dialog = data.dialog,\r
-                               contents = dialog.parts.contents;\r
+       CKEDITOR.dialog ? dialogSetup() : CKEDITOR.on( 'dialogPluginReady', dialogSetup );\r
 \r
-                       if ( data.skin != 'v2' )\r
-                               return;\r
+       function dialogSetup()\r
+       {\r
+               CKEDITOR.dialog.on( 'resize', function( evt )\r
+                       {\r
+                               var data = evt.data,\r
+                                       width = data.width,\r
+                                       height = data.height,\r
+                                       dialog = data.dialog,\r
+                                       contents = dialog.parts.contents;\r
+\r
+                               if ( data.skin != 'v2' )\r
+                                       return;\r
 \r
-                       contents.setStyles(\r
-                               {\r
-                                       width : width + 'px',\r
-                                       height : height + 'px'\r
-                               });\r
+                               contents.setStyles(\r
+                                       {\r
+                                               width : width + 'px',\r
+                                               height : height + 'px'\r
+                                       });\r
 \r
-                       if ( !CKEDITOR.env.ie )\r
-                               return;\r
+                               if ( !CKEDITOR.env.ie || CKEDITOR.env.ie9Compat )\r
+                                       return;\r
 \r
-                       // Fix the size of the elements which have flexible lengths.\r
-                       setTimeout( function()\r
-                               {\r
-                                       var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),\r
-                                               body = innerDialog.getChild( 0 );\r
+                               // Fix the size of the elements which have flexible lengths.\r
+                               setTimeout( function()\r
+                                       {\r
+                                               var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),\r
+                                                       body = innerDialog.getChild( 0 ),\r
+                                                       bodyWidth = body.getSize( 'width' );\r
+                                               height += body.getChild( 0 ).getSize( 'height' ) + 1;\r
 \r
-                                       // tc\r
-                                       var el = innerDialog.getChild( 2 );\r
-                                       el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );\r
+                                               // tc\r
+                                               var el = innerDialog.getChild( 2 );\r
+                                               el.setSize( 'width', bodyWidth );\r
 \r
-                                       // bc\r
-                                       el = innerDialog.getChild( 7 );\r
-                                       el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );\r
+                                               // bc\r
+                                               el = innerDialog.getChild( 7 );\r
+                                               el.setSize( 'width', bodyWidth - 28 );\r
 \r
-                                       // ml\r
-                                       el = innerDialog.getChild( 4 );\r
-                                       el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               // ml\r
+                                               el = innerDialog.getChild( 4 );\r
+                                               el.setSize( 'height', height );\r
 \r
-                                       // mr\r
-                                       el = innerDialog.getChild( 5 );\r
-                                       el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
-                               },\r
-                               100 );\r
-               });\r
-}\r
+                                               // mr\r
+                                               el = innerDialog.getChild( 5 );\r
+                                               el.setSize( 'height', height );\r
+                                       },\r
+                                       100 );\r
+                       });\r
+       }\r
+})();\r