本文整理汇总了Python中quodlibet.config.save函数的典型用法代码示例。如果您正苦于以下问题:Python save函数的具体用法?Python save怎么用?Python save使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了save函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: main
def main():
quodlibet._init_signal()
opts = util.OptionParser(
"Ex Falso", const.VERSION,
_("an audio tag editor"), "[%s]" % _("directory"))
sys.argv.append(os.path.abspath("."))
opts, args = opts.parse()
args[0] = os.path.realpath(args[0])
config.init(const.CONFIG)
app.library = quodlibet.init(icon="exfalso",
name="Ex Falso",
title=const.PROCESS_TITLE_EF)
app.librarian = app.library.librarian
app.player = quodlibet.init_backend("nullbe", app.librarian)
pm = quodlibet.init_plugins()
pm.rescan()
from quodlibet.qltk.exfalsowindow import ExFalsoWindow
app.window = ExFalsoWindow(app.library, args[0])
app.window.init_plugins()
from quodlibet.qltk import session
session.init("exfalso")
quodlibet.enable_periodic_save(save_library=False)
quodlibet.main(app.window)
config.save(const.CONFIG)
print_d("Finished shutdown.")
开发者ID:silkecho,项目名称:glowing-silk,代码行数:34,代码来源:exfalso.py
示例2: cleanup
def cleanup(self):
from quodlibet import config, const
if self.api_version == 1:
ql.quit(self.instance)
config.write(const.CONFIG)
elif self.api_version == 2:
from quodlibet.util import copool
copool.remove_all()
config.save(const.CONFIG)
config.quit()
开发者ID:exaile,项目名称:exaile-plugin-parking-lot,代码行数:10,代码来源:__init__.py
示例3: main
def main(argv=None):
if argv is None:
argv = sys_argv
import quodlibet
config_file = os.path.join(quodlibet.get_user_dir(), "config")
quodlibet.init(config_file=config_file)
from quodlibet.qltk import add_signal_watch
add_signal_watch(app.quit)
opts = util.OptionParser(
"Ex Falso", const.VERSION,
_("an audio tag editor"), "[%s]" % _("directory"))
argv.append(os.path.abspath(fsnative(u".")))
opts, args = opts.parse(argv[1:])
args[0] = os.path.realpath(args[0])
app.name = "Ex Falso"
app.description = _("Audio metadata editor")
app.id = "exfalso"
app.process_name = "exfalso"
quodlibet.set_application_info(app)
import quodlibet.library
import quodlibet.player
app.library = quodlibet.library.init()
app.player = quodlibet.player.init_player("nullbe", app.librarian)
from quodlibet.qltk.songlist import PlaylistModel
app.player.setup(PlaylistModel(), None, 0)
pm = quodlibet.init_plugins()
pm.rescan()
from quodlibet.qltk.exfalsowindow import ExFalsoWindow
dir_ = args[0]
app.window = ExFalsoWindow(app.library, dir_)
app.window.init_plugins()
from quodlibet.util.cover import CoverManager
app.cover_manager = CoverManager()
app.cover_manager.init_plugins()
from quodlibet import session
session_client = session.init(app)
quodlibet.enable_periodic_save(save_library=False)
quodlibet.run(app.window)
quodlibet.finish_first_session("exfalso")
config.save()
session_client.close()
util.print_d("Finished shutdown.")
开发者ID:zsau,项目名称:quodlibet,代码行数:55,代码来源:exfalso.py
示例4: main
def main(argv):
import quodlibet
from quodlibet.qltk import add_signal_watch, icons
add_signal_watch(app.quit)
opts = util.OptionParser("Ex Falso", const.VERSION, _("an audio tag editor"), "[%s]" % _("directory"))
# FIXME: support unicode on Windows, sys.argv isn't good enough
argv.append(os.path.abspath(fsnative(u".")))
opts, args = opts.parse(argv[1:])
args[0] = os.path.realpath(args[0])
config.init(os.path.join(quodlibet.get_user_dir(), "config"))
app.name = "Ex Falso"
app.id = "exfalso"
quodlibet.init(icon=icons.EXFALSO, name=app.name, proc_title=app.id)
import quodlibet.library
import quodlibet.player
app.library = quodlibet.library.init()
app.player = quodlibet.player.init_player("nullbe", app.librarian)
from quodlibet.qltk.songlist import PlaylistModel
app.player.setup(PlaylistModel(), None, 0)
pm = quodlibet.init_plugins()
pm.rescan()
from quodlibet.qltk.exfalsowindow import ExFalsoWindow
dir_ = args[0]
if os.name == "nt":
dir_ = fsdecode(dir_)
app.window = ExFalsoWindow(app.library, dir_)
app.window.init_plugins()
from quodlibet.util.cover import CoverManager
app.cover_manager = CoverManager()
app.cover_manager.init_plugins()
from quodlibet.qltk import session
session.init("exfalso")
quodlibet.enable_periodic_save(save_library=False)
quodlibet.main(app.window)
quodlibet.finish_first_session(app.id)
config.save()
print_d("Finished shutdown.")
开发者ID:SimonLarsen,项目名称:quodlibet,代码行数:55,代码来源:exfalso.py
示例5: __destroy
def __destroy(self):
config.save()
if self.current_scan_dirs != get_scan_dirs():
print_d("Library paths have changed, re-scanning...")
scan_library(app.library, force=False)
开发者ID:elfalem,项目名称:quodlibet,代码行数:5,代码来源:prefs.py
示例6: __init__
def __init__(self, library, player):
super(QuodLibetWindow, self).__init__()
self.last_dir = const.HOME
self.__update_title(player)
self.set_default_size(550, 450)
main_box = gtk.VBox()
self.add(main_box)
# create test instance of the MPD backend
self._mpd = quodmpd.QuodMpd()
# create main menubar, load/restore accelerator groups
self.__library = library
self.__create_menu(player, library)
self.add_accel_group(self.ui.get_accel_group())
accel_fn = os.path.join(const.USERDIR, "accels")
gtk.accel_map_load(accel_fn)
accelgroup = gtk.accel_groups_from_object(self)[0]
accelgroup.connect('accel-changed',
lambda *args: gtk.accel_map_save(accel_fn))
main_box.pack_start(self.ui.get_widget("/Menu"), expand=False)
# get the playlist up before other stuff
self.songlist = MainSongList(library, player)
self.songlist.show_all()
self.add_accel_group(self.songlist.accelerators)
self.songlist.connect_after(
'drag-data-received', self.__songlist_drag_data_recv)
self.song_scroller = SongListScroller(
self.ui.get_widget("/Menu/View/SongList"))
self.song_scroller.add(self.songlist)
self.qexpander = QueueExpander(
self.ui.get_widget("/Menu/View/Queue"), library, player)
self.playlist = PlaylistMux(
player, self.qexpander.model, self.songlist.model)
top_bar = TopBar(self, player, library)
top_align = Alignment(top_bar, border=3, bottom=-3)
main_box.pack_start(top_align, expand=False)
self.__browserbox = Alignment(top=3, bottom=3)
main_box.pack_start(self.__browserbox)
statusbox = StatusBarBox(self.songlist.model, player)
self.order = statusbox.order
self.repeat = statusbox.repeat
self.statusbar = statusbox.statusbar
main_box.pack_start(Alignment(statusbox, border=3, top=-3),
expand=False)
self.songpane = gtk.VPaned()
self.songpane.pack1(self.song_scroller, resize=True, shrink=False)
self.songpane.pack2(self.qexpander, resize=True, shrink=False)
self.__handle_position = self.songpane.get_property("position")
self.song_scroller.connect('notify::visible', self.__show_or)
self.qexpander.connect('notify::visible', self.__show_or)
self.qexpander.connect('notify::expanded', self.__expand_or)
self.qexpander.connect('size-allocate', self.__qex_size_allocate)
self.songpane.connect('notify', self.__moved_pane_handle)
sort = config.get('memory', 'sortby')
self.songlist.set_sort_by(None, sort[1:], order=int(sort[0]))
self.browser = None
main_box.show_all()
try:
self.select_browser(
self, config.get("memory", "browser"), library, player, True)
except:
config.set("memory", "browser", browsers.name(0))
config.save(const.CONFIG)
raise
# set at least the playlist before the mainloop starts..
player.setup(self.playlist, None, 0)
def delayed_song_set():
song = library.get(config.get("memory", "song"))
seek_pos = config.getint("memory", "seek")
config.set("memory", "seek", 0)
player.setup(self.playlist, song, seek_pos)
gobject.idle_add(delayed_song_set)
self.showhide_playlist(self.ui.get_widget("/Menu/View/SongList"))
self.showhide_playqueue(self.ui.get_widget("/Menu/View/Queue"))
self.songlist.connect('popup-menu', self.__songs_popup_menu)
self.songlist.connect('columns-changed', self.__cols_changed)
self.songlist.connect('columns-changed', self.__hide_headers)
self.songlist.get_selection().connect(
'changed', util.DeferredSignal(self.__set_time))
lib = library.librarian
gobject_weak(lib.connect, 'removed', self.__set_time, parent=self)
#.........这里部分代码省略.........
开发者ID:silkecho,项目名称:glowing-silk,代码行数:101,代码来源:quodlibetwindow.py
示例7: periodic_config_save
def periodic_config_save():
while 1:
config.save()
yield
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:4,代码来源:__init__.py
示例8: print_d
from quodlibet.qltk import session
session.init("quodlibet")
quodlibet.enable_periodic_save(save_library=True)
if play:
player.paused = False
quodlibet.main(window)
print_d("Shutting down player device %r." % player.version_info)
quodlibet.player.quit(player)
quodlibet.library.save(force=True)
config.save(const.CONFIG)
print_d("Finished shutdown.")
def print_fifo(command):
if not os.path.exists(const.CURRENT):
quodlibet.exit("not-running")
else:
fd, filename = tempfile.mkstemp()
try:
os.unlink(filename)
# mkfifo fails if the file exists, so this is safe.
os.mkfifo(filename, 0600)
signal.signal(signal.SIGALRM, lambda: "" + 2)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:30,代码来源:quodlibet.py
示例9: __destroy
def __destroy(self, *args):
config.save()
开发者ID:virtuald,项目名称:quodlibet,代码行数:2,代码来源:pluginwin.py
示例10: periodic_config_save
def periodic_config_save():
while 1:
config.save(quodlibet.const.CONFIG)
yield
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:4,代码来源:__init__.py
示例11: main
#.........这里部分代码省略.........
from gi.repository import GLib
def exec_commands(*args):
for cmd in cmds_todo:
try:
resp = cmd_registry.run(app, *cmd)
except CommandError:
pass
else:
if resp is not None:
print_(resp, end="")
from quodlibet.qltk.quodlibetwindow import QuodLibetWindow, PlayerOptions
# Call exec_commands after the window is restored, but make sure
# it's after the mainloop has started so everything is set up.
app.window = window = QuodLibetWindow(
library, player,
restore_cb=lambda:
GLib.idle_add(exec_commands, priority=GLib.PRIORITY_HIGH))
app.player_options = PlayerOptions(window)
from quodlibet.qltk.debugwindow import MinExceptionDialog
from quodlibet.qltk.window import on_first_map
if backend_traceback is not None:
def show_backend_error(window):
d = MinExceptionDialog(window,
_("Audio Backend Failed to Load"),
_("Loading the audio backend '%(name)s' failed. "
"Audio playback will be disabled.") %
{"name": wanted_backend},
backend_traceback)
d.run()
# so we show the main window first
on_first_map(app.window, show_backend_error, app.window)
from quodlibet.plugins.events import EventPluginHandler
pm.register_handler(EventPluginHandler(library.librarian, player))
from quodlibet.mmkeys import MMKeysHandler
from quodlibet.remote import Remote, RemoteError
from quodlibet.commands import registry as cmd_registry, CommandError
from quodlibet.qltk.tracker import SongTracker, FSInterface
try:
from quodlibet.qltk.dbus_ import DBusHandler
except ImportError:
DBusHandler = lambda player, library: None
mmkeys_handler = MMKeysHandler(app.name, window, player)
if "QUODLIBET_NO_MMKEYS" not in os.environ:
mmkeys_handler.start()
current_path = os.path.join(quodlibet.get_user_dir(), "current")
fsiface = FSInterface(current_path, player)
remote = Remote(app, cmd_registry)
try:
remote.start()
except RemoteError:
exit_(1, True)
DBusHandler(player, library)
tracker = SongTracker(library.librarian, player, window.playlist)
from quodlibet.qltk import session
session.init("quodlibet")
quodlibet.enable_periodic_save(save_library=True)
if "start-playing" in startup_actions:
player.paused = False
# restore browser windows
from quodlibet.qltk.browser import LibraryBrowser
GLib.idle_add(LibraryBrowser.restore, library, player,
priority=GLib.PRIORITY_HIGH)
def before_quit():
print_d("Saving active browser state")
try:
app.browser.save()
except NotImplementedError:
pass
print_d("Shutting down player device %r." % player.version_info)
player.destroy()
quodlibet.main(window, before_quit=before_quit)
app.player_options.destroy()
quodlibet.finish_first_session(app.id)
mmkeys_handler.quit()
remote.stop()
fsiface.destroy()
tracker.destroy()
quodlibet.library.save()
config.save()
print_d("Finished shutdown.")
开发者ID:mistotebe,项目名称:quodlibet,代码行数:101,代码来源:quodlibet.py
示例12: main
#.........这里部分代码省略.........
except config.Error:
pass
else:
if cover_size > 0:
Album.COVER_SIZE = cover_size
headers = get_columns()
SongList.set_all_column_headers(headers)
for opt in config.options("header_maps"):
val = config.get("header_maps", opt)
util.tags.add(opt, val)
in_all = ("~filename ~uri ~#lastplayed ~#rating ~#playcount ~#skipcount "
"~#added ~#bitrate ~current ~#laststarted ~basename "
"~dirname").split()
for Kind in browsers.browsers:
if Kind.headers is not None:
Kind.headers.extend(in_all)
Kind.init(library)
pm = quodlibet.init_plugins("no-plugins" in startup_actions)
if hasattr(player, "init_plugins"):
player.init_plugins()
from quodlibet.qltk import unity
unity.init("quodlibet.desktop", player)
from quodlibet.qltk.songsmenu import SongsMenu
SongsMenu.init_plugins()
from quodlibet.util.cover import CoverManager
app.cover_manager = CoverManager()
app.cover_manager.init_plugins()
from quodlibet.plugins.playlist import PLAYLIST_HANDLER
PLAYLIST_HANDLER.init_plugins()
from quodlibet.qltk.quodlibetwindow import QuodLibetWindow
app.window = window = QuodLibetWindow(library, player)
from quodlibet.plugins.events import EventPluginHandler
pm.register_handler(EventPluginHandler(library.librarian, player))
from quodlibet.mmkeys import MMKeysHandler
from quodlibet.remote import Remote
from quodlibet.commands import registry as cmd_registry
from quodlibet.qltk.tracker import SongTracker, FSInterface
try:
from quodlibet.qltk.dbus_ import DBusHandler
except ImportError:
DBusHandler = lambda player, library: None
mmkeys_handler = MMKeysHandler(app.name, window, player)
if "QUODLIBET_NO_MMKEYS" not in os.environ:
mmkeys_handler.start()
fsiface = FSInterface(player)
remote = Remote(app, cmd_registry)
remote.start()
DBusHandler(player, library)
tracker = SongTracker(library.librarian, player, window.playlist)
from quodlibet.qltk import session
session.init("quodlibet")
quodlibet.enable_periodic_save(save_library=True)
if "start-playing" in startup_actions:
player.paused = False
# restore browser windows
from quodlibet.qltk.browser import LibraryBrowser
from gi.repository import GLib
GLib.idle_add(LibraryBrowser.restore, library, player,
priority=GLib.PRIORITY_HIGH)
def before_quit():
print_d("Saving active browser state")
try:
app.browser.save()
except NotImplementedError:
pass
quodlibet.main(window, before_quit=before_quit)
quodlibet.finish_first_session(app.id)
mmkeys_handler.quit()
remote.stop()
fsiface.destroy()
print_d("Shutting down player device %r." % player.version_info)
player.destroy()
tracker.destroy()
quodlibet.library.save(force=True)
config.save(const.CONFIG)
print_d("Finished shutdown.")
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:101,代码来源:quodlibet.py
示例13: main
#.........这里部分代码省略.........
from quodlibet.plugins.playlist import PLAYLIST_HANDLER
PLAYLIST_HANDLER.init_plugins()
from quodlibet.plugins.query import QUERY_HANDLER
QUERY_HANDLER.init_plugins()
from gi.repository import GLib
def exec_commands(*args):
for cmd in cmds_todo:
try:
resp = cmd_registry.run(app, *cmd)
except CommandError:
pass
else:
if resp is not None:
print_(resp, end="", flush=True)
from quodlibet.qltk.quodlibetwindow import QuodLibetWindow, PlayerOptions
# Call exec_commands after the window is restored, but make sure
# it's after the mainloop has started so everything is set up.
app.window = window = QuodLibetWindow(
library, player,
restore_cb=lambda:
GLib.idle_add(exec_commands, priority=GLib.PRIORITY_HIGH))
app.player_options = PlayerOptions(window)
from quodlibet.qltk.window import Window
from quodlibet.plugins.events import EventPluginHandler
from quodlibet.plugins.gui import UserInterfacePluginHandler
pm.register_handler(EventPluginHandler(library.librarian, player,
app.window.songlist))
pm.register_handler(UserInterfacePluginHandler())
from quodlibet.mmkeys import MMKeysHandler
from quodlibet.remote import Remote, RemoteError
from quodlibet.commands import registry as cmd_registry, CommandError
from quodlibet.qltk.tracker import SongTracker, FSInterface
try:
from quodlibet.qltk.dbus_ import DBusHandler
except ImportError:
DBusHandler = lambda player, library: None
mmkeys_handler = MMKeysHandler(app)
mmkeys_handler.start()
current_path = os.path.join(quodlibet.get_user_dir(), "current")
fsiface = FSInterface(current_path, player)
remote = Remote(app, cmd_registry)
try:
remote.start()
except RemoteError:
exit_(1, True)
DBusHandler(player, library)
tracker = SongTracker(library.librarian, player, window.playlist)
from quodlibet.qltk import session
session.init("quodlibet")
quodlibet.enable_periodic_save(save_library=True)
if "start-playing" in startup_actions:
player.paused = False
if "start-hidden" in startup_actions:
Window.prevent_inital_show(True)
# restore browser windows
from quodlibet.qltk.browser import LibraryBrowser
GLib.idle_add(LibraryBrowser.restore, library, player,
priority=GLib.PRIORITY_HIGH)
def before_quit():
print_d("Saving active browser state")
try:
app.browser.save()
except NotImplementedError:
pass
print_d("Shutting down player device %r." % player.version_info)
player.destroy()
quodlibet.run(window, before_quit=before_quit)
app.player_options.destroy()
quodlibet.finish_first_session(app.id)
mmkeys_handler.quit()
remote.stop()
fsiface.destroy()
tracker.destroy()
quodlibet.library.save()
config.save()
print_d("Finished shutdown.")
开发者ID:Muges,项目名称:quodlibet,代码行数:101,代码来源:main.py
示例14: __destroy
def __destroy(self):
config.save()
开发者ID:mistotebe,项目名称:quodlibet,代码行数:2,代码来源:exfalsowindow.py
示例15: __init__
def __init__(self, library, player, headless=False):
super(QuodLibetWindow, self).__init__(dialog=False)
self.last_dir = const.HOME
self.__destroyed = False
self.__update_title(player)
self.set_default_size(550, 450)
main_box = Gtk.VBox()
self.add(main_box)
# create main menubar, load/restore accelerator groups
self.__library = library
ui = self.__create_menu(player, library)
accel_group = ui.get_accel_group()
self.add_accel_group(accel_group)
def scroll_and_jump(*args):
self.__jump_to_current(True, True)
keyval, mod = Gtk.accelerator_parse("<control><shift>J")
accel_group.connect(keyval, mod, 0, scroll_and_jump)
# dbus app menu
AppMenu(self, ui.get_action_groups()[0])
# custom accel map
accel_fn = os.path.join(const.USERDIR, "accels")
Gtk.AccelMap.load(accel_fn)
# save right away so we fill the file with example comments of all
# accels
Gtk.AccelMap.save(accel_fn)
menubar = ui.get_widget("/Menu")
# Since https://git.gnome.org/browse/gtk+/commit/?id=b44df22895c79
# toplevel menu items show an empty 16x16 image. While we don't
# need image items there UIManager creates them by default.
# Work around by removing the empty GtkImages
for child in menubar.get_children():
if isinstance(child, Gtk.ImageMenuItem):
child.set_image(None)
main_box.pack_start(menubar, False, True, 0)
# get the playlist up before other stuff
self.songlist = MainSongList(library, player)
self.songlist.show_all()
self.songlist.connect("key-press-event", self.__songlist_key_press)
self.songlist.connect_after(
'drag-data-received', self.__songlist_drag_data_recv)
self.song_scroller = SongListScroller(
ui.get_widget("/Menu/View/SongList"))
self.song_scroller.add(self.songlist)
self.qexpander = QueueExpander(
ui.get_widget("/Menu/View/Queue"), library, player)
self.playlist = PlaylistMux(
player, self.qexpander.model, self.songlist.model)
top_bar = TopBar(self, player, library)
main_box.pack_start(top_bar, False, True, 0)
self.top_bar = top_bar
self.__browserbox = Alignment(bottom=3)
main_box.pack_start(self.__browserbox, True, True, 0)
statusbox = StatusBarBox(self.songlist.model, player)
self.order = statusbox.order
self.repeat = statusbox.repeat
self.statusbar = statusbox.statusbar
main_box.pack_start(
Alignment(statusbox, border=3, top=-3, right=3),
False, True, 0)
self.songpane = ConfigRVPaned("memory", "queue_position", 0.75)
self.songpane.pack1(self.song_scroller, resize=True, shrink=False)
self.songpane.pack2(self.qexpander, resize=True, shrink=False)
self.__handle_position = self.songpane.get_property("position")
def songpane_button_press_cb(pane, event):
"""If we start to drag the pane handle while the
queue expander is unexpanded, expand it and move the handle
to the bottom, so we can 'drag' the queue out
"""
if event.window != pane.get_handle_window():
return False
if not self.qexpander.get_expanded():
self.qexpander.set_expanded(True)
pane.set_relative(1.0)
return False
self.songpane.connect("button-press-event", songpane_button_press_cb)
self.song_scroller.connect('notify::visible', self.__show_or)
self.qexpander.connect('notify::visible', self.__show_or)
self.qexpander.connect('notify::expanded', self.__expand_or)
self.qexpander.connect('draw', self.__qex_size_allocate)
#.........这里部分代码省略.........
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:101,代码来源:quodlibetwindow.py
示例16: __destroy
def __destroy(self):
config.save()
if self.current_scan_dirs != get_scan_dirs():
scan_library(app.library, force=False)
开发者ID:faubiguy,项目名称:quodlibet,代码行数:4,代码来源:prefs.py
示例17: __init__
def __init__(self, library, player, headless=False, restore_cb=None):
super(QuodLibetWindow, self).__init__(dialog=False)
self.__destroyed = False
self.__update_title(player)
self.set_default_size(600, 480)
main_box = Gtk.VBox()
self.add(main_box)
self.side_book = qltk.Notebook()
# get the playlist up before other stuff
self.songlist = MainSongList(library, player)
self.songlist.connect("key-press-event", self.__songlist_key_press)
self.songlist.connect_after(
'drag-data-received', self.__songlist_drag_data_recv)
self.song_scroller = ScrolledWindow()
self.song_scroller.set_policy(
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
self.song_scroller.set_shadow_type(Gtk.ShadowType.IN)
self.song_scroller.add(self.songlist)
self.qexpander = QueueExpander(library, player)
self.qexpander.set_no_show_all(True)
self.qexpander.set_visible(config.getboolean("memory", "queue"))
def on_queue_visible(qex, param):
config.set("memory", "queue", str(qex.get_visible()))
self.qexpander.connect("notify::visible", on_queue_visible)
self.playlist = PlaylistMux(
player, self.qexpander.model, self.songlist.model)
self.__player = player
# create main menubar, load/restore accelerator groups
self.__library = library
ui = self.__create_menu(player, library)
accel_group = ui.get_accel_group()
self.add_accel_group(accel_group)
def scroll_and_jump(*args):
self.__jump_to_current(True, None, True)
keyval, mod = Gtk.accelerator_parse("<Primary><shift>J")
accel_group.connect(keyval, mod, 0, scroll_and_jump)
# custom accel map
accel_fn = os.path.join(quodlibet.get_user_dir(), "accels")
Gtk.AccelMap.load(accel_fn)
# save right away so we fill the file with example comments of all
# accels
Gtk.AccelMap.save(accel_fn)
menubar = ui.get_widget("/Menu")
# Since https://git.gnome.org/browse/gtk+/commit/?id=b44df22895c79
# toplevel menu items show an empty 16x16 image. While we don't
# need image items there UIManager creates them by default.
# Work around by removing the empty GtkImages
for child in menubar.get_children():
if isinstance(child, Gtk.ImageMenuItem):
child.set_image(None)
main_box.pack_start(menubar, False, True, 0)
top_bar = TopBar(self, player, library)
main_box.pack_start(top_bar, False, True, 0)
self.top_bar = top_bar
self.__browserbox = Align(bottom=3)
self.__paned = paned = ConfigRHPaned("memory", "sidebar_pos", 0.25)
paned.pack1(self.__browserbox, resize=True)
# We'll pack2 when necessary (when the first sidebar plugin is set up)
main_box.pack_start(paned, True, True, 0)
play_order = PlayOrderWidget(self.songlist.model, player)
statusbox = StatusBarBox(play_order, self.qexpander)
self.order = play_order
self.statusbar = statusbox.statusbar
main_box.pack_start(
Align(statusbox, border=3, top=-3),
False, True, 0)
self.songpane = SongListPaned(self.song_scroller, self.qexpander)
self.songpane.show_all()
try:
orders = []
for e in config.getstringlist('memory', 'sortby', []):
orders.append((e[1:], int(e[0])))
except ValueError:
pass
else:
self.songlist.set_sort_orders(orders)
self.browser = None
self.ui = ui
#.........这里部分代码省略.........
开发者ID:zsau,项目名称:quodlibet,代码行数:101,代码来源:quodlibetwindow.py
注:本文中的quodlibet.config.save函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论