本文整理汇总了Python中quodlibet.qltk.ccb.ConfigCheckButton类的典型用法代码示例。如果您正苦于以下问题:Python ConfigCheckButton类的具体用法?Python ConfigCheckButton怎么用?Python ConfigCheckButton使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigCheckButton类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PluginPreferences
def PluginPreferences(self, parent):
box = Gtk.HBox()
ccb = ConfigCheckButton(_("Hide main window on close"),
'plugins', 'mpris_window_hide')
ccb.set_active(self.__do_hide())
box.pack_start(qltk.Frame(_("Preferences"), child=ccb), True, True, 0)
return box
示例2: PluginPreferences
def PluginPreferences(self, parent):
prefer_lbl = _("Store cover into the directory of song")
prefer_key = 'prefer_song_dir'
grid = Gtk.Grid.new()
prefer_cb = ConfigCheckButton(prefer_lbl, 'albumart', prefer_key)
prefer_cb.set_active(config.getboolean('albumart', prefer_key, False))
grid.attach(prefer_cb, 0, 0, 1, 1)
return grid
示例3: test_populate
def test_populate(self):
# Assert that active state works
config.set("memory", "bar", "on")
c = ConfigCheckButton("dummy", "memory", "bar", populate=True)
while gtk.events_pending(): gtk.main_iteration()
self.failUnless(c.get_active())
# ...and inactive
config.set("memory", "bar", "off")
c = ConfigCheckButton("dummy", "memory", "bar", populate=True)
while gtk.events_pending(): gtk.main_iteration()
self.failIf(c.get_active())
示例4: PluginPreferences
def PluginPreferences(self, win):
items = [
('split_disc', 'Split _disc from album', True),
('tesbtnlub', 'blbla_ sdfsadfsaf asdf', False),
# ('year_only', 'Only use year for "date" tag', False),
]
vb = gtk.VBox()
vb.set_spacing(8)
for key, label, default in items:
ccb = ConfigCheckButton(label, 'plugins', 'discogs_' + key)
ccb.set_active(config_get(key, default))
vb.pack_start(ccb)
return vb
示例5: __init__
def __init__(self):
super(PreferencesWindow.Tagging, self).__init__(spacing=12)
self.set_border_width(12)
self.title = _("Tags")
vbox = gtk.VBox(spacing=6)
cb = ConfigCheckButton(_("Auto-save tag changes"),
'editing', 'auto_save_changes',
populate=True)
cb.set_tooltip_text(_("Save changes to tags without confirmation "
"when editing multiple files"))
vbox.pack_start(cb, expand=False)
cb = ConfigCheckButton(_("Show _programmatic tags"),
'editing', 'alltags', populate=True)
cb.set_tooltip_text(
_("Access all tags, including machine-generated ones "
"e.g. MusicBrainz or Replay Gain tags"))
vbox.pack_start(cb, expand=False)
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"))
l = gtk.Label(_("Split _on:"))
l.set_use_underline(True)
l.set_mnemonic_widget(e)
hb.pack_start(l, expand=False)
hb.pack_start(e)
vbox.pack_start(hb, expand=False)
vb2 = gtk.VBox(spacing=6)
cb = ConfigCheckButton(_("Save ratings and play _counts"),
"editing", "save_to_songs", populate=True)
vb2.pack_start(cb)
hb = gtk.HBox(spacing=6)
lab = gtk.Label(_("_Email:"))
entry = UndoEntry()
entry.set_tooltip_text(_("Ratings and play counts will be set "
"for this email address"))
entry.set_text(config.get("editing", "save_email"))
entry.connect('changed', self.__changed, 'editing', 'save_email')
hb.pack_start(lab, expand=False)
hb.pack_start(entry)
lab.set_mnemonic_widget(entry)
lab.set_use_underline(True)
vb2.pack_start(hb)
f = qltk.Frame(_("Tag Editing"), child=vbox)
self.pack_start(f, expand=False)
f = qltk.Frame(_("Ratings"), child=vb2)
self.pack_start(f, expand=False)
self.show_all()
示例6: test_toggle
def test_toggle(self):
config.set("memory", "bar", "on")
c = ConfigCheckButton("dummy", "memory", "bar")
c.set_active(True)
self.failUnless(config.getboolean("memory", "bar") and c.get_active())
c.set_active(False)
while gtk.events_pending(): gtk.main_iteration()
self.failIf(config.getboolean("memory", "bar") or c.get_active())
示例7: PluginPreferences
def PluginPreferences(self, win):
items = [
('split_disc', _('Split _disc from album'), True),
('split_feat', _('Split _featured performers from track'), False),
('year_only', _('Only use year for "date" tag'), False),
('albumartist', _('Write "_albumartist" when needed'), True),
('artist_sort', _('Write sort tags for artist names'), False),
('standard', _('Write _standard MusicBrainz tags'), True),
('labelid',
_('Write _labelid tag (fixes multi-disc albums)'), True),
]
vb = Gtk.VBox()
vb.set_spacing(8)
for key, label, default in items:
ccb = ConfigCheckButton(label, 'plugins', 'brainz_' + key)
ccb.set_active(config_get(key, default))
vb.pack_start(ccb, True, True, 0)
return vb
示例8: PluginPreferences
def PluginPreferences(self, *args):
self.__init_defaults()
hb = Gtk.HBox(spacing=6)
label = Gtk.Label(label=_("_Theme:"))
combo = Gtk.ComboBoxText()
theme = config.get("plugins", self.CONFIG_THEME, None)
combo.append_text(_("Default Theme"))
themes = self.__get_themes()
select = 0
for i, name in enumerate(sorted(themes)):
combo.append_text(name)
if name == theme:
select = i + 1
combo.set_active(select)
combo.connect('changed', self.__changed)
dark_button = ConfigCheckButton(
_("Prefer dark theme version"),
"plugins", self.CONFIG_DARK,
populate=True, default=self.__get_dark())
def dark_cb(button):
self.__set_dark(button.get_active())
dark_button.connect('toggled', dark_cb)
label.set_mnemonic_widget(combo)
label.set_use_underline(True)
hb.pack_start(label, False, True, 0)
hb.pack_start(combo, False, True, 0)
vbox = Gtk.VBox(spacing=6)
vbox.pack_start(hb, False, True, 0)
vbox.pack_start(dark_button, False, True, 0)
return qltk.Frame(_("Preferences"), child=vbox)
示例9: PluginPreferences
def PluginPreferences(cls, window):
def key_changed(entry):
cls.key_expression = None
cls.config_set(cls._CFG_KEY_KEY, entry.get_text().strip())
vb = Gtk.VBox(spacing=10)
vb.set_border_width(0)
hbox = Gtk.HBox(spacing=6)
# TODO: construct a decent validator and use ValidatingEntry
e = UndoEntry()
e.set_text(cls.get_key_expression())
e.connect("changed", key_changed)
e.set_tooltip_markup(_("Accepts QL tag expressions like "
"<tt>~artist~title</tt> or <tt>musicbrainz_track_id</tt>"))
lbl = Gtk.Label(label=_("_Group duplicates by:"))
lbl.set_mnemonic_widget(e)
lbl.set_use_underline(True)
hbox.pack_start(lbl, False, True, 0)
hbox.pack_start(e, True, True, 0)
frame = qltk.Frame(label=_("Duplicate Key"), child=hbox)
vb.pack_start(frame, True, True, 0)
# Matching Option
toggles = [
(cls._CFG_REMOVE_WHITESPACE, _("Remove _Whitespace")),
(cls._CFG_REMOVE_DIACRITICS, _("Remove _Diacritics")),
(cls._CFG_REMOVE_PUNCTUATION, _("Remove _Punctuation")),
(cls._CFG_CASE_INSENSITIVE, _("Case _Insensitive")),
]
vb2 = Gtk.VBox(spacing=6)
for key, label in toggles:
ccb = ConfigCheckButton(label, 'plugins', cls._config_key(key))
ccb.set_active(cls.config_get_bool(key))
vb2.pack_start(ccb, True, True, 0)
frame = qltk.Frame(label=_("Matching options"), child=vb2)
vb.pack_start(frame, False, True, 0)
vb.show_all()
return vb
示例10: __init__
def __init__(self, parent):
if self.is_not_unique(): return
super(PreferencesWindow, self).__init__()
self.set_title(_("Ex Falso Preferences"))
self.set_border_width(12)
self.set_resizable(False)
self.set_transient_for(parent)
vbox = gtk.VBox(spacing=6)
hb = gtk.HBox(spacing=6)
e = UndoEntry()
e.set_text(config.get("editing", "split_on"))
e.connect('changed', self.__changed, 'editing', 'split_on')
l = gtk.Label(_("Split _on:"))
l.set_use_underline(True)
l.set_mnemonic_widget(e)
hb.pack_start(l, expand=False)
hb.pack_start(e)
cb = ConfigCheckButton(
_("Show _programmatic tags"), 'editing', 'alltags')
cb.set_active(config.getboolean("editing", 'alltags'))
vbox.pack_start(hb, expand=False)
vbox.pack_start(cb, expand=False)
f = qltk.Frame(_("Tag Editing"), child=vbox)
close = gtk.Button(stock=gtk.STOCK_CLOSE)
close.connect_object('clicked', lambda x: x.destroy(), self)
button_box = gtk.HButtonBox()
button_box.set_layout(gtk.BUTTONBOX_END)
button_box.pack_start(close)
main_vbox = gtk.VBox(spacing=12)
main_vbox.pack_start(f)
main_vbox.pack_start(button_box, expand=False)
self.add(main_vbox)
self.connect_object('destroy', PreferencesWindow.__destroy, self)
self.show_all()
示例11: __init__
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Album List Preferences"))
self.set_default_size(420, 380)
self.set_transient_for(qltk.get_top_parent(browser))
# Do this config-driven setup at instance-time
self._PREVIEW_ITEM["~rating"] = format_rating(0.75)
box = Gtk.VBox(spacing=6)
vbox = Gtk.VBox(spacing=6)
cb = ConfigCheckButton(
_("Show album _covers"), "browsers", "album_covers")
cb.set_active(config.getboolean("browsers", "album_covers"))
cb.connect('toggled', lambda s: browser.toggle_covers())
vbox.pack_start(cb, False, True, 0)
cb = ConfigCheckButton(
_("Inline _search includes people"),
"browsers", "album_substrings")
cb.set_active(config.getboolean("browsers", "album_substrings"))
vbox.pack_start(cb, False, True, 0)
f = qltk.Frame(_("Options"), child=vbox)
box.pack_start(f, False, True, 12)
display_frame = self.edit_display_pane(browser, _("Album Display"))
box.pack_start(display_frame, True, True, 0)
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()
示例12: __init__
def __init__(self, parent):
if self.is_not_unique(): return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Album List Preferences") + " - Quod Libet")
self.set_default_size(400, 270)
self.set_transient_for(qltk.get_top_parent(parent))
box = gtk.VBox(spacing=6)
cb = ConfigCheckButton(
_("Show album _covers"), "browsers", "album_covers")
cb.set_active(config.getboolean("browsers", "album_covers"))
gobject_weak(cb.connect, 'toggled', lambda s: AlbumList.toggle_covers())
box.pack_start(cb, expand=False)
cb = ConfigCheckButton(
_("Inline _search includes people"),
"browsers", "album_substrings")
cb.set_active(config.getboolean("browsers", "album_substrings"))
box.pack_start(cb, expand=False)
vbox = gtk.VBox(spacing=6)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
edit = PatternEditBox(PATTERN)
edit.text = AlbumList._pattern_text
gobject_weak(edit.apply.connect, 'clicked', self.__set_pattern, edit)
gobject_weak(edit.buffer.connect_object, 'changed',
self.__preview_pattern, edit, label, parent=edit)
vbox.pack_start(label, expand=False)
vbox.pack_start(edit)
self.__preview_pattern(edit, label)
f = qltk.Frame(_("Album Display"), child=vbox)
box.pack_start(f)
main_box = gtk.VBox(spacing=12)
close = gtk.Button(stock=gtk.STOCK_CLOSE)
close.connect('clicked', lambda *x: self.destroy())
b = gtk.HButtonBox()
b.set_layout(gtk.BUTTONBOX_END)
b.pack_start(close)
main_box.pack_start(box)
main_box.pack_start(b, expand=False)
self.add(main_box)
close.grab_focus()
self.show_all()
示例13: __init__
def __init__(self, songs, title=None):
super(SearchWindow, self).__init__(default_width=800, default_height=400, border_width=12, title=title)
self._thread = AcoustidLookupThread(self.__lookup_cb)
sw = Gtk.ScrolledWindow()
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
sw.set_shadow_type(Gtk.ShadowType.IN)
model = ObjectStore()
self.view = view = ResultView()
view.set_model(model)
self.model = model
self._iter_map = {}
for song in songs:
iter_ = self.model.append([SearchEntry(song)])
self._iter_map[song] = iter_
sw.add(view)
self.pool = pool = FingerPrintPool()
pool.connect("fingerprint-done", self.__fp_done_cb)
pool.connect("fingerprint-error", self.__fp_error_cb)
pool.connect("fingerprint-started", self.__fp_started_cb)
for song in songs:
pool.push(song)
outer_box = Gtk.VBox(spacing=12)
bbox = Gtk.HButtonBox()
bbox.set_layout(Gtk.ButtonBoxStyle.END)
bbox.set_spacing(6)
self.__save = save = Button(_("_Save"), Icons.DOCUMENT_SAVE)
save.connect("clicked", self.__on_save)
save.set_sensitive(False)
cancel = Button(_("_Cancel"))
cancel.connect("clicked", lambda *x: self.destroy())
bbox.pack_start(save, True, True, 0)
bbox.pack_start(cancel, True, True, 0)
inner_box = Gtk.VBox(spacing=6)
inner_box.pack_start(sw, True, True, 0)
ccb = ConfigCheckButton(_("Write MusicBrainz tags"), "plugins", "fingerprint_write_mb_tags")
ccb.set_active(get_write_mb_tags())
inner_box.pack_start(ccb, False, True, 0)
ccb = ConfigCheckButton(_("Group by directory"), "plugins", "fingerprint_group_by_dir")
ccb.set_active(get_group_by_dir())
ccb.connect("toggled", self.__group_toggled)
self._group_ccb = ccb
outer_box.pack_start(inner_box, True, True, 0)
bottom_box = Gtk.HBox(spacing=12)
mode_button = Gtk.ToggleButton(label=_("Album Mode"))
mode_button.set_tooltip_text(
_("Write album related tags and try to " "reduce the number of different album releases")
)
mode_button.set_active(True)
mode_button.connect("toggled", self.__mode_toggle)
bottom_box.pack_start(mode_button, False, True, 0)
bottom_box.pack_start(self._group_ccb, False, True, 0)
bottom_box.pack_start(bbox, True, True, 0)
outer_box.pack_start(bottom_box, False, True, 0)
outer_box.show_all()
self.add(outer_box)
self.__album_mode = True
self.__group_by_dir = True
self._release_scores = {}
self._directory_scores = {}
self.__done = 0
self.connect("destroy", self.__destroy)
示例14: __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)
#.........这里部分代码省略.........
示例15: __init__
def __init__(self, menu, library, player):
super(QueueExpander, self).__init__()
sw = ScrolledWindow()
sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
sw.set_shadow_type(gtk.SHADOW_IN)
self.queue = PlayQueue(library, player)
sw.add(self.queue)
hb = gtk.HBox(spacing=12)
hb2 = gtk.HBox(spacing=3)
state = gtk.image_new_from_stock(
gtk.STOCK_MEDIA_STOP, gtk.ICON_SIZE_MENU)
hb2.pack_start(state)
l = gtk.Label(_("_Queue"))
hb2.pack_start(l)
hb.pack_start(hb2)
l.set_use_underline(True)
clear = gtk.image_new_from_stock(gtk.STOCK_CLEAR, gtk.ICON_SIZE_MENU)
b = gtk.Button()
b.add(clear)
b.set_tooltip_text(_("Remove all songs from the queue"))
b.connect('clicked', self.__clear_queue)
b.hide()
b.set_relief(gtk.RELIEF_NONE)
hb.pack_start(b, expand=False, fill=False)
l2 = gtk.Label()
hb.pack_start(l2)
cb = ConfigCheckButton(
_("_Random"), "memory", "shufflequeue")
cb.connect('toggled', self.__queue_shuffle, self.queue.model)
cb.set_active(config.getboolean("memory", "shufflequeue"))
hb.pack_start(cb)
self.set_label_widget(hb)
self.add(sw)
self.connect_object('notify::expanded', self.__expand, cb, b)
targets = [("text/x-quodlibet-songs", gtk.TARGET_SAME_APP, 1),
("text/uri-list", 0, 2)]
self.drag_dest_set(gtk.DEST_DEFAULT_ALL, targets, gtk.gdk.ACTION_COPY)
self.connect('drag-motion', self.__motion)
self.connect('drag-data-received', self.__drag_data_received)
self.model = self.queue.model
self.show_all()
self.queue.model.connect_after('row-inserted',
util.DeferredSignal(self.__check_expand), l2)
self.queue.model.connect_after('row-deleted',
util.DeferredSignal(self.__update_count), l2)
cb.hide()
self.connect_object('notify::visible', self.__visible, cb, menu, b)
self.__update_count(self.model, None, l2)
player.connect('song-started', self.__update_state_icon, state)
player.connect('paused', self.__update_state_icon_pause,
state, gtk.STOCK_MEDIA_PAUSE)
player.connect('unpaused', self.__update_state_icon_pause,
state, gtk.STOCK_MEDIA_PLAY)
# to make the children clickable if mapped
# ....no idea why, but works
def hack(expander):
label = expander.get_label_widget()
if label:
label.unmap()
label.map()
self.connect("map", hack)