Module: deluge
Branch: 1.3-stable
Commit: 4490cd371aa60f290fbc0b6b78c24fac1523bd15

Author: Calum Lind <[email protected]>
Date:   Fri Feb 11 20:24:27 2011 +0000

Sidebar: Enabled strings for translation and added icons to Trackers filter

---

 deluge/data/pixmaps/tracker_all16.png     |  Bin 0 -> 1097 bytes
 deluge/data/pixmaps/tracker_warning16.png |  Bin 0 -> 683 bytes
 deluge/ui/gtkui/filtertreeview.py         |   75 ++++++++++++++++++++++-------
 3 files changed, 57 insertions(+), 18 deletions(-)

diff --git a/deluge/data/pixmaps/tracker_all16.png 
b/deluge/data/pixmaps/tracker_all16.png
new file mode 100644
index 0000000..36756bb
Binary files /dev/null and b/deluge/data/pixmaps/tracker_all16.png differ
diff --git a/deluge/data/pixmaps/tracker_warning16.png 
b/deluge/data/pixmaps/tracker_warning16.png
new file mode 100644
index 0000000..219432c
Binary files /dev/null and b/deluge/data/pixmaps/tracker_warning16.png differ
diff --git a/deluge/ui/gtkui/filtertreeview.py 
b/deluge/ui/gtkui/filtertreeview.py
index 31487bb..787d623 100644
--- a/deluge/ui/gtkui/filtertreeview.py
+++ b/deluge/ui/gtkui/filtertreeview.py
@@ -38,6 +38,7 @@
 import gtk
 import gtk.glade
 import pkg_resources
+import glib
 
 import deluge.component as component
 import deluge.common
@@ -56,20 +57,37 @@ STATE_PIX = {
     "Active": "active"
     }
 
+TRACKER_PIX = {
+    "All": "tracker_all",
+    "Error": "tracker_warning",
+}
+
+def _(message): return message
 
 TRANSLATE = {
-    "state": "States",
-    "tracker_host": "Trackers",
-    "label": "Labels"
+    "state": _("States"),
+    "tracker_host": _("Trackers"),
+    "label": _("Labels"),
+    "All": _("All"),
+    "Downloading": _("Downloading"),
+    "Seeding": _("Seeding"),
+    "Paused": _("Paused"),
+    "Checking": _("Checking"),
+    "Queued": _("Queued"),
+    "Error": _("Error"),
+    "Active": _("Active"),
+    "none": _("None"),
+    "no_label": _("No Label"),
 }
 
-FILTER_COLUMN = 5
+del _
 
 def _t(text):
     if text in TRANSLATE:
         text = TRANSLATE[text]
     return _(text)
 
+FILTER_COLUMN = 5
 
 #sidebar-treeview
 class FilterTreeView(component.Component):
@@ -84,7 +102,7 @@ class FilterTreeView(component.Component):
         self.tracker_icons = component.get("TrackerIcons")
 
         self.label_view = gtk.TreeView()
-        self.sidebar.add_tab(self.label_view, "filters", _("Filters"))
+        self.sidebar.add_tab(self.label_view, "filters", "Filters")
 
         #set filter to all when hidden:
         self.sidebar.notebook.connect("hide", self._on_hide)
@@ -106,7 +124,7 @@ class FilterTreeView(component.Component):
         self.treestore = gtk.TreeStore(str, str, str, int, gtk.gdk.Pixbuf, 
bool)
 
         # Create the column
-        column = gtk.TreeViewColumn(_("Filters"))
+        column = gtk.TreeViewColumn("Filters")
         column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
         render = gtk.CellRendererPixbuf()
         self.renderpix = render
@@ -125,7 +143,7 @@ class FilterTreeView(component.Component):
         # Force the theme to use an expander-size of 15 so that we don't cut 
out
         # entries due to our indentation hack.
         gtk.rc_parse_string('style "treeview-style" { 
GtkTreeView::expander-size = 15 } class "GtkTreeView" style "treeview-style"')
-        
+
         self.label_view.set_model(self.treestore)
         self.label_view.get_selection().connect("changed", 
self.on_selection_changed)
         self.create_model_filter()
@@ -144,7 +162,7 @@ class FilterTreeView(component.Component):
         self.filters = {}
 
         #initial order of state filter:
-        self.cat_nodes["state"] = self.treestore.append(None, ["cat", "state", 
_("State"), 0, None, False])
+        self.cat_nodes["state"] = self.treestore.append(None, ["cat", "state", 
_t("State"), 0, None, False])
         self.update_row("state", "All" , 0)
         self.update_row("state", "Downloading" , 0)
         self.update_row("state", "Seeding" , 0)
@@ -152,6 +170,11 @@ class FilterTreeView(component.Component):
         self.update_row("state", "Paused" , 0)
         self.update_row("state", "Queued" , 0)
 
+        self.cat_nodes["tracker_host"] = self.treestore.append(None, ["cat", 
"tracker_host", _t("Trackers"), 0, None, False])
+        self.update_row("tracker_host", "All" , 0)
+        self.update_row("tracker_host", "Error" , 0)
+        self.update_row("tracker_host", "" , 0)
+
         # We set to this expand the rows on start-up
         self.expand_rows = True
 
@@ -208,8 +231,16 @@ class FilterTreeView(component.Component):
         else:
             pix = self.get_pixmap(cat, value)
             label = value
-            if cat == "state":
-                label = _(value)
+
+            if cat == "state" or cat == "tracker_host":
+                label = _t(value)
+
+            if label == "":
+                if cat == "tracker_host":
+                    label = _t("none")
+                elif cat == "label":
+                    label = _t("no_label")
+
             row = self.treestore.append(self.cat_nodes[cat],[cat, value, 
label, count , pix, True])
             self.filters[(cat, value)] = row
 
@@ -228,9 +259,6 @@ class FilterTreeView(component.Component):
         count = model.get_value(row, 3)
         pix = model.get_value(row, 4)
 
-        if label == "" and cat == "label":
-            label = _("no label")
-
         if pix:
             self.renderpix.set_property("visible", True)
         else:
@@ -248,11 +276,23 @@ class FilterTreeView(component.Component):
         cell.set_property('text', txt)
 
     def get_pixmap(self, cat, value):
+        pix = None
         if cat == "state":
-            pix = STATE_PIX.get(value, "dht")
-            return 
gtk.gdk.pixbuf_new_from_file(deluge.common.get_pixmap("%s16.png" % pix))
+            pix = STATE_PIX.get(value, None)
+        elif cat == "tracker_host":
+            pix = TRACKER_PIX.get(value, None)
+
+        if pix:
+            try:
+                return 
gtk.gdk.pixbuf_new_from_file(deluge.common.get_pixmap("%s16.png" % pix))
+            except glib.GError as e:
+                log.warning(e)
+        return self.get_transparent_pix(16, 16)
 
-        return None
+    def get_transparent_pix(self,  width, height):
+        pix = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, width, height)
+        pix.fill(0x0000000)
+        return pix
 
     def set_row_image(self, cat, value, filename):
         pix = None
@@ -262,8 +302,7 @@ class FilterTreeView(component.Component):
             log.debug(e)
 
         if not pix:
-            pix = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, 16, 16)
-            pix.fill(0x00000000)
+            pix = self.get_transparent_pix(16, 16)
         row = self.filters[(cat, value)]
         self.treestore.set_value(row, 4, pix)
         return False

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to