/*\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
var config = editor.config,\r
lang = editor.lang.smiley,\r
images = config.smiley_images,\r
- columns = 8,\r
+ columns = config.smiley_columns || 8,\r
i;\r
\r
/**\r
var target = evt.data.getTarget(),\r
targetName = target.getName();\r
\r
- if ( targetName == 'td' )\r
- target = target.getChild( [ 0, 0 ] );\r
- else if ( targetName == 'a' )\r
+ if ( targetName == 'a' )\r
target = target.getChild( 0 );\r
else if ( targetName != 'img' )\r
return;\r
attributes :\r
{\r
src : src,\r
- _cke_saved_src : src,\r
+ 'data-cke-saved-src' : src,\r
title : title,\r
- alt : title\r
+ alt : title,\r
+ width : target.$.width,\r
+ height : target.$.height\r
}\r
});\r
\r
element = new CKEDITOR.dom.element( element );\r
var relative, nodeToMove;\r
\r
- var keystroke = ev.getKeystroke();\r
- var rtl = editor.lang.dir == 'rtl';\r
+ var keystroke = ev.getKeystroke(),\r
+ rtl = editor.lang.dir == 'rtl';\r
switch ( keystroke )\r
{\r
// UP-ARROW\r
});\r
\r
// Build the HTML for the smiley images table.\r
- var labelId = 'smiley_emtions_label' + CKEDITOR.tools.getNextNumber();\r
+ var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label';\r
var html =\r
[\r
'<div>' +\r
\r
var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber();\r
html.push(\r
- '<td class="cke_dark_background cke_hand cke_centered" style="vertical-align: middle;">' +\r
+ '<td class="cke_dark_background cke_centered" style="vertical-align: middle;">' +\r
'<a href="javascript:void(0)" role="option"',\r
' aria-posinset="' + ( i +1 ) + '"',\r
' aria-setsize="' + size + '"',\r
' aria-labelledby="' + smileyLabelId + '"',\r
- ' class="cke_smile" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ', onKeydown, ', event, this );">',\r
- '<img class="hand" title="', config.smiley_descriptions[i], '"' +\r
+ ' class="cke_smile cke_hand" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ', onKeydown, ', event, this );">',\r
+ '<img class="cke_hand" title="', config.smiley_descriptions[i], '"' +\r
' cke_src="', CKEDITOR.tools.htmlEncode( config.smiley_path + images[ i ] ), '" alt="', config.smiley_descriptions[i], '"',\r
' src="', CKEDITOR.tools.htmlEncode( config.smiley_path + images[ i ] ), '"',\r
// IE BUG: Below is a workaround to an IE image loading bug to ensure the image sizes are correct.\r
dialog = event.sender;\r
},\r
focus : function()\r
- {\r
- var firstSmile = this.getElement().getElementsByTag( 'a' ).getItem( 0 );\r
- firstSmile.focus();\r
- },\r
+ {\r
+ var self = this;\r
+ // IE need a while to move the focus (#6539).\r
+ setTimeout( function ()\r
+ {\r
+ var firstSmile = self.getElement().getElementsByTag( 'a' ).getItem( 0 );\r
+ firstSmile.focus();\r
+ }, 0 );\r
+ },\r
onClick : onClick,\r
style : 'width: 100%; border-collapse: separate;'\r
};\r