Thomas Bruederli
2014-01-20 1d6082c5e2ad4f12986c59fee49bec5bc68bd829
Fix thread/list mode update and display
3 files modified
12 ■■■■ changed files
program/lib/Roundcube/rcube_imap.php 4 ●●●● patch | view | raw | blame | history
program/steps/mail/search.inc 1 ●●●● patch | view | raw | blame | history
skins/larry/ui.js 7 ●●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_imap.php
@@ -332,6 +332,10 @@
        $this->search_sort_field = $set[3];
        $this->search_sorted     = $set[4];
        $this->search_threads    = is_a($this->search_set, 'rcube_result_thread');
        if (is_a($this->search_set, 'rcube_result_multifolder')) {
            $this->set_threading(false);
        }
    }
program/steps/mail/search.inc
@@ -181,6 +181,7 @@
// update message count display
$OUTPUT->set_env('search_request', $search_str ? $search_request : '');
$OUTPUT->set_env('threading', $RCMAIL->storage->get_threading());
$OUTPUT->set_env('messagecount', $count);
$OUTPUT->set_env('pagecount', ceil($count/$RCMAIL->storage->get_pagesize()));
$OUTPUT->set_env('exists', $RCMAIL->storage->count($mbox_name, 'EXISTS'));
skins/larry/ui.js
@@ -139,7 +139,8 @@
    if (rcmail.env.task == 'mail') {
      rcmail.addEventListener('menu-open', menu_open)
        .addEventListener('menu-save', menu_save)
        .addEventListener('responseafterlist', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list') });
        .addEventListener('responseafterlist', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) })
        .addEventListener('responseaftersearch', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) });
      var dragmenu = $('#dragmessagemenu');
      if (dragmenu.length) {
@@ -730,9 +731,9 @@
  /**
   *
   */
  function switch_view_mode(mode)
  function switch_view_mode(mode, force)
  {
    if (!$('#mail'+mode+'mode').hasClass('disabled')) {
    if (force || !$('#mail'+mode+'mode').hasClass('disabled')) {
      $('#maillistmode, #mailthreadmode').removeClass('selected');
      $('#mail'+mode+'mode').addClass('selected');
    }