ocarina: Use new filtering functions

I set this up through callbacks.  It should filter all sources at once,
rather than just the current page.
This commit is contained in:
Bryan Schumaker 2011-05-22 09:25:47 -04:00
parent 3f8cba6f16
commit 4f8f4d3ce3
6 changed files with 13 additions and 15 deletions

View File

@ -54,9 +54,6 @@ def show_page(page, switch = False):
if switch == True:
switch_to_page(page)
def cur_page_filter(text):
current_page().filter(text)
def cur_page_goto():
current_page().goto()
shortcuts.register_shortcut("g", cur_page_goto)

View File

@ -3,6 +3,7 @@
import gtk
import ocarina
from ocarina import shortcuts
from libsaria import sources
entry = gtk.Entry()
entry.show()
@ -10,7 +11,7 @@ entry.show()
has_focus = entry.is_focus
def do_filter(entry):
ocarina.body.cur_page_filter(entry.get_text())
sources.filter(entry.get_text())
entry.connect("changed", do_filter)
shortcuts.register_shortcut("slash", entry.grab_focus)

View File

@ -45,3 +45,9 @@ callbacks.on_library_updated = library_updated
def on_queue_changed():
queue.refresh()
callbacks.on_queue_changed = on_queue_changed
def on_refilter():
queue.refilter()
playlist.refilter()
library.refilter()
callbacks.on_refilter = on_refilter

View File

@ -27,11 +27,9 @@ def do_refilter(list, iter):
return libsaria.sources.is_visible(list[iter][0])
lib_page.set_filter_func(do_refilter)
def filter(text):
library.filter(text)
def refilter():
lib_page.refilter()
set_label_text()
LIB_PAGE.filter = filter
import playlist
import queue

View File

@ -24,15 +24,13 @@ def refresh():
fill_playlist()
def do_refilter(list, iter):
return playlist.is_visible(list[iter][0])
return libsaria.sources.is_visible(list[iter][0])
playlist_page.set_filter_func(do_refilter)
def filter(text):
playlist.filter(text)
def refilter():
playlist_page.refilter()
playlist_page.goto()
set_label_text()
PLAYLIST_PAGE.filter = filter
def clear():
playlist_page.clear()

View File

@ -31,14 +31,12 @@ def refresh():
fill_queue()
def do_refilter(list, iter):
return queue.is_visible(list[iter][0])
return libsaria.sources.is_visible(list[iter][0])
queue_page.set_filter_func(do_refilter)
def filter(text):
queue.filter(text)
def refilter():
queue_page.refilter()
set_label_text()
QUEUE_PAGE.filter = filter
def clear():
queue_page.clear()