Aleksander Machniak
2013-04-20 8ad2c98e9d596e44ea0a20c4412a1820a75ba1d5
program/js/list.js
@@ -692,7 +692,6 @@
    this.shift_start = null;
  this.last_selected = id;
  this.list.focus();
},
@@ -780,10 +779,16 @@
  if (!this.rows[this.shift_start] || !this.selection.length)
    this.shift_start = id;
  var n, from_rowIndex = this.rows[this.shift_start].obj.rowIndex,
    to_rowIndex = this.rows[id].obj.rowIndex,
    i = ((from_rowIndex < to_rowIndex)? from_rowIndex : to_rowIndex),
    j = ((from_rowIndex > to_rowIndex)? from_rowIndex : to_rowIndex);
  var n, i, j, to_row = this.rows[id],
    from_rowIndex = this.rows[this.shift_start].obj.rowIndex,
    to_rowIndex = to_row.obj.rowIndex;
  if (!to_row.expanded && to_row.has_children)
    if (to_row = this.rows[(this.row_children(id)).pop()])
      to_rowIndex = to_row.obj.rowIndex;
  i = ((from_rowIndex < to_rowIndex) ? from_rowIndex : to_rowIndex),
  j = ((from_rowIndex > to_rowIndex) ? from_rowIndex : to_rowIndex);
  // iterate through the entire message list
  for (n in this.rows) {
@@ -829,7 +834,7 @@
  for (n in this.rows) {
    if (!filter || this.rows[n][filter] == true) {
      this.last_selected = n;
      this.highlight_row(n, true);
      this.highlight_row(n, true, true);
    }
    else {
      $(this.rows[n].obj).removeClass('selected').removeClass('unfocused');
@@ -924,7 +929,7 @@
/**
 * Highlight/unhighlight a row
 */
highlight_row: function(id, multiple)
highlight_row: function(id, multiple, norecur)
{
  if (!this.rows[id])
    return;
@@ -940,7 +945,7 @@
    if (!this.in_selection(id)) { // select row
      this.selection.push(id);
      $(this.rows[id].obj).addClass('selected');
      if (!this.rows[id].expanded)
      if (!norecur && !this.rows[id].expanded)
        this.highlight_children(id, true);
    }
    else { // unselect row
@@ -950,7 +955,7 @@
      this.selection = a_pre.concat(a_post);
      $(this.rows[id].obj).removeClass('selected').removeClass('unfocused');
      if (!this.rows[id].expanded)
      if (!norecur && !this.rows[id].expanded)
        this.highlight_children(id, false);
    }
  }
@@ -968,7 +973,7 @@
  for (i=0; i<len; i++) {
    selected = this.in_selection(children[i]);
    if ((status && !selected) || (!status && selected))
      this.highlight_row(children[i], true);
      this.highlight_row(children[i], true, true);
  }
},