[svn] Make a gradient of color instead... immsview
authorfabien
Fri, 06 Feb 2004 19:53:02 -0500
branchimmsview
changeset 22 7441fc82f74d
parent 21 8ccee783880a
child 23 e0e59c2c5b46
[svn] Make a gradient of color instead... I'm not sure which one I prefer however.
immsview
--- a/immsview	Fri Feb 06 01:10:49 2004 -0500
+++ b/immsview	Fri Feb 06 19:53:02 2004 -0500
@@ -20,9 +20,13 @@
 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-_version_ = "$Id: immsview 1703 2004-02-06 06:10:49Z fabien $"
+_version_ = "$Id: immsview 1704 2004-02-07 00:53:02Z fabien $"
 
 # $Log$
+# Revision 1.23  2004/02/07 00:53:02  fabien
+# Make a gradient of color instead...
+# I'm not sure which one I prefer however.
+#
 # Revision 1.22  2004/02/06 06:10:49  fabien
 # Add presentation page.
 #
@@ -231,16 +235,21 @@
 	    tune = cu.fetchone()
         return results
 
+_gdk_colors = []
+for i in range(150-75+1):
+    med = (150-75+1)/2
+    if i > med:
+        green = 255
+        red = (2*med-i) * 255 / med
+    else:
+        green = i * 255 / med
+        red = 255
+    blue = 0
+    _gdk_colors.append("#%02X%02X%02X" % (red, green, blue))
+
 def rating_to_color(rate):
-    if rate < 85:
-        return "red"
-    if rate < 95:
-        return "orange"
-    if rate < 110:
-        return "yellow"
-    if rate < 130:
-        return "green"
-    return "cyan"
+    rate = min(max(rate,75),150)
+    return _gdk_colors[rate-75]
 
 class IMMSStore(gtk.ListStore):
     COL_RATING = 0
@@ -452,8 +461,8 @@
         self.db = IMMSDb()
         self.model = IMMSStore(self.db)
     def main(self):
-        create_widgets()
-        gtk.main_loop()
+        self.create_widgets()
+        gtk.mainloop()
     def create_widgets(self):
         root = gtk.Window()
         root.set_title(_("IMMSView"))