diff --git a/api/js/etemplate/et2_widget_htmlarea.ts b/api/js/etemplate/et2_widget_htmlarea.ts index bc006c1665..5d0d6fb4f6 100644 --- a/api/js/etemplate/et2_widget_htmlarea.ts +++ b/api/js/etemplate/et2_widget_htmlarea.ts @@ -529,6 +529,27 @@ export class et2_htmlarea extends et2_editableWidget implements et2_IResizeable return this.options.readonly ? this.value : this.htmlNode.val(); } + /** + * Apply default font and -size + */ + applyDefaultFont() + { + const edit_area = this.editor.editorContainer.querySelector('iframe').contentDocument; + const font_family = egw.preference('rte_font', 'common') || 'arial, helvetica, sans-serif'; + edit_area.querySelectorAll('h1:not([style*="font-family"]),h2:not([style*="font-family"]),h3:not([style*="font-family"]),h4:not([style*="font-family"]),h5:not([style*="font-family"]),h6:not([style*="font-family"]),' + + 'div:not([style*="font-family"]),li:not([style*="font-family"]),p:not([style*="font-family"]),blockquote:not([style*="font-family"]),' + + 'td:not([style*="font-family"]),th:not([style*="font-family"]').forEach((elem) => + { + elem.style.fontFamily = font_family; + }); + const font_size = (egw.preference('rte_font_size', 'common') || '10')+(egw.preference('rte_font_unit', 'common') || 'pt'); + edit_area.querySelectorAll('div:not([style*="font-size"]),li:not([style*="font-size"]),p:not([style*="font-size"]),blockquote:not([style*="font-size"]),' + + 'td:not([style*="font-size"]),th:not([style*="font-size"])').forEach((elem) => + { + elem.style.fontSize = font_size; + }); + } + /** * Resize htmlNode tag according to window size * @param {type} _height excess height which comes from window resize diff --git a/mail/inc/class.mail_compose.inc.php b/mail/inc/class.mail_compose.inc.php index c792e50877..5eccbc6702 100644 --- a/mail/inc/class.mail_compose.inc.php +++ b/mail/inc/class.mail_compose.inc.php @@ -2526,8 +2526,7 @@ class mail_compose switch ($_formData['mimeType']) { case 'html': - $body = "\n".$_formData['body']; + $body = $_formData['body']; if (!empty($attachment_links)) { diff --git a/mail/js/app.js b/mail/js/app.js index 465a761a4e..563a8c608c 100644 --- a/mail/js/app.js +++ b/mail/js/app.js @@ -5636,6 +5636,10 @@ app.classes.mail = AppJS.extend( { this.compose_submitAction(false); } + + // apply default font and -size before submitting to server for sending + this.et2?.getWidgetById('mail_htmltext')?.applyDefaultFont(); + return false; },