X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fspecialchar%2Fplugin.js;h=1dcd89b0e1852d077f8ae47c09be6a81978f4281;hb=a272c66d841421f8bf933c16535bdcde1c4649fc;hp=ff9568d1058acf3f38c8181c7911bf7efeccb867;hpb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;p=ckeditor.git diff --git a/_source/plugins/specialchar/plugin.js b/_source/plugins/specialchar/plugin.js index ff9568d..1dcd89b 100644 --- a/_source/plugins/specialchar/plugin.js +++ b/_source/plugins/specialchar/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,15 +9,37 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'specialchar', { + requires : [ 'dialog' ], + + // List of available localizations. + availableLangs : { cs:1, cy:1, de:1, el:1, en:1, eo:1, et:1, fa:1, fi:1, fr:1, he:1, hr:1, it:1, nb:1, nl:1, no:1, 'pt-br':1, tr:1, ug:1, 'zh-cn':1 }, + init : function( editor ) { - var pluginName = 'specialchar'; + var pluginName = 'specialchar', + plugin = this; // Register the dialog. CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' ); - // Register the command. - editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) ); + editor.addCommand( pluginName, + { + exec : function() + { + var langCode = editor.langCode; + langCode = plugin.availableLangs[ langCode ] ? langCode : 'en'; + + CKEDITOR.scriptLoader.load( + CKEDITOR.getUrl( plugin.path + 'lang/' + langCode + '.js' ), + function() + { + CKEDITOR.tools.extend( editor.lang.specialChar, plugin.langEntries[ langCode ] ); + editor.openDialog( pluginName ); + }); + }, + modes : { wysiwyg:1 }, + canUndo : false + }); // Register the toolbar button. editor.ui.addButton( 'SpecialChar', @@ -27,3 +49,24 @@ CKEDITOR.plugins.add( 'specialchar', }); } } ); + +/** + * The list of special characters visible in the Special Character dialog window. + * @type Array + * @example + * config.specialChars = [ '"', '’', [ '&custom;', 'Custom label' ] ]; + * config.specialChars = config.specialChars.concat( [ '"', [ '’', 'Custom label' ] ] ); + */ +CKEDITOR.config.specialChars = + [ + '!','"','#','$','%','&',"'",'(',')','*','+','-','.','/', + '0','1','2','3','4','5','6','7','8','9',':',';', + '<','=','>','?','@', + 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O', + 'P','Q','R','S','T','U','V','W','X','Y','Z', + '[',']','^','_','`', + 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p', + 'q','r','s','t','u','v','w','x','y','z', + '{','|','}','~', + "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈" + ];