diff --git a/CHANGELOG b/CHANGELOG index 763e0ad87..d91605d03 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -18,6 +18,7 @@ CHANGELOG Roundcube Webmail - Use 7bit encoding for ISO-2022-* charsets in sent mail (#5640) - Fix so links over images are not removed in plain text signatures converted from HTML (#4473) - Fix various issues when downloading files with names containing non-ascii chars, use RFC 2231 (#5772) +- Add Preferences > Mailbox View > Main Options > Layout (#5829) - Password: Fix compatibility with PHP 7+ in cpanel_webmail driver (#5820) - Fix decoding non-ascii attachment names from TNEF attachments (#5646, #5799) - Fix uninitialized string offset in rcube_utils::bin2ascii() and make sure rcube_utils::random_bytes() result has always requested length (#5788) diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 04dcea1e6..dd5284cbc 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -207,6 +207,9 @@ $labels['layout'] = 'Layout'; $labels['layoutwidescreen'] = 'Widescreen'; $labels['layoutdesktop'] = 'Desktop'; $labels['layoutlist'] = 'List'; +$labels['layoutwidescreendesc'] = 'Widescreen (3-column view)'; +$labels['layoutdesktopdesc'] = 'Desktop (wide list and mail preview below)'; +$labels['layoutlistdesc'] = 'List (no mail preview)'; $labels['folderactions'] = 'Folder actions...'; $labels['compact'] = 'Compact'; diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 3f01f6c44..ace020c69 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -410,6 +410,24 @@ function rcmail_user_prefs($current = null) 'advanced' => array('name' => rcube::Q($RCMAIL->gettext('advancedoptions'))), ); + if (!isset($no_override['layout'])) { + if (!$current) { + continue 2; + } + + $field_id = 'rcmfd_layout'; + $select = new html_select(array('name' => '_layout', 'id' => $field_id)); + + $select->add($RCMAIL->gettext('layoutwidescreendesc'), 'widescreen'); + $select->add($RCMAIL->gettext('layoutdesktopdesc'), 'desktop'); + $select->add($RCMAIL->gettext('layoutlistdesc'), 'list'); + + $blocks['main']['options']['date_format'] = array( + 'title' => html::label($field_id, rcube::Q($RCMAIL->gettext('layout'))), + 'content' => $select->show($config['layout'] ?: 'widescreen'), + ); + } + // show config parameter for auto marking the previewed message as read if (!isset($no_override['mail_read_time'])) { if (!$current) { diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index ceb172e45..43583f259 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -48,6 +48,7 @@ case 'general': case 'mailbox': $a_user_prefs = array( + 'layout' => rcmail_prefs_input('layout', '/^[a-z]+$/'), 'mail_read_time' => intval($_POST['_mail_read_time']), 'autoexpand_threads' => intval($_POST['_autoexpand_threads']), 'mdn_requests' => intval($_POST['_mdn_requests']),