/*\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
(function()\r
{\r
- var flashFilenameRegex = /\.swf(?:$|\?)/i,\r
- numberRegex = /^\d+(?:\.\d+)?$/;\r
-\r
- function cssifyLength( length )\r
- {\r
- if ( numberRegex.test( length ) )\r
- return length + 'px';\r
- return length;\r
- }\r
+ var flashFilenameRegex = /\.swf(?:$|\?)/i;\r
\r
function isFlashEmbed( element )\r
{\r
\r
function createFakeElement( editor, realElement )\r
{\r
- var fakeElement = editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true ),\r
- fakeStyle = fakeElement.attributes.style || '';\r
-\r
- var width = realElement.attributes.width,\r
- height = realElement.attributes.height;\r
-\r
- if ( typeof width != 'undefined' )\r
- fakeStyle = fakeElement.attributes.style = fakeStyle + 'width:' + cssifyLength( width ) + ';';\r
-\r
- if ( typeof height != 'undefined' )\r
- fakeStyle = fakeElement.attributes.style = fakeStyle + 'height:' + cssifyLength( height ) + ';';\r
-\r
- return fakeElement;\r
+ return editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true );\r
}\r
\r
CKEDITOR.plugins.add( 'flash',\r
});\r
}\r
\r
+ editor.on( 'doubleclick', function( evt )\r
+ {\r
+ var element = evt.data.element;\r
+\r
+ if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'flash' )\r
+ evt.data.dialog = 'flash';\r
+ });\r
+\r
// If the "contextmenu" plugin is loaded, register the listeners.\r
if ( editor.contextMenu )\r
{\r
editor.contextMenu.addListener( function( element, selection )\r
{\r
- if ( element && element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'flash' )\r
+ if ( element && element.is( 'img' ) && !element.isReadOnly()\r
+ && element.data( 'cke-real-element-type' ) == 'flash' )\r
return { flash : CKEDITOR.TRISTATE_OFF };\r
});\r
}\r
var attributes = element.attributes,\r
classId = attributes.classid && String( attributes.classid ).toLowerCase();\r
\r
- if ( !classId )\r
+ if ( !classId && !isFlashEmbed( element ) )\r
{\r
// Look for the inner <embed>\r
for ( var i = 0 ; i < element.children.length ; i++ )\r