本文整理汇总了Python中quodlibet._函数的典型用法代码示例。如果您正苦于以下问题:Python _函数的具体用法?Python _怎么用?Python _使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _do_trash_files
def _do_trash_files(parent, paths):
dialog = TrashDialog.for_files(parent, paths)
resp = dialog.run()
if resp != TrashDialog.RESPONSE_TRASH:
return
window_title = _("Moving %(current)d/%(total)d.")
w = WaitLoadWindow(parent, len(paths), window_title)
w.show()
ok = []
failed = []
for path in paths:
try:
trash.trash(path)
except trash.TrashError:
failed.append(path)
else:
ok.append(path)
w.step()
w.destroy()
if failed:
ErrorMessage(parent,
_("Unable to move to trash"),
_("Moving one or more files to the trash failed.")
).run()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:27,代码来源:delete.py
示例2: __init__
def __init__(self, parent, song):
super(Gtk.VBox, self).__init__()
self.dialog = parent
self.song = song
self.original_bpm = song["bpm"] if "bpm" in song else _("n/a")
self.set_margin_bottom(6)
self.set_spacing(6)
box = Gtk.HBox()
box.set_spacing(6)
# TRANSLATORS: BPM mean "beats per minute"
box.pack_start(Gtk.Label(_("BPM:")), False, True, 0)
self.bpm_label = Gtk.Label(_("n/a"))
self.bpm_label.set_xalign(0.5)
box.pack_start(self.bpm_label, True, True, 0)
self.reset_btn = Gtk.Button(label=_("Reset"))
self.reset_btn.connect('clicked', lambda *x: self.reset())
box.pack_end(self.reset_btn, False, True, 0)
self.pack_start(box, False, True, 0)
self.tap_btn = Gtk.Button(label=_("Tap"))
self.tap_btn.connect('button-press-event', self.tap)
self.tap_btn.connect('key-press-event', self.key_tap)
self.pack_start(self.tap_btn, True, True, 0)
self.init_tap()
self.update()
self.show_all()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:33,代码来源:tapbpm.py
示例3: __set_inhibit_play
def __set_inhibit_play(self, inhibit):
"""Change the inhibit state"""
if inhibit == self._inhibit_play:
return
self._inhibit_play = inhibit
# task management
if inhibit:
if not self._task:
def stop_buf(*args):
self._player.paused = True
self._task = Task(_("Stream"), _("Buffering"), stop=stop_buf)
elif self._task:
self._task.finish()
self._task = None
# state management
if inhibit:
# save the current state
status, state, pending = self.bin.get_state(
timeout=STATE_CHANGE_TIMEOUT)
if status == Gst.StateChangeReturn.SUCCESS and \
state == Gst.State.PLAYING:
self._wanted_state = state
else:
# no idea, at least don't play
self._wanted_state = Gst.State.PAUSED
self.bin.set_state(Gst.State.PAUSED)
else:
# restore the old state
self.bin.set_state(self._wanted_state)
self._wanted_state = None
开发者ID:zsau,项目名称:quodlibet,代码行数:35,代码来源:player.py
示例4: tag_editing_vbox
def tag_editing_vbox(self):
"""Returns a new VBox containing all tag editing widgets"""
vbox = Gtk.VBox(spacing=6)
cb = CCB(_("Auto-save tag changes"), 'editing',
'auto_save_changes', populate=True,
tooltip=_("Save changes to tags without confirmation "
"when editing multiple files"))
vbox.pack_start(cb, False, True, 0)
hb = Gtk.HBox(spacing=6)
e = UndoEntry()
e.set_text(config.get("editing", "split_on"))
e.connect('changed', self.__changed, 'editing', 'split_on')
e.set_tooltip_text(
_("A set of separators to use when splitting tag values "
"in the tag editor. "
"The list is space-separated"))
def do_revert_split(button, section, option):
config.reset(section, option)
e.set_text(config.get(section, option))
split_revert = Button(_("_Revert"), Icons.DOCUMENT_REVERT)
split_revert.connect("clicked", do_revert_split, "editing",
"split_on")
l = Gtk.Label(label=_("Split _on:"))
l.set_use_underline(True)
l.set_mnemonic_widget(e)
hb.pack_start(l, False, True, 0)
hb.pack_start(e, True, True, 0)
hb.pack_start(split_revert, False, True, 0)
vbox.pack_start(hb, False, True, 0)
return vbox
开发者ID:elfalem,项目名称:quodlibet,代码行数:32,代码来源:prefs.py
示例5: plugin_songs
def plugin_songs(self, songs):
value = -1
while not 0 <= value <= 1:
input_string = GetStringDialog(
self.plugin_window,
self.PLUGIN_NAME,
_("Please give your desired rating on a scale "
"from 0.0 to 1.0"),
_("_Apply"),
Icons.NONE
).run()
if input_string is None:
return
try:
value = float(input_string)
except ValueError:
continue
count = len(songs)
if (count > 1 and config.getboolean("browsers",
"rating_confirm_multiple")):
confirm_dialog = ConfirmRateMultipleDialog(
self.plugin_window, count, value)
if confirm_dialog.run() != Gtk.ResponseType.YES:
return
for song in songs:
song["~#rating"] = value
开发者ID:LudoBike,项目名称:quodlibet,代码行数:30,代码来源:exact_rating.py
示例6: __mkdir
def __mkdir(self, button):
model, paths = self.get_selection().get_selected_rows()
if len(paths) != 1:
return
path = paths[0]
directory = model[path][0]
dir_ = GetStringDialog(
None, _("New Folder"), _("Enter a name for the new folder:")).run()
if not dir_:
return
dir_ = glib2fsn(dir_)
fullpath = os.path.realpath(os.path.join(directory, dir_))
try:
os.makedirs(fullpath)
except EnvironmentError as err:
error = "<b>%s</b>: %s" % (err.filename, err.strerror)
qltk.ErrorMessage(
None, _("Unable to create folder"), error).run()
return
self.emit('test-expand-row', model.get_iter(path), path)
self.expand_row(path, False)
开发者ID:urielz,项目名称:quodlibet,代码行数:27,代码来源:filesel.py
示例7: __popup_menu
def __popup_menu(self, view, library):
model, itr = view.get_selection().get_selected()
if itr is None:
return
songs = list(model[itr][0])
songs = [s for s in songs if isinstance(s, AudioFile)]
menu = SongsMenu(library, songs,
playlists=False, remove=False,
ratings=False)
menu.preseparate()
def _remove(model, itr):
playlist = model[itr][0]
dialog = ConfirmRemovePlaylistDialog(self, playlist)
if dialog.run() == Gtk.ResponseType.YES:
playlist.delete()
model.get_model().remove(
model.convert_iter_to_child_iter(itr))
rem = MenuItem(_("_Delete"), Icons.EDIT_DELETE)
connect_obj(rem, 'activate', _remove, model, itr)
menu.prepend(rem)
def _rename(path):
self._start_rename(path)
ren = qltk.MenuItem(_("_Rename"), Icons.EDIT)
qltk.add_fake_accel(ren, "F2")
connect_obj(ren, 'activate', _rename, model.get_path(itr))
menu.prepend(ren)
playlist = model[itr][0]
PLAYLIST_HANDLER.populate_menu(menu, library, self, [playlist])
menu.show_all()
return view.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:zsau,项目名称:quodlibet,代码行数:35,代码来源:main.py
示例8: _description
def _description(self, songs, box):
text = []
cur_disc = songs[0]("~#disc", 1) - 1
cur_part = None
cur_track = songs[0]("~#track", 1) - 1
for song in songs:
track = song("~#track", 0)
disc = song("~#disc", 0)
part = song.get("part")
if disc != cur_disc:
if cur_disc:
text.append("")
cur_track = song("~#track", 1) - 1
cur_part = None
cur_disc = disc
if disc:
text.append("%s" % (_("Disc %s") % disc))
if part != cur_part:
ts = " " * bool(disc)
cur_part = part
if part:
text.append("%s%s" % (ts, util.escape(part)))
cur_track += 1
ts = " " * (bool(disc) + bool(part))
while cur_track < track:
text.append("{ts}{cur: >2}. {text}".format(
ts=ts, cur=cur_track, text=_("Track unavailable")))
cur_track += 1
markup = util.escape(song.comma("~title~version"))
text.append("{ts}{cur: >2}. <i>{text}</i>".format(
ts=ts, cur=track, text=markup))
l = Label(markup="\n".join(text), ellipsize=True)
box.pack_start(Frame(_("Track List"), l), False, False, 0)
开发者ID:elfalem,项目名称:quodlibet,代码行数:33,代码来源:information.py
示例9: _people
def _people(self, songs, box):
artists = set()
performers = set()
for song in songs:
artists.update(song.list("artist"))
performers.update(song.list("performer"))
artists = sorted(artists)
performers = sorted(performers)
if artists:
if len(artists) == 1:
title = _("artist")
else:
title = _("artists")
title = util.capitalize(title)
box.pack_start(Frame(title, Label("\n".join(artists))),
False, False, 0)
if performers:
if len(artists) == 1:
title = _("performer")
else:
title = _("performers")
title = util.capitalize(title)
box.pack_start(Frame(title, Label("\n".join(performers))),
False, False, 0)
开发者ID:urielz,项目名称:quodlibet,代码行数:26,代码来源:information.py
示例10: __init__
def __init__(self, library, song, lyrics=True, bookmarks=True):
super(OneSong, self).__init__()
vbox = Gtk.VBox(spacing=12)
vbox.set_border_width(12)
self._title(song, vbox)
self._album(song, vbox)
self._people(song, vbox)
self._library(song, vbox)
self._file(song, vbox)
self._additional(song, vbox)
sw = SW()
sw.title = _("Information")
sw.add_with_viewport(vbox)
self.append_page(sw)
if lyrics:
lyrics = LyricsPane(song)
lyrics.title = _("Lyrics")
self.append_page(lyrics)
if bookmarks:
bookmarks = EditBookmarksPane(None, song)
bookmarks.title = _("Bookmarks")
bookmarks.set_border_width(12)
self.append_page(bookmarks)
connect_destroy(library, 'changed', self.__check_changed, vbox, song)
开发者ID:elfalem,项目名称:quodlibet,代码行数:26,代码来源:information.py
示例11: _album
def _album(self, song, box):
if "album" not in song:
return
text = ["<span size='x-large'><i>%s</i></span>"
% util.escape(song.comma("album"))]
secondary = []
if "discnumber" in song:
secondary.append(_("Disc %s") % song["discnumber"])
if "discsubtitle" in song:
secondary.append("<i>%s</i>" %
util.escape(song.comma("discsubtitle")))
if "tracknumber" in song:
secondary.append(_("Track %s") % song["tracknumber"])
if secondary:
text.append(" - ".join(secondary))
if "date" in song:
text.append(util.escape(song.comma("date")))
if "organization" in song or "labelid" in song:
t = util.escape(song.comma("~organization~labelid"))
text.append(t)
if "producer" in song:
text.append(_("Produced by %s") % (
util.escape(song.comma("producer"))))
w = Label(markup="\n".join(text), ellipsize=True)
hb = Gtk.HBox(spacing=12)
hb.pack_start(w, True, True, 0)
box.pack_start(Frame(tag("album"), hb), False, False, 0)
cover = ReactiveCoverImage(song=song)
hb.pack_start(cover, False, True, 0)
开发者ID:elfalem,项目名称:quodlibet,代码行数:35,代码来源:information.py
示例12: Menu
def Menu(self, songs, library, items):
in_fav = False
in_all = False
for song in songs:
if song in self.__fav_stations:
in_fav = True
elif song in self.__stations:
in_all = True
if in_fav and in_all:
break
iradio_items = []
button = MenuItem(_("Add to Favorites"), Icons.LIST_ADD)
button.set_sensitive(in_all)
connect_obj(button, 'activate', self.__add_fav, songs)
iradio_items.append(button)
button = MenuItem(_("Remove from Favorites"), Icons.LIST_REMOVE)
button.set_sensitive(in_fav)
connect_obj(button, 'activate', self.__remove_fav, songs)
iradio_items.append(button)
items.append(iradio_items)
menu = SongsMenu(self.__librarian, songs, playlists=False, remove=True,
queue=False, devices=False, items=items)
return menu
开发者ID:piotrdrag,项目名称:quodlibet,代码行数:25,代码来源:iradio.py
示例13: _do_delete_files
def _do_delete_files(parent, paths):
dialog = DeleteDialog.for_files(parent, paths)
resp = dialog.run()
if resp != DeleteDialog.RESPONSE_DELETE:
return
window_title = _("Deleting %(current)d/%(total)d.")
w = WaitLoadWindow(parent, len(paths), window_title)
w.show()
ok = []
failed = []
for path in paths:
try:
os.unlink(path)
except EnvironmentError:
failed.append(path)
else:
ok.append(path)
w.step()
w.destroy()
if failed:
ErrorMessage(parent,
_("Unable to delete files"),
_("Deleting one or more files failed.")
).run()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:28,代码来源:delete.py
示例14: _do_delete_songs
def _do_delete_songs(parent, songs, librarian):
dialog = DeleteDialog.for_songs(parent, songs)
resp = dialog.run()
if resp != DeleteDialog.RESPONSE_DELETE:
return
window_title = _("Deleting %(current)d/%(total)d.")
w = WaitLoadWindow(parent, len(songs), window_title)
w.show()
ok = []
failed = []
for song in songs:
filename = song("~filename")
try:
os.unlink(filename)
except EnvironmentError:
failed.append(song)
else:
ok.append(song)
w.step()
w.destroy()
if failed:
ErrorMessage(parent,
_("Unable to delete files"),
_("Deleting one or more files failed.")
).run()
if ok:
librarian.remove(ok)
开发者ID:LudoBike,项目名称:quodlibet,代码行数:32,代码来源:delete.py
示例15: __create_children
def __create_children(self, menu, songs):
self.__remove_children(menu)
for song in songs:
marks = song.bookmarks
if marks:
fake_player = self.FakePlayer(song)
song_item = Gtk.MenuItem(song.comma("title"))
song_menu = Gtk.Menu()
song_item.set_submenu(song_menu)
menu.append(song_item)
items = qltk.bookmarks.MenuItems(marks, fake_player, True)
for item in items:
song_menu.append(item)
song_menu.append(SeparatorMenuItem())
i = qltk.MenuItem(_(u"_Edit Bookmarks…"), Icons.EDIT)
def edit_bookmarks_cb(menu_item):
window = EditBookmarks(self.plugin_window, app.library,
fake_player)
window.show()
i.connect('activate', edit_bookmarks_cb)
song_menu.append(i)
if menu.get_active() is None:
no_marks = Gtk.MenuItem(_("No Bookmarks"))
no_marks.set_sensitive(False)
menu.append(no_marks)
menu.show_all()
开发者ID:ZDBioHazard,项目名称:quodlibet,代码行数:32,代码来源:bookmarks.py
示例16: _description
def _description(self, songs, box):
text = []
cur_disc = songs[0]("~#disc", 1) - 1
cur_part = None
cur_track = songs[0]("~#track", 1) - 1
for song in songs:
track = song("~#track", 0)
disc = song("~#disc", 0)
part = song.get("part")
if disc != cur_disc:
if cur_disc:
text.append("")
cur_track = song("~#track", 1) - 1
cur_part = None
cur_disc = disc
if disc:
text.append("<b>%s</b>" % (_("Disc %s") % disc))
if part != cur_part:
ts = " " * bool(disc)
cur_part = part
if part:
text.append("%s<b>%s</b>" % (ts, util.escape(part)))
cur_track += 1
ts = " " * (bool(disc) + bool(part))
while cur_track < track:
text.append("%s<b>%d.</b> <i>%s</i>" % (
ts, cur_track, _("Track unavailable")))
cur_track += 1
text.append("%s<b>%d.</b> %s" % (
ts, track, util.escape(song.comma("~title~version"))))
l = Label()
l.set_markup("\n".join(text))
l.set_ellipsize(Pango.EllipsizeMode.END)
box.pack_start(Frame(_("Track List"), l), False, False, 0)
开发者ID:urielz,项目名称:quodlibet,代码行数:34,代码来源:information.py
示例17: __edit_tag
def __edit_tag(self, renderer, path, new_value, model):
new_value = gdecode(new_value)
new_value = ', '.join(new_value.splitlines())
path = Gtk.TreePath.new_from_string(path)
entry = model[path][0]
error_dialog = None
if not massagers.is_valid(entry.tag, new_value):
error_dialog = qltk.WarningMessage(
self, _("Invalid value"),
_("Invalid value: <b>%(value)s</b>\n\n%(error)s") % {
"value": new_value,
"error": massagers.error_message(entry.tag, new_value)})
else:
new_value = massagers.validate(entry.tag, new_value)
comment = entry.value
changed = comment.text != new_value
if (changed and ((comment.shared and comment.complete) or new_value)) \
or (new_value and comment.shared and not comment.complete):
# only give an error if we would have applied the value
if error_dialog is not None:
error_dialog.run()
return
entry.value = Comment(new_value)
entry.edited = True
entry.deleted = False
model.path_changed(path)
开发者ID:piotrdrag,项目名称:quodlibet,代码行数:28,代码来源:edittags.py
示例18: __init__
def __init__(self, parent, app):
super(AboutDialog, self).__init__()
self.set_transient_for(parent)
self.set_program_name(app.name)
self.set_version(quodlibet.get_build_description())
self.set_authors(const.AUTHORS)
self.set_artists(const.ARTISTS)
self.set_logo_icon_name(app.icon_name)
def chunks(l, n):
return [l[i : i + n] for i in range(0, len(l), n)]
is_real_player = app.player.name != "Null"
format_names = sorted([t.format for t in formats.types])
fmts = ",\n".join(", ".join(c) for c in chunks(format_names, 4))
text = []
text.append(_("Supported formats: %s") % fmts)
text.append("")
if is_real_player:
text.append(_("Audio device: %s") % app.player.name)
text.append("Python: %s" % platform.python_version())
text.append("Mutagen: %s" % fver(mutagen.version))
text.append("GTK+: %s (%s)" % (fver(gtk_version), get_backend_name()))
text.append("PyGObject: %s" % fver(pygobject_version))
if is_real_player:
text.append(app.player.version_info)
self.set_comments("\n".join(text))
self.set_license_type(Gtk.License.GPL_2_0)
self.set_translator_credits("\n".join(const.TRANSLATORS))
self.set_website(const.WEBSITE)
self.set_copyright(const.COPYRIGHT + "\n" + "<%s>" % const.SUPPORT_EMAIL)
开发者ID:urielz,项目名称:quodlibet,代码行数:32,代码来源:about.py
示例19: __configure_buttons
def __configure_buttons(self, library):
new_pl = qltk.Button(None, Icons.DOCUMENT_NEW, Gtk.IconSize.MENU)
new_pl.set_tooltip_text(_("New"))
new_pl.connect('clicked', self.__new_playlist, library)
import_pl = qltk.Button(None, Icons.LIST_ADD,
Gtk.IconSize.MENU)
import_pl.set_tooltip_text(_("Import"))
import_pl.connect('clicked', self.__import, library)
fb = Gtk.FlowBox()
fb.set_selection_mode(Gtk.SelectionMode.NONE)
fb.set_homogeneous(True)
fb.insert(new_pl, 0)
fb.insert(import_pl, 1)
fb.set_max_children_per_line(2)
# The pref button is in its own flowbox instead of directly under the
# HBox to make it the same height as the other buttons
pref = PreferencesButton(self)
fb2 = Gtk.FlowBox()
fb2.insert(pref, 0)
hb = Gtk.HBox()
hb.pack_start(fb, True, True, 0)
hb.pack_start(fb2, False, False, 0)
self.pack_start(hb, False, False, 0)
开发者ID:zsau,项目名称:quodlibet,代码行数:26,代码来源:main.py
示例20: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Playlist Browser Preferences"))
self.set_default_size(420, 240)
self.set_transient_for(qltk.get_top_parent(browser))
box = Gtk.VBox(spacing=6)
edit_frame = self.edit_display_pane(browser, _("Playlist display"))
box.pack_start(edit_frame, False, True, 12)
main_box = Gtk.VBox(spacing=12)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(close, True, True, 0)
main_box.pack_start(box, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
main_box.pack_start(b, False, True, 0)
self.add(main_box)
close.grab_focus()
self.show_all()
开发者ID:ZDBioHazard,项目名称:quodlibet,代码行数:29,代码来源:prefs.py
注:本文中的quodlibet._函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论