diff options
author | alecpl <alec@alec.pl> | 2011-05-02 07:49:34 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-05-02 07:49:34 +0000 |
commit | 2d889ecd38b925fd6447431b15c37e54e9974df0 (patch) | |
tree | d7b30bd37f2db002586f0e7895c3316fbfa4dbf1 | |
parent | 2a380018f9bd8246a343056e96b6aa6851844b6a (diff) |
- Add possibility to change HTML editor configuration by skin
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/js/editor.js | 45 |
2 files changed, 22 insertions, 24 deletions
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Add possibility to change HTML editor configuration by skin - Fix a bug where selecting too many contacts would produce too large URI request (#1487892) - Fix relative URLs handling according to a <base> in HTML (#1487889) - Fix handling of top-level domains with more than 5 chars or unicode chars (#1487883) diff --git a/program/js/editor.js b/program/js/editor.js index e02dca92a..323381b56 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -16,50 +16,47 @@ // Initialize HTML editor function rcmail_editor_init(skin_path, editor_lang, spellcheck, mode) { - if (mode == 'identity') - tinyMCE.init({ + var ret, conf = { mode: 'textareas', editor_selector: 'mce_editor', apply_source_formatting: true, theme: 'advanced', language: editor_lang, content_css: skin_path + '/editor_content.css', - plugins: 'paste,tabfocus', theme_advanced_toolbar_location: 'top', theme_advanced_toolbar_align: 'left', - theme_advanced_buttons1: 'bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,outdent,indent,charmap,hr,link,unlink,code,forecolor', - theme_advanced_buttons2: ',fontselect,fontsizeselect', theme_advanced_buttons3: '', + extended_valid_elements: 'font[face|size|color|style],span[id|class|align|style]', relative_urls: false, remove_script_host: false, - gecko_spellcheck: true + gecko_spellcheck: true, + convert_urls: false, // #1486944 + external_image_list_url: 'program/js/editor_images.js', + rc_client: rcmail + }; + + if (mode == 'identity') + $.extend(conf, { + plugins: 'paste,tabfocus', + theme_advanced_buttons1: 'bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,outdent,indent,charmap,hr,link,unlink,code,forecolor', + theme_advanced_buttons2: ',fontselect,fontsizeselect', }); else // mail compose - tinyMCE.init({ - mode: 'textareas', - editor_selector: 'mce_editor', - accessibility_focus: false, - apply_source_formatting: true, - theme: 'advanced', - language: editor_lang, + $.extend(conf, { plugins: 'paste,emotions,media,nonbreaking,table,searchreplace,visualchars,directionality,tabfocus,contextmenu' + (spellcheck ? ',spellchecker' : ''), theme_advanced_buttons1: 'bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,outdent,indent,ltr,rtl,blockquote,|,forecolor,backcolor,fontselect,fontsizeselect', theme_advanced_buttons2: 'link,unlink,code,|,emotions,charmap,image,media,|,search' + (spellcheck ? ',spellchecker' : '') + ',undo,redo', - theme_advanced_buttons3: '', - theme_advanced_toolbar_location: 'top', - theme_advanced_toolbar_align: 'left', - extended_valid_elements: 'font[face|size|color|style],span[id|class|align|style]', - content_css: skin_path + '/editor_content.css', - external_image_list_url: 'program/js/editor_images.js', spellchecker_languages: (rcmail.env.spellcheck_langs ? rcmail.env.spellcheck_langs : 'Dansk=da,Deutsch=de,+English=en,Espanol=es,Francais=fr,Italiano=it,Nederlands=nl,Polski=pl,Portugues=pt,Suomi=fi,Svenska=sv'), spellchecker_rpc_url: '?_task=utils&_action=spell&tiny=1', - gecko_spellcheck: true, - remove_script_host: false, - relative_urls: false, - convert_urls: false, // #1486944 - rc_client: rcmail, + accessibility_focus: false, oninit: 'rcmail_editor_callback' }); + + // support external configuration settings e.g. from skin + if (window.rcmail_editor_settings) + $.extend(conf, window.rcmail_editor_settings); + + tinyMCE.init(conf); } // react to real individual tinyMCE editor init |