summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/defaults.inc.php4
-rw-r--r--program/js/editor.js3
-rw-r--r--program/steps/mail/compose.inc3
-rw-r--r--program/steps/mail/sendmail.inc6
-rw-r--r--program/steps/settings/func.inc25
-rw-r--r--program/steps/settings/save_prefs.inc1
6 files changed, 30 insertions, 12 deletions
diff --git a/config/defaults.inc.php b/config/defaults.inc.php
index 95e024ccc..97c8f3b25 100644
--- a/config/defaults.inc.php
+++ b/config/defaults.inc.php
@@ -984,5 +984,9 @@ $config['autocomplete_single'] = false;
// Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana
$config['default_font'] = 'Verdana';
+// Default font size for composed HTML message.
+// Supported sizes: 8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt
+$config['default_font_size'] = '10pt';
+
// Enables display of email address with name instead of a name (and address in title)
$config['message_show_email'] = false;
diff --git a/program/js/editor.js b/program/js/editor.js
index e403d1f63..e1ef36835 100644
--- a/program/js/editor.js
+++ b/program/js/editor.js
@@ -80,6 +80,9 @@ function rcmail_editor_callback()
if (rcmail.env.default_font)
$(tinyMCE.get(rcmail.env.composebody).getBody()).css('font-family', rcmail.env.default_font);
+ if (rcmail.env.default_font_size)
+ $(tinyMCE.get(rcmail.env.composebody).getBody()).css('font-size', rcmail.env.default_font_size);
+
if (elem && elem.type == 'select-one') {
rcmail.change_identity(elem);
// Focus previously focused element
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 39dca3b03..30c9f79fb 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -148,6 +148,9 @@ if ($font && !is_array($font)) {
$OUTPUT->set_env('default_font', $font);
}
+// default font size for HTML editor
+$OUTPUT->set_env('default_font_size', $RCMAIL->config->get('default_font_size'));
+
// get reference message and set compose mode
if ($msg_uid = $COMPOSE['param']['draft_uid']) {
$compose_mode = RCUBE_COMPOSE_DRAFT;
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 779fb87cd..8fe149611 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -473,8 +473,10 @@ $isHtml = (bool) get_input_value('_is_html', RCUBE_INPUT_POST);
$message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset);
if ($isHtml) {
- $font = rcube_fontdefs($RCMAIL->config->get('default_font'));
- $bstyle = $font && is_string($font) ? " style='font-family: $font'" : '';
+ $font = rcube_fontdefs($RCMAIL->config->get('default_font'));
+ $font = $font && is_string($font) ? ' '.$font : NULL;
+ $font_size = $RCMAIL->config->get('default_font_size');
+ $bstyle = " style='font: ".$font_size.$font.";'";
// append doctype and html/body wrappers
$message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' .
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index ecd35e94b..b492c9644 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -844,23 +844,28 @@ function rcmail_user_prefs($current = null)
continue 2;
}
+ // Default font size
+ $field_id = 'rcmfd_default_font_size';
+ $select_default_font_size = new html_select(array('name' => '_default_font_size', 'id' => $field_id));
+
+ $fontsizes = array('8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt');
+ foreach ($fontsizes as $size) {
+ $select_default_font_size->add($size, $size);
+ }
+
+ // Default font
$field_id = 'rcmfd_default_font';
- $fonts = rcube_fontdefs();
- $selected = $config['default_font'];
+ $select_default_font = new html_select(array('name' => '_default_font', 'id' => $field_id));
- $select = '<select name="_default_font" id="'.$field_id.'">';
- $select .= '<option value=""' . (!$selected ? ' selected="selected"' : '') . '>---</option>';
+ $fonts = rcube_fontdefs();
foreach ($fonts as $fname => $font) {
- $select .= '<option value="'.$fname.'"'
- . ($fname == $selected ? ' selected="selected"' : '')
- . ' style=\'font-family: ' . $font . '\'>'
- . Q($fname) . '</option>';
+ $select_default_font->add($fname, $fname);
}
- $select .= '</select>';
$blocks['main']['options']['default_font'] = array(
'title' => html::label($field_id, Q(rcube_label('defaultfont'))),
- 'content' => $select
+ 'content' => $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)).
+ $select_default_font->show($RCMAIL->config->get('default_font', 1))
);
}
break;
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 3e8b1d17e..717c7ad8c 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -89,6 +89,7 @@ switch ($CURR_SECTION)
'reply_mode' => isset($_POST['_reply_mode']) ? intval($_POST['_reply_mode']) : 0,
'strip_existing_sig' => isset($_POST['_strip_existing_sig']),
'default_font' => get_input_value('_default_font', RCUBE_INPUT_POST),
+ 'default_font_size' => get_input_value('_default_font_size', RCUBE_INPUT_POST),
'forward_attachment' => !empty($_POST['_forward_attachment']),
);