ocarina: Do filtering in the listview

Each source was doing the exact same thing for filtering now that I have
a generic is_visible() function.  There is no need for each source to
implement this.
This commit is contained in:
Bryan Schumaker 2011-05-22 09:43:27 -04:00
parent 39198ff2ce
commit 43f37c93a7
4 changed files with 5 additions and 12 deletions

View File

@ -23,10 +23,6 @@ def refresh():
lib_page.clear()
fill_library()
def do_refilter(list, iter):
return libsaria.sources.is_visible(list[iter][0])
lib_page.set_filter_func(do_refilter)
def refilter():
lib_page.refilter()
set_label_text()

View File

@ -23,10 +23,6 @@ def refresh():
playlist_page.clear()
fill_playlist()
def do_refilter(list, iter):
return libsaria.sources.is_visible(list[iter][0])
playlist_page.set_filter_func(do_refilter)
def refilter():
playlist_page.refilter()
playlist_page.goto()

View File

@ -30,10 +30,6 @@ def refresh():
queue_page.clear()
fill_queue()
def do_refilter(list, iter):
return libsaria.sources.is_visible(list[iter][0])
queue_page.set_filter_func(do_refilter)
def refilter():
queue_page.refilter()
set_label_text()

View File

@ -6,6 +6,7 @@ import column
import libsaria
BUTTON_RIGHT = 3
is_visible = libsaria.sources.is_visible
class ListView(gtk.TreeView):
def __init__(self):
@ -31,6 +32,7 @@ class ListView(gtk.TreeView):
self.connect("button-release-event", self.button_click)
#self.connect("query-tooltip", self.query_tooltip)
self.set_filter_func(self.song_is_visible)
self.insert = self.list.insert
self.show()
@ -81,6 +83,9 @@ class ListView(gtk.TreeView):
self.selection.selected_foreach(insert_func, res.append)
return res
def song_is_visible(self, list, iter):
return is_visible(list[iter][0])
def set_filter_func(self, func):
self.filter_model.set_visible_func(func)