Пример #1
0
    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.")
Пример #2
0
 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()
Пример #3
0
    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.")
Пример #4
0
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)
Пример #5
0
    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()
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
 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)
Пример #9
0
    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()
Пример #10
0
    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))
Пример #11
0
    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.")
Пример #12
0
    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))
Пример #13
0
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)
Пример #14
0
 def browser_activate(action, Kind):
     LibraryBrowser.open(Kind, library, player)
Пример #15
0
 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()
Пример #16
0
 def test_ctr(self):
     win = LibraryBrowser(AlbumList, self.library, NullPlayer())
     win.browser.emit("songs-selected", [], False)
     win.songlist.get_selection().emit("changed")
     win.destroy()
Пример #17
0
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)
Пример #18
0
 def browser_activate(action, Kind):
     LibraryBrowser.open(Kind, library, player)