Thomas Bruederli
2014-05-27 1791a1e7a23c0aaf126ba099a73564e8c4e88cee
Remove list row 'unfocused' state and keep 'selected' classes even when list loses focus. For visual distinguishing .focus tr.selected can be used
4 files modified
59 ■■■■ changed files
program/js/list.js 22 ●●●● patch | view | raw | blame | history
skins/classic/mail.css 12 ●●●● patch | view | raw | blame | history
skins/larry/addressbook.css 10 ●●●●● patch | view | raw | blame | history
skins/larry/styles.css 15 ●●●● patch | view | raw | blame | history
program/js/list.js
@@ -393,15 +393,7 @@
  if (this.focused)
    return;
  var n, id;
  this.focused = true;
  for (n in this.selection) {
    id = this.selection[n];
    if (this.rows[id] && this.rows[id].obj) {
      $(this.rows[id].obj).addClass('selected').removeClass('unfocused');
    }
  }
  if (e)
    rcube_event.cancel(e);
@@ -430,15 +422,7 @@
 */
blur: function(e)
{
  var n, id;
  this.focused = false;
  for (n in this.selection) {
    id = this.selection[n];
    if (this.rows[id] && this.rows[id].obj) {
      $(this.rows[id].obj).removeClass('selected focused').addClass('unfocused');
    }
  }
  $(this.list).removeClass('focus');
},
@@ -1087,7 +1071,7 @@
      this.highlight_row(n, true, true);
    }
    else {
      $(this.rows[n].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected');
      $(this.rows[n].obj).removeClass('selected').removeAttr('aria-selected');
    }
  }
@@ -1144,7 +1128,7 @@
  else {
    for (n in this.selection)
      if (this.rows[this.selection[n]]) {
        $(this.rows[this.selection[n]].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected');
        $(this.rows[this.selection[n]].obj).removeClass('selected').removeAttr('aria-selected');
      }
    this.selection = [];
@@ -1223,7 +1207,7 @@
        a_post = this.selection.slice(p+1, this.selection.length);
      this.selection = a_pre.concat(a_post);
      $(this.rows[id].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected');
      $(this.rows[id].obj).removeClass('selected').removeAttr('aria-selected');
      if (!norecur && !this.rows[id].expanded)
        this.highlight_children(id, false);
    }
skins/classic/mail.css
@@ -1060,21 +1060,15 @@
.messagelist tr.selected td
{
  color: #FFFFFF;
  background-color: #CC3333;
}
.messagelist tr.unfocused td
{
  color: #FFFFFF;
  background-color: #929292;
}
.messagelist tr.selected td a
.messagelist.focus tr.selected td
{
  color: #FFFFFF;
  background-color: #CC3333;
}
.messagelist tr.unfocused td a
.messagelist tr.selected td a
{
  color: #FFFFFF;
}
skins/larry/addressbook.css
@@ -146,13 +146,12 @@
    background-position: 4px -1603px;
}
#contacts-table .contact.selected td.name,
#contacts-table .contact.unfocused td.name {
#contacts-table .contact.selected td.name {
    background-position: 6px -1627px;
    font-weight: bold;
}
#contacts-table .contact.selected.focused td.name {
#contacts-table.focus .contact.selected.focused td.name {
    background-position: 4px -1627px;
}
@@ -164,13 +163,12 @@
    background-position: 4px -1555px;
}
#contacts-table .group.selected td.name,
#contacts-table .group.unfocused td.name {
#contacts-table .group.selected td.name {
    background-position: 6px -1579px;
    font-weight: bold;
}
#contacts-table .group.selected.focused td.name {
#contacts-table.focus .group.selected.focused td.name {
    background-position: 4px -1579px;
}
skins/larry/styles.css
@@ -1224,7 +1224,6 @@
.listbox .tablink.selected,
.listbox .listitem.selected > a,
.listbox .tablink.selected > a,
.listing tbody tr.unfocused td,
.listing tbody tr.selected td,
.listing li.selected,
.listing li.selected > a {
@@ -1577,6 +1576,10 @@
.records-table tr.selected td {
    color: #fff !important;
    background-color: #4db0d2 !important;
}
.records-table.focus tr.selected td {
    background: #019bc6;
    background: -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
@@ -1587,16 +1590,6 @@
.records-table tr.selected td a,
.records-table tr.selected td span {
    color: #fff !important;
}
.records-table tr.unfocused td {
    color: #fff !important;
    background-color: #4db0d2 !important;
}
.records-table tr.unfocused td a,
.records-table tr.unfocused td span {
    color: #fff !important;
}