/*\r
-Copyright (c) 2003-2010, 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
makeEmbedTag = editor.config.flashAddEmbedTag || editor.config.flashEmbedTagOnly;\r
\r
var previewPreloader,\r
- previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.image.preview ) +'<br>' +\r
- '<div id="FlashPreviewLoader" style="display:none"><div class="loading"> </div></div>' +\r
- '<div id="FlashPreviewBox"></div></div>';\r
+ previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>' +\r
+ '<div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading"> </div></div>' +\r
+ '<div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';\r
\r
return {\r
title : editor.lang.flash.title,\r
{\r
// Clear previously saved elements.\r
this.fakeImage = this.objectNode = this.embedNode = null;\r
- previewPreloader = new CKEDITOR.dom.element( 'embeded', editor.document );\r
+ previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document );\r
\r
// Try to detect any embed or object tag that has Flash parameters.\r
var fakeImage = this.getSelectedElement();\r
- if ( fakeImage && fakeImage.getAttribute( '_cke_real_element_type' ) && fakeImage.getAttribute( '_cke_real_element_type' ) == 'flash' )\r
+ if ( fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'flash' )\r
{\r
this.fakeImage = fakeImage;\r
\r
paramMap[ paramList.getItem( i ).getAttribute( 'name' ) ] = paramList.getItem( i );\r
}\r
\r
- // Apply or remove flash parameters.\r
- var extraStyles = {};\r
- this.commitContent( objectNode, embedNode, paramMap, extraStyles );\r
+ // A subset of the specified attributes/styles\r
+ // should also be applied on the fake element to\r
+ // have better visual effect. (#5240)\r
+ var extraStyles = {}, extraAttributes = {};\r
+ this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes );\r
\r
// Refresh the fake image.\r
var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_flash', 'flash', true );\r
+ newFakeImage.setAttributes( extraAttributes );\r
newFakeImage.setStyles( extraStyles );\r
if ( this.fakeImage )\r
{\r
children :\r
[\r
{\r
- type : 'html',\r
- html : '<span>' + CKEDITOR.tools.htmlEncode( editor.lang.image.url ) + '</span>'\r
- },\r
- {\r
type : 'hbox',\r
widths : [ '280px', '110px' ],\r
align : 'right',\r
{\r
id : 'src',\r
type : 'text',\r
- label : '',\r
+ label : editor.lang.common.url,\r
+ required : true,\r
validate : CKEDITOR.dialog.validate.notEmpty( editor.lang.flash.validateSrc ),\r
setup : loadValue,\r
commit : commitValue,\r
id : 'browse',\r
filebrowser : 'info:src',\r
hidden : true,\r
- align : 'center',\r
+ // v-align with the 'src' field.\r
+ // TODO: We need something better than a fixed size here.\r
+ style : 'display:inline-block;margin-top:10px;',\r
label : editor.lang.common.browseServer\r
}\r
]\r
type : 'text',\r
id : 'width',\r
style : 'width:95px',\r
- label : editor.lang.flash.width,\r
- validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateWidth ),\r
+ label : editor.lang.common.width,\r
+ validate : CKEDITOR.dialog.validate.integer( editor.lang.common.invalidWidth ),\r
setup : function( objectNode, embedNode, paramMap, fakeImage )\r
{\r
loadValue.apply( this, arguments );\r
type : 'text',\r
id : 'height',\r
style : 'width:95px',\r
- label : editor.lang.flash.height,\r
- validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateHeight ),\r
+ label : editor.lang.common.height,\r
+ validate : CKEDITOR.dialog.validate.integer( editor.lang.common.invalidHeight ),\r
setup : function( objectNode, embedNode, paramMap, fakeImage )\r
{\r
loadValue.apply( this, arguments );\r
{\r
id : 'align',\r
type : 'select',\r
- label : editor.lang.flash.align,\r
+ label : editor.lang.common.align,\r
'default' : '',\r
style : 'width : 100%;',\r
items :\r
[\r
[ editor.lang.common.notSet , ''],\r
- [ editor.lang.flash.alignLeft , 'left'],\r
+ [ editor.lang.common.alignLeft , 'left'],\r
[ editor.lang.flash.alignAbsBottom , 'absBottom'],\r
[ editor.lang.flash.alignAbsMiddle , 'absMiddle'],\r
[ editor.lang.flash.alignBaseline , 'baseline'],\r
- [ editor.lang.flash.alignBottom , 'bottom'],\r
- [ editor.lang.flash.alignMiddle , 'middle'],\r
- [ editor.lang.flash.alignRight , 'right'],\r
+ [ editor.lang.common.alignBottom , 'bottom'],\r
+ [ editor.lang.common.alignMiddle , 'middle'],\r
+ [ editor.lang.common.alignRight , 'right'],\r
[ editor.lang.flash.alignTextTop , 'textTop'],\r
- [ editor.lang.flash.alignTop , 'top']\r
+ [ editor.lang.common.alignTop , 'top']\r
],\r
setup : loadValue,\r
- commit : commitValue\r
+ commit : function( objectNode, embedNode, paramMap, extraStyles, extraAttributes )\r
+ {\r
+ var value = this.getValue();\r
+ commitValue.apply( this, arguments );\r
+ value && ( extraAttributes.align = value );\r
+ }\r
},\r
{\r
type : 'html',\r
]\r
},\r
{\r
- type : 'vbox',\r
- padding : 0,\r
+ type : 'fieldset',\r
+ label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ),\r
children :\r
[\r
{\r
- type : 'html',\r
- html : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars )\r
- },\r
- {\r
- type : 'checkbox',\r
- id : 'menu',\r
- label : editor.lang.flash.chkMenu,\r
- 'default' : true,\r
- setup : loadValue,\r
- commit : commitValue\r
- },\r
- {\r
- type : 'checkbox',\r
- id : 'play',\r
- label : editor.lang.flash.chkPlay,\r
- 'default' : true,\r
- setup : loadValue,\r
- commit : commitValue\r
- },\r
- {\r
- type : 'checkbox',\r
- id : 'loop',\r
- label : editor.lang.flash.chkLoop,\r
- 'default' : true,\r
- setup : loadValue,\r
- commit : commitValue\r
- },\r
- {\r
- type : 'checkbox',\r
- id : 'allowFullScreen',\r
- label : editor.lang.flash.chkFull,\r
- 'default' : true,\r
- setup : loadValue,\r
- commit : commitValue\r
+ type : 'vbox',\r
+ padding : 0,\r
+ children :\r
+ [\r
+ {\r
+ type : 'checkbox',\r
+ id : 'menu',\r
+ label : editor.lang.flash.chkMenu,\r
+ 'default' : true,\r
+ setup : loadValue,\r
+ commit : commitValue\r
+ },\r
+ {\r
+ type : 'checkbox',\r
+ id : 'play',\r
+ label : editor.lang.flash.chkPlay,\r
+ 'default' : true,\r
+ setup : loadValue,\r
+ commit : commitValue\r
+ },\r
+ {\r
+ type : 'checkbox',\r
+ id : 'loop',\r
+ label : editor.lang.flash.chkLoop,\r
+ 'default' : true,\r
+ setup : loadValue,\r
+ commit : commitValue\r
+ },\r
+ {\r
+ type : 'checkbox',\r
+ id : 'allowFullScreen',\r
+ label : editor.lang.flash.chkFull,\r
+ 'default' : true,\r
+ setup : loadValue,\r
+ commit : commitValue\r
+ }\r
+ ]\r
}\r
]\r
}\r