Index: _source/plugins/forms/plugin.js
===================================================================
--- _source/plugins/forms/plugin.js (revision 5375)
+++ _source/plugins/forms/plugin.js (working copy)
@@ -114,7 +114,42 @@
}
});
}
-
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = evt.data.element;
+
+ if ( element.is( 'form' ) )
+ evt.data.dialog = 'form';
+ else if ( element.is( 'select' ) )
+ evt.data.dialog = 'select';
+ else if ( element.is( 'textarea' ) )
+ evt.data.dialog = 'textarea';
+ else if ( element.is( 'input' ) )
+ {
+ var type = element.getAttribute( 'type' );
+
+ switch ( type )
+ {
+ case 'text' : case 'password':
+ evt.data.dialog = 'textfield';
+ break;
+ case 'button' : case 'submit' : case 'reset' :
+ evt.data.dialog = 'button';
+ break;
+ case 'checkbox' :
+ evt.data.dialog = 'checkbox';
+ break;
+ case 'radio' :
+ evt.data.dialog = 'radio';
+ break;
+ case 'image' :
+ evt.data.dialog = 'imagebutton';
+ break;
+ }
+ }
+ });
+
// If the "contextmenu" plugin is loaded, register the listeners.
if ( editor.contextMenu )
{
Index: _source/plugins/image/plugin.js
===================================================================
--- _source/plugins/image/plugin.js (revision 5375)
+++ _source/plugins/image/plugin.js (working copy)
@@ -25,7 +25,15 @@
label : editor.lang.common.image,
command : pluginName
});
-
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = evt.data.element;
+
+ if ( element.is( 'img' ) && !element.getAttribute( '_cke_realelement' ) )
+ evt.data.dialog = 'image';
+ });
+
// If the "menu" plugin is loaded, register the menu items.
if ( editor.addMenuItems )
{
Index: _source/plugins/link/plugin.js
===================================================================
--- _source/plugins/link/plugin.js (revision 5375)
+++ _source/plugins/link/plugin.js (working copy)
@@ -64,7 +64,17 @@
else
command.setState( CKEDITOR.TRISTATE_DISABLED );
} );
-
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = CKEDITOR.plugins.link.getSelectedLink( editor ) || evt.data.element;
+
+ if ( element.is( 'a' ) )
+ evt.data.dialog = ( element.getAttribute( 'name' ) && !element.getAttribute( 'href' ) ) ? 'anchor' : 'link';
+ else if ( element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'anchor' )
+ evt.data.dialog = 'anchor';
+ });
+
// If the "menu" plugin is loaded, register the menu items.
if ( editor.addMenuItems )
{
Index: _source/plugins/table/plugin.js
===================================================================
--- _source/plugins/table/plugin.js (revision 5375)
+++ _source/plugins/table/plugin.js (working copy)
@@ -44,7 +44,15 @@
}
} );
}
-
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = evt.data.element;
+
+ if ( element.is( 'table' ) )
+ evt.data.dialog = 'table';
+ });
+
// If the "contextmenu" plugin is loaded, register the listeners.
if ( editor.contextMenu )
{
Index: _source/plugins/tabletools/plugin.js
===================================================================
--- _source/plugins/tabletools/plugin.js (revision 5375)
+++ _source/plugins/tabletools/plugin.js (working copy)
@@ -854,7 +854,14 @@
insertCell( selection );
}
} );
-
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = evt.data.element;
+
+ if ( element.is( 'td' ) )
+ evt.data.dialog = 'cellProperties';
+ });
// If the "menu" plugin is loaded, register the menu items.
if ( editor.addMenuItems )
{
Index: _source/plugins/wysiwygarea/plugin.js
===================================================================
--- _source/plugins/wysiwygarea/plugin.js (revision 5375)
+++ _source/plugins/wysiwygarea/plugin.js (working copy)
@@ -384,6 +384,14 @@
domWindow = editor.window = new CKEDITOR.dom.window( domWindow );
domDocument = editor.document = new CKEDITOR.dom.document( domDocument );
+ domDocument.on( 'dblclick', function( evt )
+ {
+ var element = evt.data.getTarget(),
+ data = { element : element, dialog : '' };
+ editor.fire( 'doubleclick', data );
+ data.dialog && editor.openDialog( data.dialog );
+ });
+
// Gecko/Webkit need some help when selecting control type elements. (#3448)
if ( !( CKEDITOR.env.ie || CKEDITOR.env.opera) )
{