Use built-in selected_foreach

I also made a wrapper so I can do things with each selected ID.
This commit is contained in:
Bryan Schumaker 2010-12-17 08:18:33 -05:00
parent 23e93ee7ae
commit d380d0ec45
4 changed files with 12 additions and 11 deletions

View File

@ -49,11 +49,11 @@ def right_click(button, time):
def add_selected_to_playlist(menu):
import playlist
lib_page.for_each_selected(sources.playlist.add_id)
lib_page.for_each_selected_id(sources.playlist.add_id)
sources.playlist.save()
playlist.refresh()
def add_selected_to_queue(menu):
import queue
lib_page.for_each_selected(sources.queue.add_id)
lib_page.for_each_selected_id(sources.queue.add_id)
queue.refresh()

View File

@ -43,11 +43,11 @@ def right_click(button, time):
menu.make_plist_menu(button, time)
def rm_selected_from_playlist(menu):
plist_page.for_each_selected(playlist.rm_id)
plist_page.for_each_selected_id(playlist.rm_id)
playlist.save()
refresh()
def add_selected_to_queue(menu):
import queue
plist_page.for_each_selected(sources.queue.add_id)
plist_page.for_each_selected_id(sources.queue.add_id)
queue.refresh()

View File

@ -42,7 +42,7 @@ def right_click(button, time):
menu.make_queue_menu(button, time)
def rm_selected_from_queue(menu):
queue_page.for_each_selected(queue.rm_id)
queue_page.for_each_selected_id(queue.rm_id)
refresh()
def play_id(id):

View File

@ -65,6 +65,7 @@ class ListView(gtk.TreeView):
self.clear = self.list.clear
self.right_click = right_click
self.play_id = play_id
self.for_each_selected = self.sel.selected_foreach
self.show_all()
@ -78,11 +79,11 @@ class ListView(gtk.TreeView):
row = model[iter]
self.play_id(row[0])
def for_each_selected(self, func):
filter = self.filter_model
for iter in self.sel.get_selected_rows()[1]:
func(filter[iter][0])
self.sel.unselect_all()
def path_to_id(self, tree, path, iter, func):
func(tree[iter][0])
def for_each_selected_id(self, func):
self.for_each_selected(self.path_to_id, func)
def freeze(self, lock=False):
if lock == True:
@ -161,7 +162,7 @@ class Source(gtk.ScrolledWindow):
self.reset = reset
self.clear = self.list.clear
self.goto = self.list.goto
self.for_each_selected = self.list.for_each_selected
self.for_each_selected_id = self.list.for_each_selected_id
def fill(self, walk_func, lock = False):
self.list.freeze(lock)