summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--program/js/app.js7
-rw-r--r--program/js/editor.js3
-rw-r--r--skins/default/editor_content.css10
4 files changed, 19 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index f96d5905a..5e9683ce5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Fix text wrapping in HTML editor after switching from plain text to HTML (#1485521)
- Fix auto-complete function hangs with plus sign (#1485815)
- Fix AJAX requests errors handler (#1485000)
- Speed up message list displaying on IE
diff --git a/program/js/app.js b/program/js/app.js
index 43e0aa984..65b7c835d 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3789,6 +3789,13 @@ function rcube_webmail()
});
}
+ this.plain2html = function(plainText, id)
+ {
+ this.set_busy(true, 'converting');
+ $(document.getElementById(id)).val('<pre>'+plainText+'</pre>');
+ this.set_busy(false);
+ }
+
/********************************************************/
/********* remote request methods *********/
diff --git a/program/js/editor.js b/program/js/editor.js
index 7f937b2b8..6826af847 100644
--- a/program/js/editor.js
+++ b/program/js/editor.js
@@ -75,9 +75,8 @@ function rcmail_toggle_editor(ishtml, textAreaId, flagElement)
if (ishtml)
{
rcmail.display_spellcheck_controls(false);
- var htmlText = "<pre>" + composeElement.value + "</pre>";
- composeElement.value = htmlText;
+ rcmail.plain2html(composeElement.value, textAreaId);
tinyMCE.execCommand('mceAddControl', true, textAreaId);
if (flagElement && (flag = rcube_find_object(flagElement)))
flag.value = '1';
diff --git a/skins/default/editor_content.css b/skins/default/editor_content.css
index 31a0a592e..099b4248a 100644
--- a/skins/default/editor_content.css
+++ b/skins/default/editor_content.css
@@ -13,3 +13,13 @@ body {
margin-top: 2px;
}
+pre
+{
+ margin: 0;
+ padding: 0;
+ white-space: -o-pre-wrap !important;
+ white-space: -moz-pre-wrap !important;
+ white-space: pre-wrap !important;
+ white-space: pre;
+ word-wrap: break-word; /* IE (and Safari) */
+}