diff --git a/ocarina/body/__init__.py b/ocarina/body/__init__.py index e694b65b..579f15a6 100644 --- a/ocarina/body/__init__.py +++ b/ocarina/body/__init__.py @@ -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) diff --git a/ocarina/body/header/entry.py b/ocarina/body/header/entry.py index 76bf978b..d225c474 100644 --- a/ocarina/body/header/entry.py +++ b/ocarina/body/header/entry.py @@ -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) diff --git a/ocarina/callbacks.py b/ocarina/callbacks.py index 48ddbb43..0ee838ce 100644 --- a/ocarina/callbacks.py +++ b/ocarina/callbacks.py @@ -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 diff --git a/ocarina/library.py b/ocarina/library.py index cb73cdc3..987e946c 100644 --- a/ocarina/library.py +++ b/ocarina/library.py @@ -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 diff --git a/ocarina/playlist.py b/ocarina/playlist.py index 1c61267f..3fac487f 100644 --- a/ocarina/playlist.py +++ b/ocarina/playlist.py @@ -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() diff --git a/ocarina/queue.py b/ocarina/queue.py index 4a56fb3b..c373583b 100644 --- a/ocarina/queue.py +++ b/ocarina/queue.py @@ -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()