summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js')
-rw-r--r--program/js/editor.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/program/js/editor.js b/program/js/editor.js
index 361741e3b..10511a03d 100644
--- a/program/js/editor.js
+++ b/program/js/editor.js
@@ -83,10 +83,15 @@ function rcmail_editor_tabindex()
}
// switch html/plain mode
-function rcmail_toggle_editor(ishtml, textAreaId, flagElement)
+function rcmail_toggle_editor(select, textAreaId, flagElement)
{
var composeElement = document.getElementById(textAreaId);
- var flag;
+ var flag, ishtml;
+
+ if (select.tagName != 'SELECT')
+ ishtml = select.checked;
+ else
+ ishtml = select.value == 'html';
if (ishtml)
{
@@ -100,12 +105,19 @@ function rcmail_toggle_editor(ishtml, textAreaId, flagElement)
}
else
{
- if (!confirm(rcmail.get_label('editorwarning')))
- return false;
-
var thisMCE = tinyMCE.get(textAreaId);
var existingHtml = thisMCE.getContent();
- rcmail.html2plain(existingHtml, textAreaId);
+
+ if (existingHtml) {
+ if (!confirm(rcmail.get_label('editorwarning'))) {
+ if (select.tagName == 'SELECT')
+ select.value = 'html';
+ return false;
+ }
+
+ rcmail.html2plain(existingHtml, textAreaId);
+ }
+
tinyMCE.execCommand('mceRemoveControl', true, textAreaId);
rcmail.display_spellcheck_controls(true);
if (flagElement && (flag = rcube_find_object(flagElement)))