本文整理汇总了Python中quodlibet.qltk.x.MenuItem类的典型用法代码示例。如果您正苦于以下问题:Python MenuItem类的具体用法?Python MenuItem怎么用?Python MenuItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MenuItem类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, browser):
super(PreferencesButton, self).__init__()
self._menu = menu = Gtk.Menu()
wide_mode = ConfigCheckMenuItem(
_("_Wide Mode"), "browsers", "pane_wide_mode", True)
wide_mode.connect("toggled", self.__wide_mode_changed, browser)
menu.append(wide_mode)
pref_item = MenuItem(_("_Preferences"), Icons.PREFERENCES_SYSTEM)
def preferences_cb(menu_item):
window = Preferences(browser)
window.show()
pref_item.connect("activate", preferences_cb)
menu.append(pref_item)
menu.show_all()
button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU),
arrow=True)
button.set_menu(menu)
button.show()
self.pack_start(button, True, True, 0)
开发者ID:LudoBike,项目名称:quodlibet,代码行数:26,代码来源:prefs.py
示例2: __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
示例3: __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
示例4: __popup
def __popup(self, entry, menu):
undo = MenuItem(_("_Undo"), Icons.EDIT_UNDO)
add_fake_accel(undo, "<Primary>z")
redo = MenuItem(_("_Redo"), Icons.EDIT_REDO)
add_fake_accel(redo, "<Primary><shift>z")
sep = SeparatorMenuItem()
for widget in [sep, redo, undo]:
widget.show()
undo.connect("activate", lambda *x: self.undo())
redo.connect("activate", lambda *x: self.redo())
undo.set_sensitive(self.can_undo())
redo.set_sensitive(self.can_redo())
for item in [sep, redo, undo]:
menu.prepend(item)
开发者ID:tintinyoung,项目名称:quodlibet,代码行数:18,代码来源:entry.py
示例5: __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
示例6: __init__
def __init__(self, browser):
super(PreferencesButton, self).__init__()
self._menu = menu = Gtk.Menu()
pref_item = MenuItem(_("_Preferences"), Icons.PREFERENCES_SYSTEM)
def preferences_cb(menu_item):
window = Preferences(browser)
window.show()
pref_item.connect("activate", preferences_cb)
menu.append(pref_item)
menu.show_all()
button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU),
arrow=True)
button.set_menu(menu)
button.show()
self.pack_start(button, True, True, 0)
开发者ID:zsau,项目名称:quodlibet,代码行数:21,代码来源:prefs.py
示例7: 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
示例8: 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"), Gtk.STOCK_ADD)
button.set_sensitive(in_all)
connect_obj(button, 'activate', self.__add_fav, songs)
iradio_items.append(button)
button = MenuItem(_("Remove from Favorites"), Gtk.STOCK_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:brunob,项目名称:quodlibet,代码行数:25,代码来源:iradio.py
示例9: __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
示例10: __map
def __map(self, menu, songs):
remove_item = MenuItem(_("_Remove all Images"), "edit-delete")
remove_item.connect('activate', self.__remove_images, songs)
menu.append(remove_item)
set_item = MenuItem(_("_Embed Current Image"), "edit-paste")
set_item.connect('activate', self.__set_image, songs)
menu.append(set_item)
menu.show_all()
开发者ID:LudoBike,项目名称:quodlibet,代码行数:10,代码来源:embedded.py
示例11: __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)
menu.preseparate()
props = MenuItem(_("_Properties"), Icons.DOCUMENT_PROPERTIES)
connect_obj(props, 'activate', self.__properties, model[iter][0])
props.set_sensitive(not self.__busy)
menu.prepend(props)
ren = qltk.MenuItem(_("_Rename"), Icons.EDIT)
keyval, mod = Gtk.accelerator_parse("F2")
ren.add_accelerator(
'activate', self.accelerators, keyval, mod, Gtk.AccelFlags.VISIBLE)
def rename(path):
self.__render.set_property('editable', True)
view.set_cursor(path, view.get_columns()[0], start_editing=True)
connect_obj(ren, 'activate', rename, model.get_path(iter))
menu.prepend(ren)
menu.preseparate()
eject = Gtk.ImageMenuItem(_("_Eject"), use_underline=True)
eject.set_image(
Gtk.Image.new_from_icon_name(Icons.MEDIA_EJECT, Gtk.IconSize.MENU))
eject.set_sensitive(
not self.__busy and device.eject and device.is_connected())
connect_obj(eject, 'activate', self.__eject, None)
menu.prepend(eject)
refresh = MenuItem(_("_Refresh"), Icons.VIEW_REFRESH)
refresh.set_sensitive(device.is_connected())
connect_obj(refresh, 'activate', self.__refresh, True)
menu.prepend(refresh)
menu.show_all()
return view.popup_menu(menu, 0, Gtk.get_current_event_time())
开发者ID:urielz,项目名称:quodlibet,代码行数:46,代码来源:media.py
示例12: __init__
def __init__(self, app, add_show_item=False):
super(IndicatorMenu, self).__init__()
self._app = app
player = app.player
show_item_bottom = is_plasma()
if add_show_item:
show_item = Gtk.CheckMenuItem.new_with_mnemonic(
_("_Show %(application-name)s") % {
"application-name": app.name})
def on_toggled(menuitem):
if menuitem.get_active():
app.present()
else:
app.hide()
pconfig.set("window_visible", menuitem.get_active())
self._toggle_id = show_item.connect("toggled", on_toggled)
def on_visible_changed(*args):
with show_item.handler_block(self._toggle_id):
show_item.set_active(app.window.get_visible())
connect_destroy(app.window, "notify::visible", on_visible_changed)
else:
show_item = None
self._play_item = MenuItem(_("_Play"), Icons.MEDIA_PLAYBACK_START)
self._play_item.connect("activate", self._on_play_pause, player)
self._play_item.set_no_show_all(True)
self._pause_item = MenuItem(_("P_ause"), Icons.MEDIA_PLAYBACK_PAUSE)
self._pause_item.connect("activate", self._on_play_pause, player)
self._pause_item.set_no_show_all(True)
self._action_item = None
previous = MenuItem(_("Pre_vious"), Icons.MEDIA_SKIP_BACKWARD)
previous.connect('activate', lambda *args: player.previous(force=True))
next = MenuItem(_("_Next"), Icons.MEDIA_SKIP_FORWARD)
next.connect('activate', lambda *args: player.next())
player_options = app.player_options
shuffle = Gtk.CheckMenuItem(label=_("_Shuffle"), use_underline=True)
player_options.bind_property("random", shuffle, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("random")
repeat = Gtk.CheckMenuItem(label=_("_Repeat"), use_underline=True)
player_options.bind_property("repeat", repeat, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("repeat")
safter = Gtk.CheckMenuItem(label=_("Stop _After This Song"),
use_underline=True)
player_options.bind_property("stop-after", safter, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("stop-after")
browse = qltk.MenuItem(_("Open _Browser"), Icons.EDIT_FIND)
browse_sub = Gtk.Menu()
for Kind in browsers.browsers:
i = Gtk.MenuItem(label=Kind.accelerated_name, use_underline=True)
connect_obj(i,
'activate', LibraryBrowser.open, Kind, app.library, app.player)
browse_sub.append(i)
browse.set_submenu(browse_sub)
self._props = qltk.MenuItem(_("Edit _Tags"), Icons.DOCUMENT_PROPERTIES)
def on_properties(*args):
song = player.song
window = SongProperties(app.librarian, [song])
window.show()
self._props.connect('activate', on_properties)
self._info = MenuItem(_("_Information"), Icons.DIALOG_INFORMATION)
def on_information(*args):
song = player.song
window = Information(app.librarian, [song])
window.show()
self._info.connect('activate', on_information)
def set_rating(value):
song = player.song
song["~#rating"] = value
app.librarian.changed([song])
self._rating_item = rating = RatingsMenuItem([], app.library)
quit = MenuItem(_("_Quit"), Icons.APPLICATION_EXIT)
quit.connect('activate', lambda *x: app.quit())
#.........这里部分代码省略.........
开发者ID:bernd-wechner,项目名称:quodlibet,代码行数:101,代码来源:menu.py
示例13: IndicatorMenu
class IndicatorMenu(Gtk.Menu):
__gsignals__ = {
'action-item-changed': (GObject.SignalFlags.RUN_LAST, None, tuple()),
}
def __init__(self, app, add_show_item=False):
super(IndicatorMenu, self).__init__()
self._app = app
player = app.player
show_item_bottom = is_plasma()
if add_show_item:
show_item = Gtk.CheckMenuItem.new_with_mnemonic(
_("_Show %(application-name)s") % {
"application-name": app.name})
def on_toggled(menuitem):
if menuitem.get_active():
app.present()
else:
app.hide()
pconfig.set("window_visible", menuitem.get_active())
self._toggle_id = show_item.connect("toggled", on_toggled)
def on_visible_changed(*args):
with show_item.handler_block(self._toggle_id):
show_item.set_active(app.window.get_visible())
connect_destroy(app.window, "notify::visible", on_visible_changed)
else:
show_item = None
self._play_item = MenuItem(_("_Play"), Icons.MEDIA_PLAYBACK_START)
self._play_item.connect("activate", self._on_play_pause, player)
self._play_item.set_no_show_all(True)
self._pause_item = MenuItem(_("P_ause"), Icons.MEDIA_PLAYBACK_PAUSE)
self._pause_item.connect("activate", self._on_play_pause, player)
self._pause_item.set_no_show_all(True)
self._action_item = None
previous = MenuItem(_("Pre_vious"), Icons.MEDIA_SKIP_BACKWARD)
previous.connect('activate', lambda *args: player.previous(force=True))
next = MenuItem(_("_Next"), Icons.MEDIA_SKIP_FORWARD)
next.connect('activate', lambda *args: player.next())
player_options = app.player_options
shuffle = Gtk.CheckMenuItem(label=_("_Shuffle"), use_underline=True)
player_options.bind_property("random", shuffle, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("random")
repeat = Gtk.CheckMenuItem(label=_("_Repeat"), use_underline=True)
player_options.bind_property("repeat", repeat, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("repeat")
safter = Gtk.CheckMenuItem(label=_("Stop _After This Song"),
use_underline=True)
player_options.bind_property("stop-after", safter, "active",
GObject.BindingFlags.BIDIRECTIONAL)
player_options.notify("stop-after")
browse = qltk.MenuItem(_("Open _Browser"), Icons.EDIT_FIND)
browse_sub = Gtk.Menu()
for Kind in browsers.browsers:
i = Gtk.MenuItem(label=Kind.accelerated_name, use_underline=True)
connect_obj(i,
'activate', LibraryBrowser.open, Kind, app.library, app.player)
browse_sub.append(i)
browse.set_submenu(browse_sub)
self._props = qltk.MenuItem(_("Edit _Tags"), Icons.DOCUMENT_PROPERTIES)
def on_properties(*args):
song = player.song
window = SongProperties(app.librarian, [song])
window.show()
self._props.connect('activate', on_properties)
self._info = MenuItem(_("_Information"), Icons.DIALOG_INFORMATION)
def on_information(*args):
song = player.song
window = Information(app.librarian, [song])
window.show()
self._info.connect('activate', on_information)
def set_rating(value):
song = player.song
song["~#rating"] = value
app.librarian.changed([song])
#.........这里部分代码省略.........
开发者ID:bernd-wechner,项目名称:quodlibet,代码行数:101,代码来源:menu.py
示例14: __init__
def __init__(self, library):
super(InternetRadio, self).__init__(spacing=12)
self.set_orientation(Gtk.Orientation.VERTICAL)
if not self.instances():
self._init(library)
self._register_instance()
self.connect("destroy", self.__destroy)
completion = LibraryTagCompletion(self.__stations)
self.accelerators = Gtk.AccelGroup()
self.__searchbar = search = SearchBarBox(completion=completion, accel_group=self.accelerators)
search.connect("query-changed", self.__filter_changed)
menu = Gtk.Menu()
new_item = MenuItem(_(u"_New Station…"), Icons.LIST_ADD)
new_item.connect("activate", self.__add)
menu.append(new_item)
update_item = MenuItem(_("_Update Stations"), Icons.VIEW_REFRESH)
update_item.connect("activate", self.__update)
menu.append(update_item)
menu.show_all()
button = MenuButton(SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU), arrow=True)
button.set_menu(menu)
def focus(widget, *args):
qltk.get_top_parent(widget).songlist.grab_focus()
search.connect("focus-out", focus)
# treeview
scrolled_window = ScrolledWindow()
scrolled_window.show()
scrolled_window.set_shadow_type(Gtk.ShadowType.IN)
self.view = view = AllTreeView()
view.show()
view.set_headers_visible(False)
scrolled_window.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
scrolled_window.add(view)
model = Gtk.ListStore(int, str, str, str)
model.append(row=[self.TYPE_ALL, Icons.FOLDER, "__all", _("All Stations")])
model.append(row=[self.TYPE_SEP, Icons.FOLDER, "", ""])
# Translators: Favorite radio stations
model.append(row=[self.TYPE_FAV, Icons.FOLDER, "__fav", _("Favorites")])
model.append(row=[self.TYPE_SEP, Icons.FOLDER, "", ""])
filters = self.filters
for text, k in sorted([(filters.text(k), k) for k in filters.keys()]):
model.append(row=[self.TYPE_FILTER, Icons.EDIT_FIND, k, text])
model.append(row=[self.TYPE_NOCAT, Icons.FOLDER, "nocat", _("No Category")])
def separator(model, iter, data):
return model[iter][self.TYPE] == self.TYPE_SEP
view.set_row_separator_func(separator, None)
def search_func(model, column, key, iter, data):
return key.lower() not in model[iter][column].lower()
view.set_search_column(self.NAME)
view.set_search_equal_func(search_func, None)
column = Gtk.TreeViewColumn("genres")
column.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
renderpb = Gtk.CellRendererPixbuf()
renderpb.props.xpad = 3
column.pack_start(renderpb, False)
column.add_attribute(renderpb, "icon-name", self.ICON_NAME)
render = Gtk.CellRendererText()
render.set_property("ellipsize", Pango.EllipsizeMode.END)
view.append_column(column)
column.pack_start(render, True)
column.add_attribute(render, "text", self.NAME)
view.set_model(model)
# selection
selection = view.get_selection()
selection.set_mode(Gtk.SelectionMode.MULTIPLE)
self.__changed_sig = connect_destroy(selection, "changed", util.DeferredSignal(lambda x: self.activate()))
box = Gtk.HBox(spacing=6)
box.pack_start(search, True, True, 0)
box.pack_start(button, False, True, 0)
self._searchbox = Align(box, left=0, right=6, top=6)
self._searchbox.show_all()
def qbar_response(infobar, response_id):
if response_id == infobar.RESPONSE_LOAD:
self.__update()
self.qbar = QuestionBar()
self.qbar.connect("response", qbar_response)
if self._is_library_empty():
#.........这里部分代码省略.........
开发者ID:virtuald,项目名称:quodlibet,代码行数:101,代码来源:iradio.py
示例15: __init__
def __init__(self, library, dir=None):
super(ExFalsoWindow, self).__init__(dialog=False)
self.set_title("Ex Falso")
self.set_default_size(750, 475)
self.enable_window_tracking("exfalso")
self.__library = library
hp = ConfigRHPaned("memory", "exfalso_paned_position", 1.0)
hp.set_border_width(0)
hp.set_position(250)
hp.show()
self.add(hp)
vb = Gtk.VBox()
bbox = Gtk.HBox(spacing=6)
about = Gtk.Button()
about.add(Gtk.Image.new_from_icon_name(
Icons.HELP_ABOUT, Gtk.IconSize.BUTTON))
connect_obj(about, 'clicked', self.__show_about, self)
bbox.pack_start(about, False, True, 0)
def prefs_cb(*args):
window = PreferencesWindow(self)
window.show()
def plugin_window_cb(*args):
window = PluginWindow(self)
window.show()
menu = Gtk.Menu()
plugin_item = MenuItem(_("_Plugins"), Icons.SYSTEM_RUN)
plugin_item.connect("activate", plugin_window_cb)
menu.append(plugin_item)
pref_item = MenuItem(_("_Preferences"), Icons.PREFERENCES_SYSTEM)
pref_item.connect("activate", prefs_cb)
menu.append(pref_item)
menu.show_all()
menu_button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.BUTTON),
arrow=True, down=False)
menu_button.set_menu(menu)
bbox.pack_start(menu_button, False, True, 0)
l = Gtk.Label()
l.set_alignment(1.0, 0.5)
l.set_ellipsize(Pango.EllipsizeMode.END)
bbox.pack_start(l, True, True, 0)
fs = MainFileSelector()
vb.pack_start(fs, True, True, 0)
vb.pack_start(Align(bbox, border=6), False, True, 0)
vb.show_all()
hp.pack1(vb, resize=True, shrink=False)
nb = qltk.Notebook()
nb.props.scrollable = True
nb.show()
for Page in [EditTags, TagsFromPath, RenameFiles, TrackNumbers]:
page = Page(self, self.__library)
page.show()
nb.append_page(page)
hp.pack2(nb, resize=True, shrink=False)
fs.connect('changed', self.__changed, l)
if dir:
fs.go_to(dir)
connect_destroy(self.__library, 'changed', self.__library_changed, fs)
self.__save = None
connect_obj(self, 'changed', self.set_pending, None)
for c in fs.get_children():
c.get_child().connect('button-press-event',
self.__pre_selection_changed, fs, nb)
c.get_child().connect('focus',
self.__pre_selection_changed, fs, nb)
fs.get_children()[1].get_child().connect('popup-menu',
self.__popup_menu, fs)
self.emit('changed', [])
self.get_child().show()
self.__ag = Gtk.AccelGroup()
key, mod = Gtk.accelerator_parse("<Primary>Q")
self.__ag.connect(key, mod, 0, lambda *x: self.destroy())
self.add_accel_group(self.__ag)
# GtkosxApplication assumes the menu bar is mapped, so add
# it but don't show it.
self._dummy_osx_menu_bar = Gtk.MenuBar()
vb.pack_start(self._dummy_osx_menu_bar, False, False, 0)
开发者ID:mistotebe,项目名称:quodlibet,代码行数:97,代码来源:exfalsowindow.py
示例16: _popup_menu
def _popup_menu(self, icon, button, time):
if self.__destroy_win32_menu():
return
self.__menu = menu = Gtk.Menu()
player = app.player
window = app.window
if player.paused:
playpause = MenuItem(_("_Play"), Icons.MEDIA_PLAYBACK_START)
else:
playpause = MenuItem(_("P_ause"), Icons.MEDIA_PLAYBACK_PAUSE)
playpause.connect('activate', self.__play_pause)
previous = MenuItem(_("Pre_vious"), Icons.MEDIA_SKIP_BACKWARD)
previous.connect('activate', lambda *args: player.previous())
next = MenuItem(_("_Next"), Icons.MEDIA_SKIP_FORWARD)
next.connect('activate', lambda *args: player.next())
orders = Gtk.MenuItem(label=_("Play _Order"), use_underline=True)
repeat = Gtk.CheckMenuItem(label=_("_Repeat"), use_underline=True)
repeat.set_active(window.repeat.get_active())
repeat.connect('toggled',
lambda s: window.repeat.set_active(s.get_active()))
def set_safter(widget, safter_action):
safter_action.set_active(widget.get_active())
safter_action = app.window.stop_after
safter = Gtk.CheckMenuItem(label=_("Stop _after this song"),
use_underline=True)
safter.set_active(safter_action.get_active())
safter.connect('toggled', set_safter, safter_action)
def set_order(widget, order):
name = order.name
try:
window.order.set_active_by_name(name)
except ValueError:
pass
order_items = []
item = None
active_order = window.order.get_active()
for Kind in ORDERS:
item = RadioMenuItem(
group=item,
label=Kind.accelerated_name,
use_underline=True)
order_items.append(item)
if Kind is active_order:
item.set_active(True)
item.connect('toggled', set_order, Kind)
order_sub = Gtk.Menu()
order_sub.append(repeat)
order_sub.append(safter)
order_sub.append(SeparatorMenuItem())
for item in order_items:
order_sub.append(item)
orders.set_submenu(order_sub)
browse = qltk.MenuItem(_("_Browse Library"), Icons.EDIT_FIND)
browse_sub = Gtk.Menu()
for Kind in browsers.browsers:
if Kind.is_empty:
continue
i = Gtk.MenuItem(label=Kind.accelerated_name, use_underline=True)
connect_obj(i,
'activate', LibraryBrowser.open, Kind, app.library, app.player)
browse_sub.append(i)
browse.set_submenu(browse_sub)
props = qltk.MenuItem(_("Edit _Tags"), Icons.DOCUMENT_PROPERTIES)
props.connect('activate', self.__properties)
info = MenuItem(_("_Information"), Icons.DIALOG_INFORMATION)
info.connect('activate', self.__information)
def set_rating(value):
song = player.song
if song is None:
return
else:
song["~#rating"] = value
app.librarian.changed([song])
rating = Gtk.MenuItem(label=_("_Rating"), use_underline=True)
rating_sub = Gtk.Menu()
for r in RATINGS.all:
item = Gtk.MenuItem(label="%0.2f\t%s" % (r, util.format_rating(r)))
connect_obj(item, 'activate', set_rating, r)
rating_sub.append(item)
rating.set_submenu(rating_sub)
quit = MenuItem(_("_Quit"), Icons.APPLICATION_EXIT)
#.........这里部分代码省略.........
开发者ID:vrasidas,项目名称:quodlibet,代码行数:101,代码来源:trayicon.py
示例17: __init__
def __init__(self, app):
super(DockMenu, self).__init__()
player = app.player
play_item = MenuItem(_("_Play"), Icons.MEDIA_PLAYBACK_START)
play_item.connect("activate", self._on_play, player)
pause_item = MenuItem(_("P_ause"), Icons.MEDIA_PLAYBACK_PAUSE)
pause_item.connect("activate", self._on_pause, player)
self.append(play_item)
self.append(pause_item)
previous = MenuItem(_("Pre_vious"), Icons.MEDIA_SKIP_BACKWARD)
previous.connect("activate", lambda *args: player.previous())
self.append(previous)
next_ = MenuItem(_("_Next"), Icons.MEDIA_SKIP_FORWARD)
next_.connect("activate", lambda *args: player.next())
self.append(next_)
browse = qltk.MenuItem(_("_Browse Library"), Icons.EDIT_FIND)
browse_sub = Gtk.Menu()
for Kind in browsers.browsers:
if Kind.is_empty:
continue
i = Gtk.MenuItem(label=Kind.accelerated_name, use_underline=True)
connect_obj(i, "activate", LibraryBrowser.open, Kind, app.library, app.player)
browse_sub.append(i)
browse.set_submenu(browse_sub)
self.append(SeparatorMenuItem())
self.append(browse)
self.show_all()
self.hide()
开发者ID:virtuald,项目名称:quodlibet,代码行数:35,代码来源:quodlibetwindow.py
示例18: __popup_menu
def __popup_menu(self, view, parent):
menu = Gtk.Menu()
view.ensure_popup_selection()
model, rows = view.get_selection().get_selected_rows()
can_change = min([model[path][0].canedit for path in rows])
items = [SplitDisc, SplitTitle, SplitPerformer, SplitArranger,
SplitValues, SplitPerformerFromTitle,
SplitOriginalArtistFromTitle]
items.extend(self.handler.plugins)
items.sort(key=lambda item: (item._order, item.__name__))
if len(rows) == 1:
row = model[rows[0]]
entry = row[0]
comment = entry.value
text = comment.text
for Item in items:
if Item.tags and entry.tag not in Item.tags:
continue
try:
b = Item(entry.tag, text)
except:
util.print_exc()
else:
b.connect('activate', self.__menu_activate, view)
if (not min(listmap(self.__songinfo.can_change, b.needs) +
[1])
or comment.is_special()):
b.set_sensitive(False)
menu.append(b)
if menu.get_children():
menu.append(SeparatorMenuItem())
copy_b = MenuItem(_("_Copy Value(s)"), Icons.EDIT_COPY)
copy_b.connect('activate', self.__copy_tag_value, view)
qltk.add_fake_accel(copy_b, "<Primary>c")
menu.append(copy_b)
remove_b = MenuItem(_("_Remove"), Icons.LIST_REMOVE)
remove_b.connect('activate', self.__remove_tag, view)
qltk.add_fake_accel(remove_b, "Delete")
menu.append(remove_b)
menu.show_all()
# Setting the menu itself to be insensitive causes it to not
# be dismissed; see #473.
for c in menu.get_children():
c.set_sensitive(can_change and c.get_property('sensitive'))
copy_b.set_sensitive(True)
remove_b.set_sensitive(True)
menu.connect('selection-done', lambda m: m.destroy())
# XXX: Keep reference
self.__menu = menu
return view.popup_menu(menu, 3, Gtk.get_current_event_time())
开发者ID:LudoBike,项目名称:quodlibet,代码行数:63,代码来源:edittags.py
示例19: __init__
def __init__(self, Prototype, values, filename, title):
if self.is_not_unique():
return
super(JSONBasedEditor, self).__init__()
self.Prototype = Prototype
self.current = None
self.filename = filename
self.name = Prototype.NAME or Prototype.__name__
self.input_entries = {}
self.set_border_width(12)
self.set_title(title)
self.set_default_size(self._WIDTH, self._HEIGHT)
self.add(Gtk.HBox(spacing=6))
self.get_child().set_homogeneous(True)
self.accels = Gtk.AccelGroup()
# Set up the model for this widget
self.model = Gtk.ListStore(object)
self._fill_values(values)
# The browser for existing data
self.view = view = RCMHintedTreeView(model=self.model)
view.set_headers_visible(False)
view.set_reorderable(True)
view.set_rules_hint(True)
render = Gtk.CellRendererText()
render.set_padding(3, 6)
render.props.ellipsize = Pango.EllipsizeMode.END
column = Gtk.TreeViewColumn("", render)
column.set_cell_data_func(render, self.__cdf)
view.append_column(column)
sw = Gtk.ScrolledWindow()
sw.set_shadow_type(Gtk.ShadowType.IN)
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
sw.add(view)
self.get_child().pack_start(sw, True, True, 0)
vbox = Gtk.VBox(spacing=6)
# Input for new ones.
frame = self.__build_input_frame()
vbox.pack_start(frame, False, True, 0)
# Add context menu
menu = Gtk.Menu()
rem = MenuItem(_("_Remove"), Icons.LIST_REMOVE)
keyval, mod = Gtk.accelerator_parse("Delete")
rem.add_accelerator(
'activate', self.accels, keyval, mod, Gtk.AccelFlags.VISIBLE)
connect_obj(rem, 'activate', self.__remove, view)
menu.append(rem)
menu.show_all()
view.connect('popup-menu', self.__popup, menu)
view.connect('key-press-event', self.__view_key_press)
connect_obj(self, 'destroy', Gtk.Menu.destroy, menu)
# New and Close buttons
bbox = Gtk.HButtonBox()
self.remove_but = Button(_("_Remove"), Icons.LIST_REMOVE)
self.remove_but.set_sensitive(False)
self.new_but = Button(_("_New"), Icons.DOCUMENT_NEW)
self.new_but.connect('clicked', self._new_item)
bbox.pack_start(self.new_but, True, True, 0)
close = Button(_("_Close"), Icons.WINDOW_CLOSE)
connect_obj(close, 'clicked', qltk.Window.destroy, self)
bbox.pack_start(close, True, True, 0)
vbox.pack_end(bbox, False, True, 0)
self.get_child().pack_start(vbox, True, True, 0)
# Initialise
self.selection = view.get_selection()
self.selection.connect('changed', self.__select)
self.connect('destroy', self.__finish)
self.get_child().show_all()
开发者ID:urielz,项目名称:quodlibet,代码行数:75,代码来源:data_editors.py
示例20: __init__
def __init__(self, library, player):
super(QueueExpander, self).__init__(spacing=3)
sw = ScrolledWindow()
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
sw.set_shadow_type(Gtk.ShadowType.IN)
self.queue = PlayQueue(library, player)
self.queue.props.expand = True
sw.add(self.queue)
add_css(self, ".ql-expanded title { margin-bottom: 5px; }")
outer = ExpandBoxHack()
left = Gtk.HBox(spacing=12)
hb2 = Gtk.HBox(spacing=3)
state_icon = PlaybackStatusIcon()
state_icon.stop()
state_icon.show()
hb2.pack_start(state_icon, True, True, 0)
name_label = Gtk.Label(label=_("_Queue"), use_underline=True)
name_label.set_size_request(-1, 24)
hb2.pack_start(name_label, True, True, 0)
left.pack_start(hb2, False, True, 0)
menu = Gtk.Menu()
self.count_label = count_label = Gtk.Label()
self.count_label.set_property("ellipsize", Pango.EllipsizeMode.END)
self.count_label.set_width_chars(10)
self.count_label.get_style_context().add_class("dim-label&q
|
请发表评论