本文整理汇总了Python中quodlibet.qltk.menubutton.MenuButton类的典型用法代码示例。如果您正苦于以下问题:Python MenuButton类的具体用法?Python MenuButton怎么用?Python MenuButton使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MenuButton类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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)
示例2: __init__
def __init__(self, search_bar_box):
super(PreferencesButton, self).__init__()
menu = Gtk.Menu()
limit_item = ConfigCheckMenuItem(
_("_Limit Results"), "browsers", "search_limit", True)
limit_item.connect("toggled", search_bar_box.toggle_limit_widgets)
menu.append(limit_item)
menu.show_all()
button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU),
arrow=True)
button.set_menu(menu)
self.pack_start(button, True, True, 0)
示例3: __init__
def __init__(self, browser):
super(PreferencesButton, self).__init__()
menu = Gtk.Menu()
pref_item = MenuItem(_("_Preferences"), Icons.PREFERENCES_SYSTEM)
menu.append(pref_item)
connect_obj(pref_item, "activate", Preferences, browser)
menu.show_all()
button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU),
arrow=True)
button.set_menu(menu)
self.pack_start(button, True, True, 0)
示例4: __init__
def __init__(self, browser, model):
super(PreferencesButton, self).__init__()
sort_orders = [
(_("_Title"), self.__compare_title),
(_("_Artist"), self.__compare_artist),
(_("_Date"), self.__compare_date),
(_("_Genre"), self.__compare_genre),
(_("_Rating"), self.__compare_rating),
(_("_Playcount"), self.__compare_avgplaycount),
]
menu = Gtk.Menu()
sort_item = Gtk.MenuItem(
label=_(u"Sort _by…"), use_underline=True)
sort_menu = Gtk.Menu()
active = config.getint('browsers', 'album_sort', 1)
item = None
for i, (label, func) in enumerate(sort_orders):
item = RadioMenuItem(group=item, label=label,
use_underline=True)
model.set_sort_func(100 + i, func)
if i == active:
model.set_sort_column_id(100 + i, Gtk.SortType.ASCENDING)
item.set_active(True)
item.connect("toggled",
util.DeferredSignal(self.__sort_toggled_cb),
model, i)
sort_menu.append(item)
sort_item.set_submenu(sort_menu)
menu.append(sort_item)
pref_item = MenuItem(_("_Preferences"), Icons.PREFERENCES_SYSTEM)
menu.append(pref_item)
connect_obj(pref_item, "activate", Preferences, browser)
menu.show_all()
button = MenuButton(
SymbolicIconImage(Icons.EMBLEM_SYSTEM, Gtk.IconSize.MENU),
arrow=True)
button.set_menu(menu)
self.pack_start(button, True, True, 0)
示例5: __init__
def __init__(self, model):
super(PreferencesButton, self).__init__()
sort_orders = [
(_("_Title"), self.__compare_title),
(_("_Artist"), self.__compare_artist),
(_("_Date"), self.__compare_date),
(_("_Genre"), self.__compare_genre),
]
menu = gtk.Menu()
sort_item = gtk.MenuItem(_("Sort _by..."))
sort_menu = gtk.Menu()
active = config.getint('browsers', 'album_sort', 1)
item = None
for i, (label, func) in enumerate(sort_orders):
item = gtk.RadioMenuItem(item, label)
model.set_sort_func(100 + i, func)
if i == active:
model.set_sort_column_id(100 + i, gtk.SORT_ASCENDING)
item.set_active(True)
gobject_weak(item.connect, "toggled",
util.DeferredSignal(self.__sort_toggled_cb),
model, i)
sort_menu.append(item)
sort_item.set_submenu(sort_menu)
menu.append(sort_item)
pref_item = MenuItem(_("_Preferences"), gtk.STOCK_PREFERENCES)
menu.append(pref_item)
gobject_weak(pref_item.connect_object, "activate", Preferences, self)
menu.show_all()
button = MenuButton(
gtk.image_new_from_stock(
gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU),
arrow=False)
button.set_menu(menu)
self.pack_start(button)
示例6: __init__
def __init__(self, icon_name, orders, current_order, enabled=False,
tooltip=None, arrow_down=False):
"""arrow_down -- the direction of the menu and arrow icon"""
assert issubclass(current_order, Order)
if current_order not in orders:
raise ValueError("%s is not supported by %s"
% (current_order.__name__, orders))
super(ToggledPlayOrderMenu, self).__init__()
self.__inhibit = True
context = self.get_style_context()
context.add_class(Gtk.STYLE_CLASS_LINKED)
self._toggle_button = toggle = HighlightToggleButton(
image=SymbolicIconImage(icon_name, Gtk.IconSize.SMALL_TOOLBAR))
if tooltip:
toggle.set_tooltip_text(tooltip)
toggle.set_active(enabled)
toggle.show_all()
qltk.remove_padding(toggle)
toggle.set_size_request(26, 26)
self.pack_start(toggle, True, True, 0)
def forward_signal(*args):
if not self.__inhibit:
self.emit("toggled")
toggle.connect("toggled", forward_signal)
self._toggle_button = toggle
from quodlibet.qltk.menubutton import MenuButton
arrow = MenuButton(arrow=True, down=arrow_down)
arrow.show_all()
arrow.set_size_request(20, 26)
qltk.remove_padding(arrow)
self.pack_start(arrow, True, True, 0)
self._menu_button = arrow
self.__current = current_order
self.__orders = orders
self.__rebuild_menu()
self.__inhibit = False
示例7: __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)
示例8: __init__
def __init__(self, arrow_down=False):
"""arrow_down -- the direction of the menu and arrow icon"""
super(ShuffleButton, self).__init__()
context = self.get_style_context()
context.add_class(Gtk.STYLE_CLASS_LINKED)
# shuffle button
b = Gtk.ToggleButton(image=SymbolicIconImage(
"media-playlist-shuffle", Gtk.IconSize.SMALL_TOOLBAR))
b.set_tooltip_text(_("Toggle shuffle mode"))
b.show_all()
qltk.add_css(b, """
* {
padding: 0px;
}
""")
b.set_size_request(26, 26)
self.pack_start(b, True, True, 0)
def forward_signal(*args):
self.emit("toggled")
b.connect("toggled", forward_signal)
self._toggle_button = b
# arrow
from quodlibet.qltk.menubutton import MenuButton
b = MenuButton(arrow=True, down=arrow_down)
b.show_all()
b.set_size_request(20, 26)
qltk.add_css(b, """
* {
padding: 0px;
}
""")
self.pack_start(b, True, True, 0)
self._menu_button = b
示例9: __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():
#.........这里部分代码省略.........
示例10: __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)
示例11: __init__
def __init__(self, library, main):
super(InternetRadio, self).__init__(spacing=12)
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)
gobject_weak(search.connect, 'query-changed', self.__filter_changed)
menu = gtk.Menu()
new_item = MenuItem(_("_New Station"), gtk.STOCK_ADD)
gobject_weak(new_item.connect, 'activate', self.__add)
menu.append(new_item)
update_item = MenuItem(_("_Update Stations"), gtk.STOCK_REFRESH)
gobject_weak(update_item.connect, 'activate', self.__update)
menu.append(update_item)
menu.show_all()
button = MenuButton(
gtk.image_new_from_stock(
gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU),
arrow=True)
button.set_menu(menu)
def focus(widget, *args):
qltk.get_top_parent(widget).songlist.grab_focus()
gobject_weak(search.connect, 'focus-out', focus, parent=self)
# treeview
scrolled_window = ScrolledWindow()
scrolled_window.set_shadow_type(gtk.SHADOW_IN)
self.view = view = AllTreeView()
view.set_headers_visible(False)
scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scrolled_window.add(view)
model = gtk.ListStore(int, str, str, str)
model.append(row=[self.TYPE_ALL, gtk.STOCK_DIRECTORY, "__all",
_("All Stations")])
model.append(row=[self.TYPE_SEP, gtk.STOCK_DIRECTORY, "", ""])
#Translators: Favorite radio stations
model.append(row=[self.TYPE_FAV, gtk.STOCK_DIRECTORY, "__fav",
_("Favorites")])
model.append(row=[self.TYPE_SEP, gtk.STOCK_DIRECTORY, "", ""])
filters = self.filters
for text, k in sorted([(filters.text(k), k) for k in filters.keys()]):
model.append(row=[self.TYPE_FILTER, gtk.STOCK_FIND, k, text])
model.append(row=[self.TYPE_NOCAT, gtk.STOCK_DIRECTORY,
"nocat", _("No Category")])
def separator(model, iter):
return model[iter][self.TYPE] == self.TYPE_SEP
view.set_row_separator_func(separator)
def search_func(model, column, key, iter):
return key.lower() not in model[iter][column].lower()
view.set_search_column(self.NAME)
view.set_search_equal_func(search_func)
column = gtk.TreeViewColumn("genres")
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
renderpb = gtk.CellRendererPixbuf()
renderpb.props.xpad = 3
column.pack_start(renderpb, False)
column.set_attributes(renderpb, stock_id=self.STOCK)
render = gtk.CellRendererText()
view.append_column(column)
column.pack_start(render)
column.set_attributes(render, text=self.NAME)
view.set_model(model)
# selection
selection = view.get_selection()
selection.set_mode(gtk.SELECTION_MULTIPLE)
self.__changed_sig = gobject_weak(selection.connect, 'changed',
util.DeferredSignal(lambda x: self.activate()), parent=view)
box = gtk.HBox(spacing=6)
box.pack_start(search)
box.pack_start(button, expand=False)
if main:
self.pack_start(Alignment(box, left=3, right=3, top=3))
else:
self.pack_start(box)
self.__filter_list = scrolled_window
self.show_all()