commit 4a170fce6f2da9ed1956d48ef248e48fea0df1d3
parent d479d4fb6cced257be496678d142cfc28c4d1ea7
Author: Dan Stillman <dstillman@zotero.org>
Date: Thu, 21 Apr 2011 16:11:28 +0000
Use background color for selected items with colored tags, like Thunderbird
Diffstat:
2 files changed, 94 insertions(+), 5 deletions(-)
diff --git a/chrome/content/zotero/xpcom/itemTreeView.js b/chrome/content/zotero/xpcom/itemTreeView.js
@@ -2415,17 +2415,36 @@ Zotero.ItemTreeView.prototype.onDragExit = function (event) {
////////////////////////////////////////////////////////////////////////////////
Zotero.ItemTreeView.prototype.isSeparator = function(row) { return false; }
-Zotero.ItemTreeView.prototype.getRowProperties = function(row, prop) { }
-Zotero.ItemTreeView.prototype.getColumnProperties = function(col, prop) { }
-Zotero.ItemTreeView.prototype.getCellProperties = function(row, col, prop) {
+Zotero.ItemTreeView.prototype.getRowProperties = function(row, prop) {
+ if (!this.selection.isSelected(row)) {
+ return;
+ }
+
var itemID = this._getItemAtRow(row).ref.id;
- // Set tag colors
+ // Set background color for selected items with colored tags
if (color = Zotero.Tags.getItemColor(itemID)) {
var aServ = Components.classes["@mozilla.org/atom-service;1"].
getService(Components.interfaces.nsIAtomService);
prop.AppendElement(aServ.getAtom("color" + color.substr(1)));
}
+}
+Zotero.ItemTreeView.prototype.getColumnProperties = function(col, prop) { }
+Zotero.ItemTreeView.prototype.getCellProperties = function(row, col, prop) {
+ var itemID = this._getItemAtRow(row).ref.id;
+
+ // Set tag colors
+ //
+ // Don't set the text color if the row is selected, in which case the background
+ // color is set in getRowProperties() instead, unless the tree isn't focused,
+ // in which case it's not
+ if (!this.selection.isSelected(row) || !this._treebox.focused) {
+ if (color = Zotero.Tags.getItemColor(itemID)) {
+ var aServ = Components.classes["@mozilla.org/atom-service;1"].
+ getService(Components.interfaces.nsIAtomService);
+ prop.AppendElement(aServ.getAtom("color" + color.substr(1)));
+ }
+ }
// Mark items not matching search as context rows, displayed in gray
if (this._searchMode && !this._searchItemIDs[itemID]) {
diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css
@@ -131,7 +131,6 @@
#zotero-items-tree treechildren::-moz-tree-cell-text(color000099) { color:#000099 }
#zotero-items-tree treechildren::-moz-tree-cell-text(color333399) { color:#333399 }
#zotero-items-tree treechildren::-moz-tree-cell-text(color663366) { color:#663366 }
-/*#zotero-items-tree treechildren::-moz-tree-cell-text(color000000) { color:#000000 }*/
#zotero-items-tree treechildren::-moz-tree-cell-text(color330000) { color:#330000 }
#zotero-items-tree treechildren::-moz-tree-cell-text(color663300) { color:#663300 }
#zotero-items-tree treechildren::-moz-tree-cell-text(color663333) { color:#663333 }
@@ -142,6 +141,77 @@
#zotero-items-tree treechildren::-moz-tree-cell-text(color330099) { color:#330099 }
#zotero-items-tree treechildren::-moz-tree-cell-text(color330033) { color:#330033 }
+/* For selected item with colored tags, set the background color instead */
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFFFF,focus) { background:#FFFFFF }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCCCC,focus) { background:#FFCCCC }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCC99,focus) { background:#FFCC99 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFF99,focus) { background:#FFFF99 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFFCC,focus) { background:#FFFFCC }
+#zotero-items-tree treechildren::-moz-tree-row(color99FF99,focus) { background:#99FF99 }
+#zotero-items-tree treechildren::-moz-tree-row(color99FFFF,focus) { background:#99FFFF }
+#zotero-items-tree treechildren::-moz-tree-row(colorCCFFFF,focus) { background:#CCFFFF }
+#zotero-items-tree treechildren::-moz-tree-row(colorCCCCFF,focus) { background:#CCCCFF }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCCFF,focus) { background:#FFCCFF }
+#zotero-items-tree treechildren::-moz-tree-row(colorCCCCCC,focus) { background:#CCCCCC }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF6666,focus) { background:#FF6666 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF9966,focus) { background:#FF9966 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFF66,focus) { background:#FFFF66 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFF33,focus) { background:#FFFF33 }
+#zotero-items-tree treechildren::-moz-tree-row(color66FF99,focus) { background:#66FF99 }
+#zotero-items-tree treechildren::-moz-tree-row(color33FFFF,focus) { background:#33FFFF }
+#zotero-items-tree treechildren::-moz-tree-row(color66FFFF,focus) { background:#66FFFF }
+#zotero-items-tree treechildren::-moz-tree-row(color9999FF,focus) { background:#9999FF }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF99FF,focus) { background:#FF99FF }
+#zotero-items-tree treechildren::-moz-tree-row(colorC0C0C0,focus) { background:#C0C0C0 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF0000,focus) { background:#FF0000 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF9900,focus) { background:#FF9900 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCC66,focus) { background:#FFCC66 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFFF00,focus) { background:#FFFF00 }
+#zotero-items-tree treechildren::-moz-tree-row(color33FF33,focus) { background:#33FF33 }
+#zotero-items-tree treechildren::-moz-tree-row(color66CCCC,focus) { background:#66CCCC }
+#zotero-items-tree treechildren::-moz-tree-row(color33CCFF,focus) { background:#33CCFF }
+#zotero-items-tree treechildren::-moz-tree-row(color6666CC,focus) { background:#6666CC }
+#zotero-items-tree treechildren::-moz-tree-row(colorCC66CC,focus) { background:#CC66CC }
+#zotero-items-tree treechildren::-moz-tree-row(color999999,focus) { background:#999999 }
+#zotero-items-tree treechildren::-moz-tree-row(colorCC0000,focus) { background:#CC0000 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFF6600,focus) { background:#FF6600 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCC33,focus) { background:#FFCC33 }
+#zotero-items-tree treechildren::-moz-tree-row(colorFFCC00,focus) { background:#FFCC00 }
+#zotero-items-tree treechildren::-moz-tree-row(color33CC00,focus) { background:#33CC00 }
+#zotero-items-tree treechildren::-moz-tree-row(color00CCCC,focus) { background:#00CCCC }
+#zotero-items-tree treechildren::-moz-tree-row(color3366FF,focus) { background:#3366FF }
+#zotero-items-tree treechildren::-moz-tree-row(color6633FF,focus) { background:#6633FF }
+#zotero-items-tree treechildren::-moz-tree-row(colorCC33CC,focus) { background:#CC33CC }
+#zotero-items-tree treechildren::-moz-tree-row(color666666,focus) { background:#666666 }
+#zotero-items-tree treechildren::-moz-tree-row(color990000,focus) { background:#990000 }
+#zotero-items-tree treechildren::-moz-tree-row(colorCC6600,focus) { background:#CC6600 }
+#zotero-items-tree treechildren::-moz-tree-row(colorCC9933,focus) { background:#CC9933 }
+#zotero-items-tree treechildren::-moz-tree-row(color999900,focus) { background:#999900 }
+#zotero-items-tree treechildren::-moz-tree-row(color009900,focus) { background:#009900 }
+#zotero-items-tree treechildren::-moz-tree-row(color339999,focus) { background:#339999 }
+#zotero-items-tree treechildren::-moz-tree-row(color3333FF,focus) { background:#3333FF }
+#zotero-items-tree treechildren::-moz-tree-row(color6600CC,focus) { background:#6600CC }
+#zotero-items-tree treechildren::-moz-tree-row(color993399,focus) { background:#993399 }
+#zotero-items-tree treechildren::-moz-tree-row(color333333,focus) { background:#333333 }
+#zotero-items-tree treechildren::-moz-tree-row(color660000,focus) { background:#660000 }
+#zotero-items-tree treechildren::-moz-tree-row(color993300,focus) { background:#993300 }
+#zotero-items-tree treechildren::-moz-tree-row(color996633,focus) { background:#996633 }
+#zotero-items-tree treechildren::-moz-tree-row(color666600,focus) { background:#666600 }
+#zotero-items-tree treechildren::-moz-tree-row(color006600,focus) { background:#006600 }
+#zotero-items-tree treechildren::-moz-tree-row(color336666,focus) { background:#336666 }
+#zotero-items-tree treechildren::-moz-tree-row(color000099,focus) { background:#000099 }
+#zotero-items-tree treechildren::-moz-tree-row(color333399,focus) { background:#333399 }
+#zotero-items-tree treechildren::-moz-tree-row(color663366,focus) { background:#663366 }
+#zotero-items-tree treechildren::-moz-tree-row(color330000,focus) { background:#330000 }
+#zotero-items-tree treechildren::-moz-tree-row(color663300,focus) { background:#663300 }
+#zotero-items-tree treechildren::-moz-tree-row(color663333,focus) { background:#663333 }
+#zotero-items-tree treechildren::-moz-tree-row(color333300,focus) { background:#333300 }
+#zotero-items-tree treechildren::-moz-tree-row(color003300,focus) { background:#003300 }
+#zotero-items-tree treechildren::-moz-tree-row(color003333,focus) { background:#003333 }
+#zotero-items-tree treechildren::-moz-tree-row(color000066,focus) { background:#000066 }
+#zotero-items-tree treechildren::-moz-tree-row(color330099,focus) { background:#330099 }
+#zotero-items-tree treechildren::-moz-tree-row(color330033,focus) { background:#330033 }
+
/* Style search results, display non-matches in gray */
#zotero-items-tree treechildren::-moz-tree-cell-text(contextRow) {
color: gray;