summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/js/editor.js24
-rw-r--r--program/steps/mail/compose.inc2
-rw-r--r--program/steps/settings/edit_identity.inc2
3 files changed, 20 insertions, 8 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)))
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index fa1ea9533..3a63cc8fc 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -976,7 +976,7 @@ function rcmail_editor_selector($attrib)
if (empty($attrib['name']))
$attrib['name'] = 'editorSelect';
- $attrib['onchange'] = "return rcmail_toggle_editor(this.value=='html', '".$attrib['editorid']."', '_is_html')";
+ $attrib['onchange'] = "return rcmail_toggle_editor(this, '".$attrib['editorid']."', '_is_html')";
$select = new html_select($attrib);
diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc
index bf3777f2d..d0f3581d4 100644
--- a/program/steps/settings/edit_identity.inc
+++ b/program/steps/settings/edit_identity.inc
@@ -70,7 +70,7 @@ function rcube_identity_form($attrib)
'reply-to' => array('type' => 'text', 'label' => 'reply-to', 'size' => $i_size),
'bcc' => array('type' => 'text', 'size' => $i_size),
'signature' => array('type' => 'textarea', 'size' => $t_cols, 'rows' => $t_rows),
- 'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail_toggle_editor(this.checked, \'rcmfd_signature\');'),
+ 'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail_toggle_editor(this, \'rcmfd_signature\');'),
'standard' => array('type' => 'checkbox', 'label' => 'setdefault'));
// disable some field according to access level