def quit_gtk(window): if before_quit is not None: before_quit() # disable plugins import quodlibet.plugins quodlibet.plugins.quit() # for debug: this will list active copools from quodlibet.util import copool copool.pause_all() # See which browser windows are open and save their names # so we can restore them on start from quodlibet.qltk.browser import LibraryBrowser LibraryBrowser.save() # destroy all open windows so they hide immediately on close: # destroying all top level windows doesn't work (weird errors), # so we hide them all and only destroy our tracked instances # (browser windows, tag editors, pref window etc.) from quodlibet.qltk import Window for toplevel in Gtk.Window.list_toplevels(): toplevel.hide() for window in Window.windows: window.destroy() Gtk.main_quit() print_d("Quit GTK: done.")
def test_ctr(self): from quodlibet.library import SongLibrary from quodlibet.browsers.empty import EmptyBar win = LibraryBrowser(EmptyBar, SongLibrary(), NullPlayer()) win.browser.emit("songs-selected", [], False) win.songlist.get_selection().emit("changed") win.destroy()
def _open_browser(app, value): value = arg2text(value) try: Kind = browsers.get(value) except ValueError: raise CommandError("Unknown browser %r" % value) LibraryBrowser.open(Kind, app.library, app.player)
def test_open(self): from quodlibet.browsers.empty import EmptyBar from quodlibet.library import SongLibrary widget = LibraryBrowser.open(EmptyBar, SongLibrary(), NullPlayer()) self.assertTrue(widget) self.assertTrue(widget.get_visible()) widget.destroy()
def __copy_to_device(device, songs, library): if len(MediaDevices.instances()) > 0: browser = MediaDevices.instances()[0] else: win = LibraryBrowser.open(MediaDevices, library) browser = win.browser browser.select(device) browser.dropped(browser.get_toplevel().songlist, songs)
def __copy_to_device(device, songs, library): if len(MediaDevices.instances()) > 0: browser = MediaDevices.instances()[0] else: win = LibraryBrowser.open(MediaDevices, library, app.player) browser = win.browser browser.select(device) browser.dropped(songs)
def test_open(self): from quodlibet.browsers.tracks import TrackList from quodlibet.library import SongLibrary widget = LibraryBrowser.open(TrackList, SongLibrary(), NullPlayer()) self.assertTrue(widget) self.assertTrue(widget.get_visible()) widget.destroy()
def plugin_songs(self, songs): tag = "~dirname" values = [] for song in songs: values.extend(song.list(tag)) browser = LibraryBrowser.open(browsers.get("SearchBar"), app.library) browser.browser.filter(tag, set(values))
def quit_gtk(m): _quit_before() # disable plugins import quodlibet.plugins quodlibet.plugins.quit() # stop all copools print_d("Quit GTK: Stop all copools") from quodlibet.util import copool copool.pause_all() # events that add new events to the main loop (like copool) # can block the shutdown, so force stop after some time. # gtk.main_iteration will return True if quit gets called here from gi.repository import GLib GLib.timeout_add(4 * 1000, Gtk.main_quit, priority=GLib.PRIORITY_HIGH) # See which browser windows are open and save their names # so we can restore them on start from quodlibet.qltk.browser import LibraryBrowser LibraryBrowser.save() # destroy all open windows so they hide immediately on close: # destroying all top level windows doesn't work (weird errors), # so we hide them all and only destroy our tracked instances # (browser windows, tag editors, pref window etc.) from quodlibet.qltk import Window for toplevel in Gtk.Window.list_toplevels(): toplevel.hide() for window in Window.windows: window.destroy() print_d("Quit GTK: Process pending events...") while Gtk.events_pending(): if Gtk.main_iteration_do(False): print_d("Quit GTK: Timeout occurred, force quit.") break else: Gtk.main_quit() print_d("Quit GTK: done.")
def plugin_songs(self, songs): tag = "~dirname" values = [] for song in songs: values.extend(song.list(tag)) browser = LibraryBrowser.open( browsers.get("SearchBar"), app.library, app.player) browser.browser.filter(tag, set(values))
def _open_browser(app, value): Kind = browsers.get(value) if Kind is not browsers.empty.EmptyBar: LibraryBrowser.open(Kind, app.library, app.player) else: raise CommandError("Unknown browser %r" % value)
def browser_activate(action, Kind): LibraryBrowser.open(Kind, library, player)
def test_open(self): self.library.librarian = SongLibrarian() widget = LibraryBrowser.open(TrackList, self.library, NullPlayer()) self.assertTrue(widget) self.assertTrue(widget.get_visible()) widget.destroy()
def test_ctr(self): win = LibraryBrowser(AlbumList, self.library, NullPlayer()) win.browser.emit("songs-selected", [], False) win.songlist.get_selection().emit("changed") win.destroy()