This function is similar to the add_to_playlist() function I recently added. The idea is to have the queue add things to itself, rather than having the playlist and library implement this function independently.
56 lines
1.2 KiB
Python
56 lines
1.2 KiB
Python
# Bryan Schumaker (11/26/2010)
|
|
|
|
import ocarina
|
|
from ocarina import body
|
|
from ocarina import source
|
|
import menu
|
|
|
|
gtk = ocarina.gtk
|
|
sources = ocarina.libsaria.sources
|
|
library = sources.library
|
|
visible = library.is_visible
|
|
|
|
libsaria = ocarina.libsaria
|
|
lib_page = source.Source()
|
|
|
|
def init():
|
|
body.add_page("Library", lib_page)
|
|
sources.init_src(library.init_bg, filler)
|
|
libsaria.event.invite("POSTNEWSOURCE", refresh)
|
|
|
|
def filler():
|
|
lib_page.init(filter, is_visible, right_click, library.play_id, reset)
|
|
menu.add_lib_menu_item("Add to queue", add_selected_to_queue)
|
|
menu.add_lib_menu_item("Add to playlist", add_selected_to_playlist)
|
|
lib_page.fill(library.walk, True)
|
|
|
|
def filter(text):
|
|
library.filter(text)
|
|
lib_page.refilter()
|
|
lib_page.goto()
|
|
|
|
def is_visible(list, iter):
|
|
return visible(list[iter][0])
|
|
|
|
def reset():
|
|
import playlist
|
|
playlist.reset()
|
|
lib_page.clear()
|
|
library.reset()
|
|
library.save()
|
|
|
|
def refresh(*args):
|
|
lib_page.clear()
|
|
lib_page.fill(library.walk)
|
|
|
|
def right_click(button, time):
|
|
menu.make_lib_menu(button, time)
|
|
|
|
def add_selected_to_playlist(menu):
|
|
import playlist
|
|
playlist.add_to_playlist(lib_page)
|
|
|
|
def add_selected_to_queue(menu):
|
|
import queue
|
|
queue.add_to_queue(lib_page)
|