Aleksander Machniak
2013-10-30 b972b4c4c079898250912588d1eb1d8907dfe868
Add an option to disable smart Reply-List behaviour - reply_all_mode (#1488734)
9 files modified
35 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/defaults.inc.php 5 ●●●●● patch | view | raw | blame | history
program/js/app.js 2 ●●● patch | view | raw | blame | history
program/localization/en_US/labels.inc 3 ●●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 1 ●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 18 ●●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 1 ●●●● patch | view | raw | blame | history
skins/classic/functions.js 2 ●●● patch | view | raw | blame | history
skins/larry/ui.js 2 ●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
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 shift + arrow-up key wasn't selecting all messages in collapsed thread (#1489397)
- Added icon for priority column in messages list header (#1489234)
config/defaults.inc.php
@@ -1023,3 +1023,8 @@
// Enables display of email address with name instead of a name (and address in title)
$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;
program/js/app.js
@@ -1065,7 +1065,7 @@
          url = {_reply_uid: uid, _mbox: this.env.mailbox};
          if (command == 'reply-all')
            // 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')
            url._all = 'list';
program/localization/en_US/labels.inc
@@ -493,6 +493,9 @@
$labels['forwardmode'] = 'Messages forwarding';
$labels['inline'] = 'inline';
$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['folders']  = 'Folders';
program/steps/mail/func.inc
@@ -97,6 +97,7 @@
  $OUTPUT->set_env('delimiter', $delimiter);
  $OUTPUT->set_env('threading', $threading);
  $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));
  if ($RCMAIL->storage->get_capability('QUOTA')) {
    $OUTPUT->set_env('quota', true);
program/steps/settings/func.inc
@@ -869,6 +869,24 @@
                        $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;
        // Addressbook config
program/steps/settings/save_prefs.inc
@@ -90,6 +90,7 @@
      '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),
      'reply_all_mode'     => intval($_POST['_reply_all_mode']),
      'forward_attachment' => !empty($_POST['_forward_attachment']),
    );
skins/classic/functions.js
@@ -625,7 +625,7 @@
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');
    $('a.button.replyAll').attr('title', label);
  }
skins/larry/ui.js
@@ -473,7 +473,7 @@
  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');
      if (rcmail.env.action == 'preview')
        $('a.button.replyall').attr('title', label);