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('
'+plainText+'
'); + 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 = "
" + composeElement.value + "
"; - 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) */ +}