thomascube
2009-04-26 c5d8db9f818dd622c8cd6f915a1b1ba7af51d4c6
program/js/app.js
@@ -1232,9 +1232,6 @@
  this.drag_start = function(list)
  {
    this.initialBodyScrollTop = bw.ie ? 0 : window.pageYOffset;
    this.initialMailBoxScrollTop = document.getElementById("mailboxlist-container").scrollTop;
    var model = this.task == 'mail' ? this.env.mailboxes : this.env.address_sources;
    this.drag_active = true;
@@ -1244,6 +1241,9 @@
    // save folderlist and folders location/sizes for droptarget calculation in drag_move()
    if (this.gui_objects.folderlist && model)
      {
      this.initialBodyScrollTop = bw.ie ? 0 : window.pageYOffset;
      this.initialListScrollTop = this.gui_objects.folderlist.parentNode.scrollTop;
      var li, pos, list, height;
      list = $(this.gui_objects.folderlist);
      pos = list.offset();
@@ -1266,7 +1266,7 @@
    if (this.gui_objects.folderlist && this.env.folder_coords) {
      // offsets to compensate for scrolling while dragging a message
      var boffset = bw.ie ? -document.documentElement.scrollTop : this.initialBodyScrollTop;
      var moffset = this.initialMailBoxScrollTop-document.getElementById('mailboxlist-container').scrollTop;
      var moffset = this.initialListScrollTop-this.gui_objects.folderlist.parentNode.scrollTop;
      var toffset = -moffset-boffset;
      var li, pos, mouse;
@@ -2574,7 +2574,7 @@
  this.ksearch_query_results = function(results, search)
  {
    // ignore this outdated search response
    if (search != this.ksearch_value)
    if (this.ksearch_value && search != this.ksearch_value)
      return;
      
    this.hide_message();
@@ -3459,6 +3459,9 @@
      if ((target_li = this.get_folder_li(name))) {
        $(target_li).removeClass('unfocused').addClass('selected');
      }
      // trigger event hook
      this.triggerEvent('selectfolder', { folder:name, old:old });
    }
  };
@@ -3531,7 +3534,7 @@
        + (flags.unread ? ' unread' : '')
        + (flags.deleted ? ' deleted' : '')
        + (flags.flagged ? ' flagged' : '')
   + (this.message_list.in_selection(uid) ? ' selected' : '');
        + (this.message_list.in_selection(uid) ? ' selected' : '');
    // for performance use DOM instead of jQuery here
    var row = document.createElement('TR');
@@ -3580,6 +3583,7 @@
      }
    this.message_list.insert_row(row, attop);
    this.triggerEvent('insertrow', { uid:uid, row:row });
    // remove 'old' row
    if (attop && this.env.pagesize && this.message_list.rowcount > this.env.pagesize) {
@@ -3706,17 +3710,24 @@
    var rowcount = tbody.rows.length;
    var even = rowcount%2;
    
    var row = $('<tr>').attr('id', 'rcmrow'+cid).addClass('class').addClass(even ? 'even' : 'odd');
    var row = document.createElement('TR');
    row.id = 'rcmrow'+cid;
    row.className = 'contact '+(even ? 'even' : 'odd');
    if (this.contact_list.in_selection(cid))
      row.addClass('selected');
      row.className += ' selected';
    // add each submitted col
    for (var c in cols) {
      col = $('<td>').addClass(String(c).toLowerCase()).html(cols[c]).appendTo(row);
      col = document.createElement('TD');
      col.className = String(c).toLowerCase();
      col.innerHTML = cols[c];
      row.appendChild(col);
    }
    
    this.contact_list.insert_row(row);
    this.triggerEvent('insertrow', { cid:cid, row:row });
    this.enable_command('export', (this.contact_list.rowcount > 0));
    };
@@ -3907,9 +3918,16 @@
            this.msglist_select(this.message_list);
          this.enable_command('show', 'expunge', 'select-all', 'select-none', 'sort', (this.env.messagecount > 0));
          this.enable_command('purge', this.purge_mailbox_test());
          if (response.action == 'list')
            this.triggerEvent('listupdate', { folder:this.env.mailbox, rowcount:this.message_list.rowcount });
        }
        else if (this.task == 'addressbook')
        else if (this.task == 'addressbook') {
          this.enable_command('export', (this.contact_list && this.contact_list.rowcount > 0));
          if (response.action == 'list')
            this.triggerEvent('listupdate', { folder:this.env.source, rowcount:this.contact_list.rowcount });
        }
        break;
    }
  };