本文整理汇总了Python中quodlibet.qltk.songsmenu.SongsMenu类的典型用法代码示例。如果您正苦于以下问题:Python SongsMenu类的具体用法?Python SongsMenu怎么用?Python SongsMenu使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SongsMenu类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_queue
def test_queue(self):
self.menu = SongsMenu(
self.library,
self.songs,
plugins=False,
playlists=False,
queue=True,
devices=False,
remove=False,
delete=False,
edit=False,
)
self.failUnlessEqual(1, len(self.menu))
self.failUnless(self.menu.get_children()[0].props.sensitive)
self.songs[0].can_add = False
self.menu = SongsMenu(
self.library,
self.songs,
plugins=False,
playlists=False,
queue=True,
devices=False,
remove=False,
delete=False,
edit=False,
)
self.failUnlessEqual(1, len(self.menu))
self.failIf(self.menu.get_children()[0].props.sensitive)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:29,代码来源:test_qltk_songsmenu.py
示例2: Menu
def Menu(self, library):
songs = self.get_selected_songs()
if not songs:
return
menu = SongsMenu(
library, songs, delete=True, plugins=False, playlists=False)
menu.show_all()
return menu
开发者ID:zsau,项目名称:quodlibet,代码行数:9,代码来源:duplicates.py
示例3: _get_menu
def _get_menu(self, player, library):
item = qltk.MenuItem(_(u"_Edit Display…"), Gtk.STOCK_EDIT)
item.connect('activate', self._on_edit_display, player)
songs = [player.song] if player.song else []
song_menu = SongsMenu(library, songs, remove=False,
accels=False, items=[[item]])
song_menu.show_all()
return song_menu
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:10,代码来源:info.py
示例4: __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 = filter(lambda s: isinstance(s, AudioFile), songs)
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.__render.set_property("editable", True)
view.set_cursor(path, view.get_columns()[0], start_editing=True)
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:mistotebe,项目名称:quodlibet,代码行数:33,代码来源:main.py
示例5: Menu
def Menu(self, songs, songlist, library):
menu = SongsMenu(library, songs, remove=self.__remove_songs,
delete=True, accels=songlist.accelerators,
parent=self)
i = qltk.MenuItem(_("_Add to Library"), gtk.STOCK_ADD)
i.set_sensitive(False)
i.connect('activate', self.__add_songs, songs)
for song in songs:
if song not in self.__glibrary:
i.set_sensitive(True)
break
menu.preseparate()
menu.prepend(i)
return menu
开发者ID:silkecho,项目名称:glowing-silk,代码行数:14,代码来源:filesystem.py
示例6: __popup
def __popup(self, view, library):
albums = self.__get_selected_albums()
songs = self.__get_songs_from_albums(albums)
items = []
if self.__cover_column.get_visible():
num = len(albums)
button = MenuItem(ngettext("Reload album _cover", "Reload album _covers", num), Icons.VIEW_REFRESH)
button.connect("activate", self.__refresh_album, view)
items.append(button)
menu = SongsMenu(library, songs, items=[items])
menu.show_all()
return view.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:mistotebe,项目名称:quodlibet,代码行数:14,代码来源:main.py
示例7: Menu
def Menu(self, songs, songlist, library):
menu = SongsMenu(
library, songs, accels=songlist.accelerators, parent=self)
if len(songs) == 1:
item = qltk.MenuItem(_("_Download..."), gtk.STOCK_CONNECT)
item.connect('activate', self.__download, songs[0]("~uri"))
item.set_sensitive(not songs[0].is_file)
else:
songs = filter(lambda s: not s.is_file, songs)
uris = [song("~uri") for song in songs]
item = qltk.MenuItem(_("_Download..."), gtk.STOCK_CONNECT)
item.connect('activate', self.__download_many, uris)
item.set_sensitive(bool(songs))
menu.preseparate()
menu.prepend(item)
return menu
开发者ID:silkecho,项目名称:glowing-silk,代码行数:16,代码来源:audiofeeds.py
示例8: test_remove_sensitive
def test_remove_sensitive(self):
self.library.add(self.songs)
self.menu = SongsMenu(
self.library, self.songs, plugins=False, playlists=False,
queue=False, remove=True, delete=False, edit=False,
ratings=False)
self.failUnlessEqual(1, len(self.menu))
self.failUnless(self.menu.get_children()[0].props.sensitive)
开发者ID:elfalem,项目名称:quodlibet,代码行数:8,代码来源:test_qltk_songsmenu.py
示例9: Menu
def Menu(self, songs, songlist, library):
menu = SongsMenu(self.__librarian, songs, playlists=False, remove=True,
queue=False, accels=songlist.accelerators,
devices=False, parent=self)
menu.prepend(gtk.SeparatorMenuItem())
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
button = MenuItem(_("Remove from Favorites"), gtk.STOCK_REMOVE)
button.set_sensitive(in_fav)
gobject_weak(button.connect_object, 'activate',
self.__remove_fav, songs)
menu.prepend(button)
button = MenuItem(_("Add to Favorites"), gtk.STOCK_ADD)
button.set_sensitive(in_all)
gobject_weak(button.connect_object, 'activate',
self.__add_fav, songs)
menu.prepend(button)
return menu
开发者ID:silkecho,项目名称:glowing-silk,代码行数:30,代码来源:iradio.py
示例10: __popup
def __popup(self, view, library):
albums = self.__get_selected_albums()
songs = self.__get_songs_from_albums(albums)
items = []
num = len(albums)
button = MenuItem(
ngettext("Reload album _cover", "Reload album _covers", num),
Icons.VIEW_REFRESH)
button.connect('activate', self.__refresh_album, view)
items.append(button)
menu = SongsMenu(library, songs, items=[items])
menu.show_all()
popup_menu_at_widget(menu, view,
Gdk.BUTTON_SECONDARY,
Gtk.get_current_event_time())
开发者ID:LudoBike,项目名称:quodlibet,代码行数:18,代码来源:main.py
示例11: test_devices
def test_devices(self):
self.menu = SongsMenu(
self.library, self.songs, plugins=False, playlists=False,
queue=False, devices=True, remove=False, delete=False, edit=False,
ratings=False)
from quodlibet import browsers
if browsers.media.MediaDevices in browsers.browsers:
self.failUnlessEqual(1, len(self.menu))
else:
self.failUnlessEqual(0, len(self.menu))
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:10,代码来源:test_qltk_songsmenu.py
示例12: test_empty
def test_empty(self):
self.menu = SongsMenu(
self.library,
self.songs,
plugins=False,
playlists=False,
queue=False,
devices=False,
remove=False,
delete=False,
edit=False,
)
self.failUnlessEqual(0, len(self.menu))
开发者ID:silkecho,项目名称:glowing-silk,代码行数:13,代码来源:test_qltk_songsmenu.py
示例13: __popup
def __popup(self, view, event, library):
x = int(event.x)
y = int(event.y)
current_path = view.get_path_at_pos(x, y)
if event.button == Gdk.BUTTON_SECONDARY and current_path:
if not view.path_is_selected(current_path):
view.unselect_all()
view.select_path(current_path)
albums = self.__get_selected_albums()
songs = self.__get_songs_from_albums(albums)
items = []
num = len(albums)
button = MenuItem(
ngettext("Reload album _cover", "Reload album _covers", num),
Icons.VIEW_REFRESH)
button.connect('activate', self.__refresh_album, view)
items.append(button)
menu = SongsMenu(library, songs, items=[items])
menu.show_all()
menu.popup(None, None, None, event.button, event.time,
Gtk.get_current_event_time())
开发者ID:urielz,项目名称:quodlibet,代码行数:23,代码来源:main.py
示例14: __popup
def __popup(self, library):
songs = self.get_selected_songs()
if not songs:
return
menu = SongsMenu(library, songs, queue=False, remove=False, delete=False, ratings=False)
menu.preseparate()
remove = MenuItem(_("_Remove"), Icons.LIST_REMOVE)
qltk.add_fake_accel(remove, "Delete")
remove.connect("activate", self.__remove)
menu.prepend(remove)
menu.show_all()
return self.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:urielz,项目名称:quodlibet,代码行数:13,代码来源:queue.py
示例15: __popup
def __popup(self, library):
songs = self.get_selected_songs()
if not songs: return
menu = SongsMenu(
library, songs, queue=False, remove=False, delete=False,
parent=self)
menu.preseparate()
remove = gtk.ImageMenuItem(gtk.STOCK_REMOVE)
remove.connect('activate', self.__remove)
menu.prepend(remove)
menu.show_all()
return self.popup_menu(menu, 0, gtk.get_current_event_time())
开发者ID:silkecho,项目名称:glowing-silk,代码行数:13,代码来源:queue.py
示例16: __popup
def __popup(self, library):
songs = self.get_selected_songs()
if not songs:
return
menu = SongsMenu(
library, songs, queue=False, remove=False, delete=False,
ratings=False)
menu.preseparate()
remove = Gtk.ImageMenuItem(Gtk.STOCK_REMOVE, use_stock=True)
qltk.add_fake_accel(remove, "Delete")
remove.connect('activate', self.__remove)
menu.prepend(remove)
menu.show_all()
return self.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:brunob,项目名称:quodlibet,代码行数:15,代码来源:queue.py
示例17: __popup
def __popup(self, view, library):
selection = view.get_selection()
albums = self.__get_selected_albums(selection)
songs = self.__get_songs_from_albums(albums)
menu = SongsMenu(library, songs, parent=self)
if self.__cover_column.get_visible():
num = len(albums)
button = MenuItem(
ngettext("Reload album _cover", "Reload album _covers", num),
gtk.STOCK_REFRESH)
gobject_weak(button.connect, 'activate',
self.__refresh_album, view)
menu.prepend(gtk.SeparatorMenuItem())
menu.prepend(button)
menu.show_all()
return view.popup_menu(menu, 0, gtk.get_current_event_time())
开发者ID:silkecho,项目名称:glowing-silk,代码行数:18,代码来源:albums.py
示例18: __popup
def __popup(self, view, library):
songs = self.__get_selected_songs(view.get_selection())
menu = SongsMenu(library, songs)
menu.show_all()
return view.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:faubiguy,项目名称:quodlibet,代码行数:5,代码来源:main.py
示例19: 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_cli(config_file=config_file)
try:
# we want basic commands not to import gtk (doubles process time)
assert "gi.repository.Gtk" not in sys.modules
sys.modules["gi.repository.Gtk"] = None
startup_actions, cmds_todo = process_arguments(argv)
finally:
sys.modules.pop("gi.repository.Gtk", None)
quodlibet.init()
from quodlibet import app
from quodlibet.qltk import add_signal_watch, Icons
add_signal_watch(app.quit)
import quodlibet.player
import quodlibet.library
from quodlibet import config
from quodlibet import browsers
from quodlibet import util
app.name = "Quod Libet"
app.description = _("Music player and music library manager")
app.id = "quodlibet"
quodlibet.set_application_info(Icons.QUODLIBET, app.id, app.name)
library_path = os.path.join(quodlibet.get_user_dir(), "songs")
print_d("Initializing main library (%s)" % (
quodlibet.util.path.unexpand(library_path)))
library = quodlibet.library.init(library_path)
app.library = library
# this assumes that nullbe will always succeed
from quodlibet.player import PlayerError
wanted_backend = environ.get(
"QUODLIBET_BACKEND", config.get("player", "backend"))
try:
player = quodlibet.player.init_player(wanted_backend, app.librarian)
except PlayerError:
print_exc()
player = quodlibet.player.init_player("nullbe", app.librarian)
app.player = player
environ["PULSE_PROP_media.role"] = "music"
environ["PULSE_PROP_application.icon_name"] = "quodlibet"
browsers.init()
from quodlibet.qltk.songlist import SongList, get_columns
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.plugins.query import QUERY_HANDLER
QUERY_HANDLER.init_plugins()
from gi.repository import GLib
#.........这里部分代码省略.........
开发者ID:Muges,项目名称:quodlibet,代码行数:101,代码来源:main.py
示例20: __popup_menu
def __popup_menu(self, view, library):
model, iter = view.get_selection().get_selected()
device = model[iter][0]
if device.is_connected() and not self.__busy:
songs = self.__list_songs(device)
else:
songs = []
menu = SongsMenu(library, songs, playlists=False,
devices=False, remove=False, parent=self)
menu.preseparate()
props = gtk.ImageMenuItem(gtk.STOCK_PROPERTIES)
props.connect_object('activate', self.__properties, model[iter][0])
props.set_sensitive(not self.__busy)
menu.prepend(props)
ren = qltk.MenuItem(_("_Rename"), gtk.STOCK_EDIT)
keyval, mod = gtk.accelerator_parse("F2")
ren.add_accelerator(
'activate', self.accelerators, keyval, mod, gtk.ACCEL_VISIBLE)
def rename(path):
self.__render.set_property('editable', True)
view.set_cursor(path, view.get_columns()[0], start_editing=True)
ren.connect_object('activate', rename, model.get_path(iter))
menu.prepend(ren)
menu.preseparate()
eject = gtk.ImageMenuItem(_("_Eject"))
eject.set_image(
gtk.image_new_from_icon_name("media-eject", gtk.ICON_SIZE_MENU))
eject.set_sensitive(
not self.__busy and device.eject and device.is_connected())
eject.connect_object('activate', self.__eject, None)
menu.prepend(eject)
refresh = gtk.ImageMenuItem(gtk.STOCK_REFRESH)
refresh.set_sensitive(device.is_connected())
refresh.connect_object('activate', self.__refresh, True)
menu.prepend(refresh)
menu.show_all()
menu.popup(None, None, None, 0, gtk.get_current_event_time())
return True
开发者ID:silkecho,项目名称:glowing-silk,代码行数:46,代码来源:media.py
注:本文中的quodlibet.qltk.songsmenu.SongsMenu类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论