Add an option to disable smart Reply-List behaviour - reply_all_mode (#1488734)

pull/152/head
Aleksander Machniak 11 years ago
parent c641dea371
commit b972b4c4c0

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Add an option to disable smart Reply-List behaviour - reply_all_mode (#1488734)
- Fix an issue where pressing minus key on contacts list was hiding list records (#1489393) - Fix an issue where pressing minus key on contacts list was hiding list records (#1489393)
- Fix an issue where shift + arrow-up key wasn't selecting all messages in collapsed thread (#1489397) - Fix an issue where shift + arrow-up key wasn't selecting all messages in collapsed thread (#1489397)
- Added icon for priority column in messages list header (#1489234) - Added icon for priority column in messages list header (#1489234)

@ -1023,3 +1023,8 @@ $config['default_font_size'] = '10pt';
// Enables display of email address with name instead of a name (and address in title) // Enables display of email address with name instead of a name (and address in title)
$config['message_show_email'] = false; $config['message_show_email'] = false;
// Default behavior of Reply-All button:
// 0 - Reply-All always
// 1 - Reply-List if mailing list is detected
$config['reply_all_mode'] = 0;

@ -1065,7 +1065,7 @@ function rcube_webmail()
url = {_reply_uid: uid, _mbox: this.env.mailbox}; url = {_reply_uid: uid, _mbox: this.env.mailbox};
if (command == 'reply-all') if (command == 'reply-all')
// do reply-list, when list is detected and popup menu wasn't used // do reply-list, when list is detected and popup menu wasn't used
url._all = (!props && this.commands['reply-list'] ? 'list' : 'all'); url._all = (!props && this.env.reply_all_mode == 1 && this.commands['reply-list'] ? 'list' : 'all');
else if (command == 'reply-list') else if (command == 'reply-list')
url._all = 'list'; url._all = 'list';

@ -493,6 +493,9 @@ $labels['standardwindows'] = 'Handle popups as standard windows';
$labels['forwardmode'] = 'Messages forwarding'; $labels['forwardmode'] = 'Messages forwarding';
$labels['inline'] = 'inline'; $labels['inline'] = 'inline';
$labels['asattachment'] = 'as attachment'; $labels['asattachment'] = 'as attachment';
$labels['replyallmode'] = 'Default action of [Reply all] button';
$labels['replyalldefault'] = 'reply to all';
$labels['replyalllist'] = 'reply to mailing list only (if found)';
$labels['folder'] = 'Folder'; $labels['folder'] = 'Folder';
$labels['folders'] = 'Folders'; $labels['folders'] = 'Folders';

@ -97,6 +97,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') {
$OUTPUT->set_env('delimiter', $delimiter); $OUTPUT->set_env('delimiter', $delimiter);
$OUTPUT->set_env('threading', $threading); $OUTPUT->set_env('threading', $threading);
$OUTPUT->set_env('threads', $threading || $RCMAIL->storage->get_capability('THREAD')); $OUTPUT->set_env('threads', $threading || $RCMAIL->storage->get_capability('THREAD'));
$OUTPUT->set_env('reply_all_mode', (int) $RCMAIL->config->get('reply_all_mode'));
$OUTPUT->set_env('preview_pane_mark_read', $RCMAIL->config->get('preview_pane_mark_read', 0)); $OUTPUT->set_env('preview_pane_mark_read', $RCMAIL->config->get('preview_pane_mark_read', 0));
if ($RCMAIL->storage->get_capability('QUOTA')) { if ($RCMAIL->storage->get_capability('QUOTA')) {
$OUTPUT->set_env('quota', true); $OUTPUT->set_env('quota', true);

@ -869,6 +869,24 @@ function rcmail_user_prefs($current = null)
$select_default_font_size->show($RCMAIL->config->get('default_font_size', 1)) $select_default_font_size->show($RCMAIL->config->get('default_font_size', 1))
); );
} }
if (!isset($no_override['reply_all_mode'])) {
if (!$current) {
continue 2;
}
$field_id = 'rcmfd_reply_all_mode';
$select = new html_select(array('name' => '_reply_all_mode', 'id' => $field_id));
$select->add(rcube_label('replyalldefault'), 0);
$select->add(rcube_label('replyalllist'), 1);
$blocks['main']['options']['reply_all_mode'] = array(
'title' => html::label($field_id, Q(rcube_label('replyallmode'))),
'content' => $select->show(intval($config['reply_all_mode'])),
);
}
break; break;
// Addressbook config // Addressbook config

@ -90,6 +90,7 @@ switch ($CURR_SECTION)
'strip_existing_sig' => isset($_POST['_strip_existing_sig']), 'strip_existing_sig' => isset($_POST['_strip_existing_sig']),
'default_font' => get_input_value('_default_font', RCUBE_INPUT_POST), 'default_font' => get_input_value('_default_font', RCUBE_INPUT_POST),
'default_font_size' => get_input_value('_default_font_size', RCUBE_INPUT_POST), 'default_font_size' => get_input_value('_default_font_size', RCUBE_INPUT_POST),
'reply_all_mode' => intval($_POST['_reply_all_mode']),
'forward_attachment' => !empty($_POST['_forward_attachment']), 'forward_attachment' => !empty($_POST['_forward_attachment']),
); );

@ -625,7 +625,7 @@ prev_sibling: function(elm)
enable_command: function(p) enable_command: function(p)
{ {
if (p.command == 'reply-list') { if (p.command == 'reply-list' && rcmail.env.reply_all_mode == 1) {
var label = rcmail.gettext(p.status ? 'replylist' : 'replyall'); var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
$('a.button.replyAll').attr('title', label); $('a.button.replyAll').attr('title', label);
} }

@ -473,7 +473,7 @@ function rcube_mail_ui()
function enable_command(p) function enable_command(p)
{ {
if (p.command == 'reply-list') { if (p.command == 'reply-list' && rcmail.env.reply_all_mode == 1) {
var label = rcmail.gettext(p.status ? 'replylist' : 'replyall'); var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
if (rcmail.env.action == 'preview') if (rcmail.env.action == 'preview')
$('a.button.replyall').attr('title', label); $('a.button.replyall').attr('title', label);

Loading…
Cancel
Save