# 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("%s" % path) count_lbl = gtk.Label() count_lbl.set_markup("%s files" % 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()