X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=inline;f=_source%2Fplugins%2Fsmiley%2Fdialogs%2Fsmiley.js;h=2e9cd751e698aa42cfc74839b74099326f52e57b;hb=fb481ba0a7d298e3e7b9034fcb9f2afdc6e8e796;hp=dfe0a50f5c8ec59e4b07e218b0902a72a5a7b538;hpb=059b4c2fef02528bf1af189f7996e80652faddfb;p=ckeditor.git diff --git a/_source/plugins/smiley/dialogs/smiley.js b/_source/plugins/smiley/dialogs/smiley.js index dfe0a50..2e9cd75 100644 --- a/_source/plugins/smiley/dialogs/smiley.js +++ b/_source/plugins/smiley/dialogs/smiley.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,7 +8,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var config = editor.config, lang = editor.lang.smiley, images = config.smiley_images, - columns = 8, + columns = config.smiley_columns || 8, i; /** @@ -21,9 +21,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var target = evt.data.getTarget(), targetName = target.getName(); - if ( targetName == 'td' ) - target = target.getChild( [ 0, 0 ] ); - else if ( targetName == 'a' ) + if ( targetName == 'a' ) target = target.getChild( 0 ); else if ( targetName != 'img' ) return; @@ -36,9 +34,11 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) attributes : { src : src, - _cke_saved_src : src, + 'data-cke-saved-src' : src, title : title, - alt : title + alt : title, + width : target.$.width, + height : target.$.height } }); @@ -54,7 +54,8 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) element = new CKEDITOR.dom.element( element ); var relative, nodeToMove; - var keystroke = ev.getKeystroke(); + var keystroke = ev.getKeystroke(), + rtl = editor.lang.dir == 'rtl'; switch ( keystroke ) { // UP-ARROW @@ -86,9 +87,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) break; // RIGHT-ARROW - case 39 : - // TAB - case 9 : + case rtl ? 37 : 39 : // relative is TD if ( ( relative = element.getParent().getNext() ) ) { @@ -107,9 +106,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) break; // LEFT-ARROW - case 37 : - // SHIFT + TAB - case CKEDITOR.SHIFT + 9 : + case rtl ? 39 : 37 : // relative is TD if ( ( relative = element.getParent().getPrevious() ) ) { @@ -132,11 +129,12 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) }); // Build the HTML for the smiley images table. + var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label'; var html = [ '
' + - '' + editor.lang.common.options +'', - '' + lang.options +'', + '
' ]; @@ -145,22 +143,23 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) for ( i = 0 ; i < size ; i++ ) { if ( i % columns === 0 ) - html.push( '' ); + html.push( '' ); + var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); html.push( - '' ); @@ -180,18 +179,24 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var smileySelector = { type : 'html', + id : 'smileySelector', html : html.join( '' ), onLoad : function( event ) { dialog = event.sender; }, focus : function() - { - var firstSmile = this.getElement().getElementsByTag( 'a' ).getItem( 0 ); - firstSmile.focus(); - }, + { + var self = this; + // IE need a while to move the focus (#6539). + setTimeout( function () + { + var firstSmile = self.getElement().getElementsByTag( 'a' ).getItem( 0 ); + firstSmile.focus(); + }, 0 ); + }, onClick : onClick, - style : 'width: 100%; height: 100%; border-collapse: separate;' + style : 'width: 100%; border-collapse: separate;' }; return {
' + + '