本文整理汇总了Python中quodlibet.qltk.x.Button类的典型用法代码示例。如果您正苦于以下问题:Python Button类的具体用法?Python Button怎么用?Python Button使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Button类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: 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 list of separators to use when splitting tag values. "
"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:faubiguy,项目名称:quodlibet,代码行数:31,代码来源:prefs.py
示例2: __init__
def __init__(self):
super(ScanBox, self).__init__(spacing=6)
self.model = model = Gtk.ListStore(str)
view = RCMHintedTreeView(model=model)
view.set_fixed_height_mode(True)
view.set_headers_visible(False)
view.set_tooltip_text(_("Songs in the listed folders will be added "
"to the library during a library refresh"))
menu = Gtk.Menu()
remove_item = MenuItem(_("_Remove"), Icons.LIST_REMOVE)
menu.append(remove_item)
menu.show_all()
view.connect('popup-menu', self.__popup, menu)
connect_obj(remove_item, 'activate', self.__remove, view)
sw = Gtk.ScrolledWindow()
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
sw.set_shadow_type(Gtk.ShadowType.IN)
sw.add(view)
sw.set_size_request(-1, max(sw.size_request().height, 80))
render = Gtk.CellRendererText()
render.set_property('ellipsize', Pango.EllipsizeMode.END)
def cdf(column, cell, model, iter, data):
row = model[iter]
cell.set_property('text', unexpand(row[0]))
column = Gtk.TreeViewColumn(None, render)
column.set_cell_data_func(render, cdf)
column.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
view.append_column(column)
add = Button(_("_Add"), Icons.LIST_ADD)
add.connect("clicked", self.__add)
remove = Button(_("_Remove"), Icons.LIST_REMOVE)
selection = view.get_selection()
selection.set_mode(Gtk.SelectionMode.MULTIPLE)
selection.connect("changed", self.__select_changed, remove)
selection.emit("changed")
connect_obj(remove, "clicked", self.__remove, view)
vbox = Gtk.VBox(spacing=6)
vbox.pack_start(add, False, True, 0)
vbox.pack_start(remove, False, True, 0)
self.pack_start(sw, True, True, 0)
self.pack_start(vbox, False, True, 0)
paths = map(fsdecode, get_scan_dirs())
for path in paths:
model.append(row=[path])
for child in self.get_children():
child.show_all()
开发者ID:bernd-wechner,项目名称:quodlibet,代码行数:58,代码来源:scanbox.py
示例3: add_icon_button
def add_icon_button(self, label, icon_name, response_id):
"""Like add_button() but allows to pass an icon name"""
button = Button(label, icon_name)
# file chooser uses grab_default() on this
button.set_can_default(True)
button.show()
self.add_action_widget(button, response_id)
return button
开发者ID:bossjones,项目名称:quodlibet,代码行数:9,代码来源:window.py
示例4: __init__
def __init__(self, parent):
title = _("Uninitialized iPod")
description = _("Do you want to create an empty database on this iPod?")
super(ConfirmDBCreate, self).__init__(parent, title, description, buttons=Gtk.ButtonsType.NONE)
self.add_button(_("_Cancel"), Gtk.ResponseType.CANCEL)
save_button = Button(_("_Create Database"), "system-run")
save_button.show()
self.add_action_widget(save_button, self.RESPONSE_CREATE)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:faubiguy,项目名称:quodlibet,代码行数:11,代码来源:ipod.py
示例5: __init__
def __init__(self, filename=None, button=True, completion=None,
accel_group=None):
super(SearchBarBox, self).__init__(spacing=6)
if filename is None:
filename = os.path.join(const.USERDIR, "lists", "queries")
combo = ComboBoxEntrySave(filename, count=8,
validator=Query.is_valid_color, title=_("Saved Searches"),
edit_title=_("Edit saved searches..."))
combo.enable_clear_button()
self.__refill_id = None
self.__combo = combo
entry = combo.child
self.__entry = entry
if completion:
entry.set_completion(completion)
self.connect('destroy', lambda w: w.__remove_timeout())
self.__sig = combo.connect('changed', self.__text_changed)
entry.connect('clear', self.__filter_changed)
entry.connect('backspace', self.__text_changed)
entry.connect('populate-popup', self.__menu)
entry.connect('activate', self.__filter_changed)
entry.connect('activate', self.__save_search)
entry.connect('focus-out-event', self.__save_search)
label = gtk.Label(_("_Search:"))
label.set_use_underline(True)
label.connect('mnemonic-activate', self.__mnemonic_activate)
label.set_mnemonic_widget(entry)
self.pack_start(label, expand=False)
self.pack_start(combo)
# search button
if button:
search = Button(_("Search"), gtk.STOCK_FIND,
size=gtk.ICON_SIZE_MENU)
search.connect('clicked', self.__filter_changed)
search.set_tooltip_text(_("Search your library"))
self.pack_start(search, expand=False)
if accel_group:
key, mod = gtk.accelerator_parse("<ctrl>L")
accel_group.connect_group(key, mod, 0,
lambda *x: label.mnemonic_activate(True))
self.show_all()
开发者ID:silkecho,项目名称:glowing-silk,代码行数:53,代码来源:searchbar.py
示例6: __init__
def __init__(self, parent, failures):
if self.is_not_unique():
return
super(PluginErrorWindow, self).__init__()
self.set_title(_("Plugin Errors"))
self.set_border_width(12)
self.set_transient_for(parent)
self.set_default_size(520, 300)
scrolledwin = Gtk.ScrolledWindow()
vbox = Gtk.VBox(spacing=6)
vbox.set_border_width(6)
scrolledwin.set_policy(Gtk.PolicyType.AUTOMATIC,
Gtk.PolicyType.AUTOMATIC)
scrolledwin.add_with_viewport(vbox)
keys = failures.keys()
show_expanded = len(keys) <= 3
for key in sorted(keys):
expander = Gtk.Expander(label="<b>%s</b>" % util.escape(key))
expander.set_use_markup(True)
if show_expanded:
expander.set_expanded(True)
# second line is always the __rescan line; don't show it
message = failures[key][0:1] + failures[key][3:]
failure = Gtk.Label(label=''.join(message).strip())
failure.set_alignment(0, 0)
failure.set_padding(12, 6)
failure.set_selectable(True)
failure.set_line_wrap(True)
vbox.pack_start(expander, False, True, 0)
expander.add(failure)
self.use_header_bar()
if not self.has_close_button():
vbox2 = 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)
vbox2.pack_start(scrolledwin, True, True, 0)
vbox2.pack_start(b, False, True, 0)
self.add(vbox2)
close.grab_focus()
else:
self.add(scrolledwin)
self.get_child().show_all()
开发者ID:virtuald,项目名称:quodlibet,代码行数:53,代码来源:pluginwin.py
示例7: __init__
def __init__(self, parent, path):
title = _("File exists")
fn_format = "<b>%s</b>" % util.escape(fsdecode(path))
description = _("Replace %(file-name)s?") % {"file-name": fn_format}
super(ConfirmFileReplace, self).__init__(
parent, title, description, buttons=Gtk.ButtonsType.NONE)
self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
save_button = Button(_("_Replace File"), "document-save")
save_button.show()
self.add_action_widget(save_button, self.RESPONSE_REPLACE)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:13,代码来源:msg.py
示例8: create_apply_button
def create_apply_button():
vbox = Gtk.VBox(spacing=12)
apply = Button(_("_Apply"))
apply.set_tooltip_text(
_("Apply current configuration to song list, "
"adding new columns to the end"))
apply.connect('clicked', self.__apply, buttons)
# Apply on destroy, else config gets mangled
self.connect('destroy', self.__apply, buttons)
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(apply, True, True, 0)
vbox.pack_start(b, True, True, 0)
return vbox
开发者ID:faubiguy,项目名称:quodlibet,代码行数:14,代码来源:prefs.py
示例9: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_transient_for(qltk.get_top_parent(browser))
self.set_default_size(350, 300)
self.set_border_width(12)
self.set_title(_("Paned Browser Preferences"))
vbox = Gtk.VBox(spacing=12)
column_modes = ColumnModes(browser)
column_mode_frame = qltk.Frame(_("Column layout"), child=column_modes)
editor = PatternEditor()
editor.headers = get_headers()
editor_frame = qltk.Frame(_("Column content"), child=editor)
equal_width = ConfigCheckButton(_("Equal pane width"),
"browsers",
"equal_pane_width",
populate=True)
apply_ = Button(_("_Apply"))
connect_obj(apply_, "clicked", self.__apply, editor,
browser, False, equal_width)
cancel = Button(_("_Cancel"))
cancel.connect("clicked", lambda x: self.destroy())
box = Gtk.HButtonBox()
box.set_spacing(6)
box.set_layout(Gtk.ButtonBoxStyle.EDGE)
box.pack_start(equal_width, True, True, 0)
box.pack_start(apply_, False, False, 0)
self.use_header_bar()
if not self.has_close_button():
box.pack_start(cancel, True, True, 0)
vbox.pack_start(column_mode_frame, False, False, 0)
vbox.pack_start(editor_frame, True, True, 0)
vbox.pack_start(box, False, True, 0)
self.add(vbox)
cancel.grab_focus()
self.get_child().show_all()
开发者ID:zsau,项目名称:quodlibet,代码行数:49,代码来源:prefs.py
示例10: __init__
def __init__(self, parent, plugin_name, count):
title = ngettext("Run the plugin \"%(name)s\" on %(count)d album?",
"Run the plugin \"%(name)s\" on %(count)d albums?",
count) % (plugin_name, count)
super(ConfirmMultiAlbumInvoke, self).__init__(
get_top_parent(parent),
title, "",
buttons=Gtk.ButtonsType.NONE)
self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
delete_button = Button(_("_Run Plugin"), Gtk.STOCK_EXECUTE)
delete_button.show()
self.add_action_widget(delete_button, self.RESPONSE_INVOKE)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:15,代码来源:songsmenu.py
示例11: __init__
def __init__(self, parent):
title = _("Set up library directories?")
description = _("You don't have any music library set up. "
"Would you like to do that now?")
super(ConfirmLibDirSetup, self).__init__(
parent, title, description, buttons=Gtk.ButtonsType.NONE)
cancel_button = Button(_("_Not Now"), Gtk.STOCK_CANCEL)
cancel_button.show()
self.add_action_widget(cancel_button, Gtk.ResponseType.CANCEL)
save_button = Gtk.Button(label=_("_Set Up"), use_underline=True)
save_button.show()
self.add_action_widget(save_button, self.RESPONSE_SETUP)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:15,代码来源:quodlibetwindow.py
示例12: __init__
def __init__(self, parent, song):
title = _("Tag may not be accurate")
fn_format = "<b>%s</b>" % util.escape(fsdecode(song("~basename")))
description = _("%(file-name)s changed while the program was running. "
"Saving without refreshing your library may "
"overwrite other changes to the song.") % {"file-name": fn_format}
super(OverwriteWarning, self).__init__(
parent, title, description, buttons=Gtk.ButtonsType.NONE)
self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
save_button = Button(_("_Save"), "document-save")
save_button.show()
self.add_action_widget(save_button, self.RESPONSE_SAVE)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:16,代码来源:_editutils.py
示例13: __init__
def __init__(self, library):
super(AudioFeeds, self).__init__(spacing=6)
self.set_orientation(Gtk.Orientation.VERTICAL)
self.__view = view = AllTreeView()
self.__render = render = Gtk.CellRendererText()
render.set_property('ellipsize', Pango.EllipsizeMode.END)
col = Gtk.TreeViewColumn("Audio Feeds", render)
col.set_cell_data_func(render, AudioFeeds.cell_data)
view.append_column(col)
view.set_model(self.__feeds)
view.set_rules_hint(True)
view.set_headers_visible(False)
swin = ScrolledWindow()
swin.set_shadow_type(Gtk.ShadowType.IN)
swin.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
swin.add(view)
self.pack_start(swin, True, True, 0)
new = Button(_("_New"), Icons.LIST_ADD, Gtk.IconSize.MENU)
new.connect('clicked', self.__new_feed)
view.get_selection().connect('changed', self.__changed)
view.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
view.connect('popup-menu', self.__popup_menu)
targets = [
("text/uri-list", 0, DND_URI_LIST),
("text/x-moz-url", 0, DND_MOZ_URL)
]
targets = [Gtk.TargetEntry.new(*t) for t in targets]
view.drag_dest_set(Gtk.DestDefaults.ALL, targets, Gdk.DragAction.COPY)
view.connect('drag-data-received', self.__drag_data_received)
view.connect('drag-motion', self.__drag_motion)
view.connect('drag-leave', self.__drag_leave)
connect_obj(self, 'destroy', self.__save, view)
self.pack_start(Align(new, left=3, bottom=3), False, True, 0)
for child in self.get_children():
child.show_all()
开发者ID:zsau,项目名称:quodlibet,代码行数:42,代码来源:audiofeeds.py
示例14: __init__
def __init__(self, parent, paths, description):
title = ngettext(
"Delete %(file_count)d file permanently?",
"Delete %(file_count)d files permanently?",
len(paths)) % {
"file_count": len(paths),
}
super(DeleteDialog, self).__init__(
get_top_parent(parent),
title, description,
buttons=Gtk.ButtonsType.NONE)
area = self.get_message_area()
exp = FileListExpander(paths)
exp.show()
area.pack_start(exp, False, True, 0)
self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
delete_button = Button(_("_Delete Files"), Gtk.STOCK_DELETE)
delete_button.show()
self.add_action_widget(delete_button, self.RESPONSE_DELETE)
self.set_default_response(Gtk.ResponseType.CANCEL)
开发者ID:kriskielce88,项目名称:xn--ls8h,代码行数:23,代码来源:delete.py
示例15: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_transient_for(qltk.get_top_parent(browser))
self.set_default_size(350, 300)
self.set_border_width(12)
self.set_title(_("Paned Browser Preferences"))
vbox = Gtk.VBox(spacing=12)
editor = PatternEditor()
editor.headers = get_headers()
apply_ = Button(_("_Apply"))
connect_obj(apply_, "clicked", self.__apply, editor, browser, False)
cancel = Button(_("_Cancel"))
cancel.connect("clicked", lambda x: self.destroy())
box = Gtk.HButtonBox()
box.set_spacing(6)
box.set_layout(Gtk.ButtonBoxStyle.END)
box.pack_start(apply_, True, True, 0)
self.use_header_bar()
if not self.has_close_button():
box.pack_start(cancel, True, True, 0)
vbox.pack_start(editor, True, True, 0)
vbox.pack_start(box, False, True, 0)
self.add(vbox)
cancel.grab_focus()
self.get_child().show_all()
开发者ID:vrasidas,项目名称:quodlibet,代码行数:37,代码来源:prefs.py
示例16: __init__
def __init__(self, songs):
super(AlbumArtWindow, self).__init__()
self.image_cache = []
self.image_cache_size = 10
self.search_lock = False
self.set_title(_('Album Art Downloader'))
self.set_icon_name(Icons.EDIT_FIND)
self.set_default_size(800, 550)
image = CoverArea(self, songs[0])
self.liststore = Gtk.ListStore(object, object)
self.treeview = treeview = AllTreeView(model=self.liststore)
self.treeview.set_headers_visible(False)
self.treeview.set_rules_hint(True)
targets = [("text/uri-list", 0, 0)]
targets = [Gtk.TargetEntry.new(*t) for t in targets]
treeview.drag_source_set(
Gdk.ModifierType.BUTTON1_MASK, targets, Gdk.DragAction.COPY)
treeselection = self.treeview.get_selection()
treeselection.set_mode(Gtk.SelectionMode.SINGLE)
treeselection.connect('changed', self.__select_callback, image)
self.treeview.connect("drag-data-get",
self.__drag_data_get, treeselection)
rend_pix = Gtk.CellRendererPixbuf()
img_col = Gtk.TreeViewColumn('Thumb')
img_col.pack_start(rend_pix, False)
def cell_data_pb(column, cell, model, iter_, *args):
surface = model[iter_][0]
cell.set_property("surface", surface)
img_col.set_cell_data_func(rend_pix, cell_data_pb, None)
treeview.append_column(img_col)
rend_pix.set_property('xpad', 2)
rend_pix.set_property('ypad', 2)
border_width = self.get_scale_factor() * 2
rend_pix.set_property('width', self.THUMB_SIZE + 4 + border_width)
rend_pix.set_property('height', self.THUMB_SIZE + 4 + border_width)
def escape_data(data):
for rep in ('\n', '\t', '\r', '\v'):
data = data.replace(rep, ' ')
return util.escape(' '.join(data.split()))
def cell_data(column, cell, model, iter, data):
cover = model[iter][1]
esc = escape_data
txt = '<b><i>%s</i></b>' % esc(cover['name'])
txt += "\n<small>%s</small>" % (
_('from %(source)s') % {
"source": util.italic(esc(cover['source']))})
if 'resolution' in cover:
txt += "\n" + _('Resolution: %s') % util.italic(
esc(cover['resolution']))
if 'size' in cover:
txt += "\n" + _('Size: %s') % util.italic(esc(cover['size']))
cell.markup = txt
cell.set_property('markup', cell.markup)
rend = Gtk.CellRendererText()
rend.set_property('ellipsize', Pango.EllipsizeMode.END)
info_col = Gtk.TreeViewColumn('Info', rend)
info_col.set_cell_data_func(rend, cell_data)
treeview.append_column(info_col)
sw_list = Gtk.ScrolledWindow()
sw_list.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
sw_list.set_shadow_type(Gtk.ShadowType.IN)
sw_list.add(treeview)
search_labelraw = Gtk.Label('raw')
search_labelraw.set_alignment(xalign=1.0, yalign=0.5)
self.search_fieldraw = Gtk.Entry()
self.search_fieldraw.connect('activate', self.start_search)
self.search_fieldraw.connect('changed', self.__searchfieldchanged)
search_labelclean = Gtk.Label('clean')
search_labelclean.set_alignment(xalign=1.0, yalign=0.5)
self.search_fieldclean = Gtk.Label()
self.search_fieldclean.set_can_focus(False)
self.search_fieldclean.set_alignment(xalign=0.0, yalign=0.5)
self.search_radioraw = Gtk.RadioButton(group=None, label=None)
self.search_radioraw.connect("toggled", self.__searchtypetoggled,
"raw")
self.search_radioclean = Gtk.RadioButton(group=self.search_radioraw,
label=None)
self.search_radioclean.connect("toggled", self.__searchtypetoggled,
#.........这里部分代码省略.........
开发者ID:zsau,项目名称:quodlibet,代码行数:101,代码来源:albumart.py
示例17: __init__
def __init__(self, parent, library):
super(EditTags, self).__init__(spacing=12)
self.title = _("Edit Tags")
self.set_border_width(12)
model = ObjectStore()
view = RCMHintedTreeView(model=model)
self._view = view
selection = view.get_selection()
render = Gtk.CellRendererPixbuf()
column = TreeViewColumn()
column.pack_start(render, True)
column.set_fixed_width(24)
column.set_expand(False)
def cdf_write(col, rend, model, iter_, *args):
entry = model.get_value(iter_)
rend.set_property('sensitive', entry.edited or entry.deleted)
if entry.canedit or entry.deleted:
if entry.deleted:
rend.set_property('icon-name', Icons.EDIT_DELETE)
else:
rend.set_property('icon-name', Icons.EDIT)
else:
rend.set_property('icon-name', Icons.CHANGES_PREVENT)
column.set_cell_data_func(render, cdf_write)
view.append_column(column)
render = Gtk.CellRendererText()
column = TreeViewColumn(title=_('Tag'))
column.pack_start(render, True)
def cell_data_tag(column, cell, model, iter_, data):
entry = model.get_value(iter_)
cell.set_property("text", entry.tag)
cell.set_property("strikethrough", entry.deleted)
column.set_cell_data_func(render, cell_data_tag)
column.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
render.set_property('editable', True)
render.connect('edited', self.__edit_tag_name, model)
render.connect(
'editing-started', self.__tag_editing_started, model, library)
view.append_column(column)
render = Gtk.CellRendererText()
render.set_property('ellipsize', Pango.EllipsizeMode.END)
render.set_property('editable', True)
render.connect('edited', self.__edit_tag, model)
render.connect(
'editing-started', self.__value_editing_started, model, library)
column = TreeViewColumn(title=_('Value'))
column.pack_start(render, True)
def cell_data_value(column, cell, model, iter_, data):
entry = model.get_value(iter_)
markup = entry.value.get_markup()
cell.markup = markup
cell.set_property("markup", markup)
cell.set_property("editable", entry.canedit)
cell.set_property("strikethrough", entry.deleted)
column.set_cell_data_func(render, cell_data_value)
column.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
view.append_column(column)
sw = Gtk.ScrolledWindow()
sw.set_shadow_type(Gtk.ShadowType.IN)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
sw.add(view)
self.pack_start(sw, True, True, 0)
cb = ConfigCheckButton(
_("Show _programmatic tags"), 'editing', 'alltags', populate=True,
tooltip=_("Access all tags, including machine-generated "
"ones e.g. MusicBrainz or Replay Gain tags"))
cb.connect('toggled', self.__all_tags_toggled)
self.pack_start(cb, False, True, 0)
# Add and Remove [tags] buttons
buttonbox = Gtk.HBox(spacing=18)
bbox1 = Gtk.HButtonBox()
bbox1.set_spacing(6)
bbox1.set_layout(Gtk.ButtonBoxStyle.START)
add = qltk.Button(_("_Add"), Icons.LIST_ADD)
add.set_focus_on_click(False)
self._add = add
add.connect('clicked', self.__add_tag, model, library)
bbox1.pack_start(add, True, True, 0)
# Remove button
remove = qltk.Button(_("_Remove"), Icons.LIST_REMOVE)
remove.set_focus_on_click(False)
remove.connect('clicked', self.__remove_tag, view)
remove.set_sensitive(False)
self._remove = remove
bbox1.pack_start(remove, True, True, 0)
#.........这里部分代码省略.........
开发者ID:piotrdrag,项目名称:quodlibet,代码行数:101,代码来源:edittags.py
示例18: __init__
def __init__(self, library):
super(MediaDevices, self).__init__(spacing=6)
self.set_orientation(Gtk.Orientation.VERTICAL)
self._register_instance()
self.__cache = {}
# Device list on the left pane
swin = ScrolledWindow()
swin.set_shadow_type(Gtk.ShadowType.IN)
swin.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
self.pack_start(swin, True, True, 0)
self.__view = view = AllTreeView()
view.set_model(self.__devices)
view.set_rules_hint(True)
view.set_headers_visible(False)
view.get_selection().set_mode(Gtk.SelectionMode.BROWSE)
connect_obj(view.get_selection(), 'changed', self.__refresh, False)
view.connect('popup-menu', self.__popup_menu, library)
view.connect('row-activated', lambda *a: self.songs_activated())
swin.add(view)
col = Gtk.TreeViewColumn("Devices")
view.append_column(col)
render = Gtk.CellRendererPixbuf()
col.pack_start(render, False)
col.add_attribute(render, 'icon-name', 1)
self.__render = render = Gtk.CellRendererText()
render.set_property('ellipsize', Pango.EllipsizeMode.END)
render.connect('edited', self.__edited)
col.pack_start(render, True)
col.set_cell_data_func(render, MediaDevices.cell_data)
hbox = Gtk.HBox(spacing=6)
hbox.set_homogeneous(True)
self.pack_start(Align(hbox, left=3, bottom=3), False, True, 0)
# refresh button
refresh = Button(_("_Refresh"), Gtk.STOCK_REFRESH, Gtk.IconSize.MENU)
self.__refresh_button = refresh
connect_obj(refresh, 'clicked', self.__refresh, True)
refresh.set_sensitive(False)
hbox.pack_start(refresh, True, True, 0)
# eject button
eject = Button(_("_Eject"), "media-eject", Gtk.IconSize.MENU)
self.__eject_button = eject
eject.connect('clicked', self.__eject)
eject.set_sensitive(False)
hbox.pack_start(eject, True, True, 0)
# Device info on the right pane
self.__header = table = Gtk.Table()
table.set_col_spacings(8)
self.__device_icon = icon = Gtk.Image()
icon.set_size_request(48, 48)
table.attach(icon, 0, 1, 0, 2, 0)
self.__device_name = label = Gtk.Label()
label.set_ellipsize(Pango.EllipsizeMode.END)
label.set_alignment(0, 0)
table.attach(label, 1, 3, 0, 1)
self.__device_space = label = Gtk.Label()
label.set_ellipsize(Pango.EllipsizeMode.END)
label.set_alignment(0, 0.5)
table.attach(label, 1, 2, 1, 2)
self.__progress = progress = Gtk.ProgressBar()
progress.set_size_request(150, -1)
table.attach(progress, 2, 3, 1, 2, xoptions=0, yoptions=0)
self.accelerators = Gtk.AccelGroup()
key, mod = Gtk.accelerator_parse('F2')
self.accelerators.connect(key, mod, 0, self.__rename)
self.__statusbar = WaitLoadBar()
for child in self.get_children():
child.show_all()
开发者ID:Tjorriemorrie,项目名称:quodlibet,代码行数:84,代码来源:media.py
示例19: __init__
def __init__(self):
super(PatternEditor, self).__init__(spacing=6)
self.__headers = headers = {}
buttons = []
group = None
for tags in self.PRESETS:
tied = "~" + "~".join(tags)
group = Gtk.RadioButton(group=group, label="_" + util.tag(tied),
use_underline=True)
headers[group] = tags
buttons.append(group)
group = Gtk.RadioButton(group=group, label=_("_Custom"),
use_underline=True)
self.__custom = group
headers[group] = []
buttons.append(group)
button_box = Gtk.HBox(spacing=6)
self.__model = model = Gtk.ListStore(str)
radio_box = Gtk.VBox(spacing=6)
for button in buttons:
radio_box.pack_start(button, False, True, 0)
button.connect('toggled', self.__toggled, button_box, model)
self.pack_start(radio_box, False, True, 0)
tooltip = _("Tag pattern with optional markup "
"e.g. <tt>composer</tt> or\n<tt>%s</tt>"
% escape(self._COMPLEX_PATTERN_EXAMPLE))
cb = TagsComboBoxEntry(self.COMPLETION, tooltip_markup=tooltip)
view = BaseView(model=model)
view.set_reorderable(True)
view.set_headers_visible(False)
ctrl_box = Gtk.VBox(spacing=6)
add = Button(_("_Add"), Icons.LIST_ADD)
ctrl_box.pack_start(add, False, True, 0)
add.connect('clicked', self.__add, model, cb)
remove = Button(_("_Remove"), Icons.LIST_REMOVE)
ctrl_box.pack_start(remove, False, True, 0)
remove.connect('clicked', self.__remove, view)
selection = view.get_selection()
selection.connect('changed', self.__selection_changed, remove)
selection.emit('changed')
sw = Gtk.ScrolledWindow()
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
sw.set_shadow_type(Gtk.ShadowType.IN)
sw.add(view)
edit_box = Gtk.VBox(spacing=6)
edit_box.pack_start(cb, False, True, 0)
edit_box.pack_start(sw, True, True, 0)
button_box.pack_start(edit_box, True, True, 0)
button_box.pack_start(ctrl_box, False, True, 0)
self.pack_start(button_box, True, True, 0)
render = Gtk.CellRendererText()
render.set_property("editable", True)
def edited_cb(render, path, text, model):
model[path][0] = text
render.connect("edited", edited_cb, model)
column = Gtk.TreeViewColumn(None, render, text=0)
view.append_column(column)
开发者ID:LudoBike,项目名称:quodlibet,代码行数:75,代码来源:prefs.py
示例20: __init__
def __init__(self):
super(PreferencesWindow.SongList, self).__init__(spacing=12)
self.set_border_width(12)
self.title = _("Song List")
# Behaviour
vbox = Gtk.VBox(spacing=6)
c = CCB(_("_Jump to playing song automatically"),
'settings', 'jump', populate=True,
tooltip=_("When the playing song changes, "
"scroll to it in the song list"))
vbox.pack_start(c, False, True, 0)
frame = qltk.Frame(_("Behavior"), child=vbox)
self.pack_start(frame, False, True, 0)
# Columns
vbox = Gtk.VBox(spacing=12)
buttons = {}
table = Gtk.Table.new(3, 3, True)
for i, (k, t) in enumerate(self.PREDEFINED_TAGS):
x, y = i % 3, i / 3
buttons[k] = Gtk.CheckButton(label=t, use_underline=True)
table.attach(buttons[k], x, x + 1, y, y + 1)
vbox.pack_start(table, False, True, 0)
# Other columns
hbox = Gtk.HBox(spacing=6)
l = Gtk.Label(label=_("_Others:"), use_underline=True)
hbox.pack_start(l, False, True, 0)
self.others = others = UndoEntry()
others.set_sensitive(False)
# Stock edit doesn't have ellipsis chars.
edit_button = Gtk.Button(
label=_(u"_Edit…"), use_underline=True)
edit_button.connect("clicked", self.__config_cols, buttons)
edit_button.set_tooltip_text(_("Add or remove additional column "
"headers"))
l.set_mnemonic_widget(edit_button)
l.set_use_underline(True)
hbox.pack_start(others, True, True, 0)
vbox.pack_start(hbox, False, True, 0)
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(edit_button, True, True, 0)
vbox.pack_start(b, True, True, 0)
frame = qltk.Frame(_("Visible Columns"), child=vbox)
self.pack_start(frame, False, True, 0)
# Column preferences
tiv = Gtk.CheckButton(label=_("Title includes _version"),
use_underline=True)
aio = Gtk.CheckButton(label=_("Artist includes all _people"),
use_underline=True)
aip = Gtk.CheckButton(label=_("Album includes _disc subtitle"),
use_underline=True)
fip = Gtk.CheckButton(label=_("Filename includes _folder"),
use_underline=True)
self._toggle_data = [
(tiv, "title", "~title~version"),
(aip, "album", "~album~discsubtitle"),
(fip, "~basename", "~filename"),
(aio, "artist", "~people")
]
self.__update(buttons, self._toggle_data, get_columns())
t = Gtk.Table.new(2, 2, True)
t.attach(tiv, 0, 1, 0, 1)
t.attach(aip, 0, 1, 1, 2)
t.attach(aio, 1, 2, 0, 1)
t.attach(fip, 1, 2, 1, 2)
frame = qltk.Frame(_("Column Preferences"), child=t)
self.pack_start(frame, False, True, 0)
# Apply button
vbox = Gtk.VBox(spacing=12)
apply = Button(_("_Apply"))
apply.set_tooltip_text(_("Apply current configuration to song "
"list, adding new columns to the end"))
b = Gtk.HButtonBox()
b.set_layout(Gtk.ButtonBoxStyle.END)
b.pack_start(apply, True, True, 0)
vbox.pack_start(b, True, True, 0)
self.pack_start(vbox, True, True, 0)
apply.connect('clicked', self.__apply, buttons)
# Apply on destroy, else config gets mangled
self.connect('destroy', self.__apply, buttons)
for child in self.get_children():
child.show_all()
开发者ID:MikeiLL,项目名称:quodlibet,代码行数:92,代码来源:prefs.py
|
请发表评论