mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-02 22:48:40 +00:00
sidebar: select default-item on hide and none-selected
This commit is contained in:
parent
19b58b2098
commit
296c7fea82
1 changed files with 17 additions and 2 deletions
|
@ -79,6 +79,9 @@ class FilterTreeView(component.Component):
|
||||||
self.label_view = gtk.TreeView()
|
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)
|
||||||
|
|
||||||
#menu
|
#menu
|
||||||
glade_menu = gtk.glade.XML(pkg_resources.resource_filename("deluge.ui.gtkui",
|
glade_menu = gtk.glade.XML(pkg_resources.resource_filename("deluge.ui.gtkui",
|
||||||
"glade/filtertree_menu.glade"))
|
"glade/filtertree_menu.glade"))
|
||||||
|
@ -149,6 +152,7 @@ class FilterTreeView(component.Component):
|
||||||
if not cat in self.cat_nodes:
|
if not cat in self.cat_nodes:
|
||||||
self.cat_nodes[cat] = self.treestore.append(None, ["cat", cat, _t(cat), 0, None, False])
|
self.cat_nodes[cat] = self.treestore.append(None, ["cat", cat, _t(cat), 0, None, False])
|
||||||
|
|
||||||
|
|
||||||
#update rows
|
#update rows
|
||||||
visible_filters = []
|
visible_filters = []
|
||||||
for cat,filters in filter_items.iteritems():
|
for cat,filters in filter_items.iteritems():
|
||||||
|
@ -168,8 +172,10 @@ class FilterTreeView(component.Component):
|
||||||
if not f in visible_filters:
|
if not f in visible_filters:
|
||||||
self.treestore.set_value(self.filters[f], FILTER_COLUMN, False)
|
self.treestore.set_value(self.filters[f], FILTER_COLUMN, False)
|
||||||
|
|
||||||
# obsolete?
|
|
||||||
self.label_view.expand_all()
|
self.label_view.expand_all()
|
||||||
|
(model, row) = self.label_view.get_selection().get_selected()
|
||||||
|
if not row:
|
||||||
|
self.select_default_filter()
|
||||||
|
|
||||||
def update_row(self, cat, value , count):
|
def update_row(self, cat, value , count):
|
||||||
if (cat, value) in self.filters:
|
if (cat, value) in self.filters:
|
||||||
|
@ -183,6 +189,7 @@ class FilterTreeView(component.Component):
|
||||||
row = self.treestore.append(self.cat_nodes[cat],[cat, value, label, count , pix, True])
|
row = self.treestore.append(self.cat_nodes[cat],[cat, value, label, count , pix, True])
|
||||||
self.filters[(cat, value)] = row
|
self.filters[(cat, value)] = row
|
||||||
self.treestore.set_value(row, FILTER_COLUMN, True)
|
self.treestore.set_value(row, FILTER_COLUMN, True)
|
||||||
|
return row
|
||||||
|
|
||||||
def render_cell_data(self, column, cell, model, row, data):
|
def render_cell_data(self, column, cell, model, row, data):
|
||||||
"cell renderer"
|
"cell renderer"
|
||||||
|
@ -302,4 +309,12 @@ class FilterTreeView(component.Component):
|
||||||
def on_resume_all(self, event):
|
def on_resume_all(self, event):
|
||||||
self.select_all()
|
self.select_all()
|
||||||
func = getattr(component.get("MenuBar"), "on_menuitem_%s_activate" % "resume")
|
func = getattr(component.get("MenuBar"), "on_menuitem_%s_activate" % "resume")
|
||||||
func(event)
|
func(event)
|
||||||
|
|
||||||
|
def _on_hide(self, *args):
|
||||||
|
self.select_default_filter()
|
||||||
|
|
||||||
|
def select_default_filter(self):
|
||||||
|
row = self.filters[("state", "All")]
|
||||||
|
path = self.treestore.get_path(row)
|
||||||
|
self.label_view.get_selection().select_path(path)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue