ocarina/ocarina/settings/library.py

48 lines
1.1 KiB
Python

# Bryan Schumaker (6 / 18 / 2011)
import gtk
import libsaria
page = gtk.VBox()
text = "Library"
panels = {}
def remove_path(button, path):
page.remove(panels[path])
del panels[path]
libsaria.sources.library.rm_path(path)
def add_panel(panel, path):
full_box = gtk.VBox()
full_box.pack_start(panel)
full_box.pack_start(gtk.HSeparator())
full_box.show_all()
panels[path] = full_box
page.pack_start(full_box, False, False)
def show_source(path, lib):
panel = gtk.HBox()
info_box = gtk.VBox()
path_lbl = gtk.Label()
path_lbl.set_markup("<span size='xx-large' weight='bold'>%s</span>" % path)
count_lbl = gtk.Label()
count_lbl.set_markup("<span size='large'>%s files</span>" % len(lib))
remove_button = gtk.Button("Remove", gtk.STOCK_REMOVE)
remove_button.connect("clicked", remove_path, path)
info_box.pack_start(path_lbl)
info_box.pack_start(count_lbl)
panel.pack_start(info_box)
panel.pack_start(remove_button, False, False)
add_panel(panel, path)
def refresh():
for path in panels:
page.remove(panels[path])
for path, lib in libsaria.sources.library.list_paths():
show_source(path, lib)
refresh()