59 lines
1.1 KiB
Python
59 lines
1.1 KiB
Python
# Bryan Schumaker (12/12/2010)
|
|
|
|
import libsaria
|
|
import sources
|
|
import body
|
|
|
|
queue = libsaria.sources.queue
|
|
queue_page = sources.Source()
|
|
QUEUE_PAGE = body.add_page(queue_page, "Queue")
|
|
QUEUE_PAGE.goto = queue_page.goto
|
|
|
|
def set_label_text():
|
|
QUEUE_PAGE.label.set_text("Queue (%s)" % queue.num_visible())
|
|
|
|
def set_visible():
|
|
if queue.num_visible() == 0:
|
|
body.hide_page(QUEUE_PAGE)
|
|
else:
|
|
body.show_page(QUEUE_PAGE)
|
|
|
|
def fill_queue():
|
|
songs = libsaria.sources.list_queue(*sources.column.attrs)
|
|
queue_page.insert(songs)
|
|
set_label_text()
|
|
set_visible()
|
|
fill_queue()
|
|
|
|
def refresh():
|
|
queue_page.clear()
|
|
fill_queue()
|
|
|
|
def refilter():
|
|
queue_page.refilter()
|
|
set_label_text()
|
|
|
|
def clear():
|
|
queue_page.clear()
|
|
queue.reset()
|
|
refresh()
|
|
QUEUE_PAGE.clear = clear
|
|
|
|
def add_to_queue(menu):
|
|
ids = menu.source.get_selected_ids()
|
|
queue.add_ids(ids)
|
|
refresh()
|
|
|
|
def rm_from_queue(menu):
|
|
ids = menu.source.get_selected_ids()
|
|
queue.rm_ids(ids)
|
|
refresh()
|
|
|
|
menu_items = [
|
|
("Remove from Queue", rm_from_queue),
|
|
]
|
|
def show_menu(event):
|
|
m = sources.Menu(queue_page, menu_items)
|
|
m.show(event)
|
|
queue_page.set_right_click(show_menu)
|