本文整理汇总了Python中quodlibet.qltk.ccb.ConfigCheckButton.set_active方法的典型用法代码示例。如果您正苦于以下问题:Python ConfigCheckButton.set_active方法的具体用法?Python ConfigCheckButton.set_active怎么用?Python ConfigCheckButton.set_active使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类quodlibet.qltk.ccb.ConfigCheckButton
的用法示例。
在下文中一共展示了ConfigCheckButton.set_active方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PluginPreferences
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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: test_toggle
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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())
示例3: PluginPreferences
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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
示例4: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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()
示例5: PluginPreferences
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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
示例6: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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()
示例7: PluginPreferences
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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
示例9: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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()
示例10: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
def __init__(self, browser):
if self.is_not_unique():
return
super(Preferences, self).__init__()
self.set_border_width(12)
self.set_title(_("Cover Grid 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)
self.mag_lock = False
box = Gtk.VBox(spacing=6)
vbox = Gtk.VBox(spacing=6)
cb = ConfigCheckButton(
_("Show album _text"), "browsers", "album_text")
cb.set_active(config.getboolean("browsers", "album_text"))
cb.connect('toggled',
lambda s: browser.toggle_text())
vbox.pack_start(cb, False, True, 0)
cb2 = ConfigCheckButton(
_("Show \"All Albums\" Item"), "browsers", "covergrid_all")
cb2.set_active(config.getboolean("browsers", "covergrid_all", False))
cb2.connect('toggled',
lambda s: browser.view.get_model().refilter())
vbox.pack_start(cb2, False, True, 0)
cb3 = ConfigCheckButton(
_("Wide Mode"), "browsers", "covergrid_wide")
cb3.set_active(config.getboolean("browsers",
"covergrid_wide", False))
cb3.connect('toggled',
lambda s: browser.toggle_wide())
vbox.pack_start(cb3, False, True, 0)
# Redraws the covers only when the user releases the slider
def mag_button_press(*_):
self.mag_lock = True
def mag_button_release(mag, _):
self.mag_lock = False
mag_changed(mag)
def mag_changed(mag):
if self.mag_lock:
return
newmag = mag.get_value()
oldmag = config.getfloat("browsers", "covergrid_magnification", 3.)
if newmag == oldmag:
print_d("Covergrid magnification haven't changed: {0}"
.format(newmag))
return
print_d('Covergrid magnification update from {0} to {1}'
.format(oldmag, newmag))
config.set("browsers", "covergrid_magnification", mag.get_value())
browser.update_mag()
mag_scale = Gtk.HScale(
adjustment=Gtk.Adjustment.new(config.getfloat("browsers",
"covergrid_magnification", 3), 0., 10., .5, .5, 0))
mag_scale.set_tooltip_text(_("Cover Magnification"))
l = Gtk.Label(label=_("Cover Magnification"))
mag_scale.set_value_pos(Gtk.PositionType.RIGHT)
mag_scale.connect('button-press-event', mag_button_press)
mag_scale.connect('button-release-event', mag_button_release)
mag_scale.connect('value-changed', mag_changed)
vbox.pack_start(l, False, True, 0)
vbox.pack_start(mag_scale, 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()
示例11: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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)
示例12: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
def __init__(self, activator):
super(Preferences, self).__init__(spacing=12)
self.set_border_width(6)
ccb = ConfigCheckButton(_("Hide main window on close"),
'plugins', 'trayicon_window_hide')
ccb.set_active(get_hide_window())
self.pack_start(ccb, False, True, 0)
combo = Gtk.ComboBoxText()
combo.append_text(_("Scroll wheel adjusts volume\n"
"Shift and scroll wheel changes song"))
combo.append_text(_("Scroll wheel changes song\n"
"Shift and scroll wheel adjusts volume"))
combo.set_active(int(
config.getboolean("plugins", "icon_modifier_swap", False)))
combo.connect('changed', self.__changed_combo)
self.pack_start(qltk.Frame(_("Scroll _Wheel"), child=combo),
True, True, 0)
box = Gtk.VBox(spacing=12)
table = Gtk.Table(n_rows=2, n_columns=4)
table.set_row_spacings(6)
table.set_col_spacings(12)
cbs = []
for i, tag in enumerate([
"genre", "artist", "album", "discnumber", "part",
"tracknumber", "title", "version"]):
cb = Gtk.CheckButton(label=util.tag(tag))
cb.tag = tag
cbs.append(cb)
table.attach(cb, i % 3, i % 3 + 1, i // 3, i // 3 + 1)
box.pack_start(table, True, True, 0)
entry = Gtk.Entry()
box.pack_start(entry, False, True, 0)
preview = Gtk.Label()
preview.set_ellipsize(Pango.EllipsizeMode.END)
ev = Gtk.EventBox()
ev.add(preview)
box.pack_start(ev, False, True, 0)
frame = qltk.Frame(_("Tooltip Display"), child=box)
frame.get_label_widget().set_mnemonic_widget(entry)
self.pack_start(frame, True, True, 0)
for cb in cbs:
cb.connect('toggled', self.__changed_cb, cbs, entry)
entry.connect(
'changed', self.__changed_entry, cbs, preview)
try:
entry.set_text(config.get("plugins", "icon_tooltip"))
except:
entry.set_text(
"<album|<album~discnumber~part~tracknumber~title~version>|"
"<artist~title~version>>")
for child in self.get_children():
child.show_all()
示例13: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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") + " - Quod Libet")
self.set_default_size(420, 380)
self.set_transient_for(qltk.get_top_parent(browser))
# Do this config-driven setup at instance-time
self._EXAMPLE_ALBUM["~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)
vbox = Gtk.VBox(spacing=6)
label = Gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_padding(6, 6)
eb = Gtk.EventBox()
eb.get_style_context().add_class("entry")
eb.add(label)
edit = PatternEditBox(PATTERN)
edit.text = browser._pattern_text
edit.apply.connect('clicked', self.__set_pattern, edit, browser)
connect_obj(
edit.buffer, 'changed', self.__preview_pattern, edit, label)
vbox.pack_start(eb, False, True, 3)
vbox.pack_start(edit, True, True, 0)
self.__preview_pattern(edit, label)
f = qltk.Frame(_("Album Display"), child=vbox)
box.pack_start(f, 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()
示例14: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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(spacing=12)
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)
hb2.pack_start(name_label, True, True, 0)
left.pack_start(hb2, False, True, 0)
b = SmallImageButton(
image=SymbolicIconImage(Icons.EDIT_CLEAR, Gtk.IconSize.MENU))
b.set_tooltip_text(_("Remove all songs from the queue"))
b.connect('clicked', self.__clear_queue)
b.set_no_show_all(True)
b.set_relief(Gtk.ReliefStyle.NONE)
left.pack_start(b, False, False, 0)
self.count_label = count_label = Gtk.Label()
left.pack_start(count_label, False, True, 0)
outer.pack_start(left, True, True, 0)
close_button = SmallImageButton(
image=SymbolicIconImage("window-close", Gtk.IconSize.MENU),
relief=Gtk.ReliefStyle.NONE)
close_button.connect("clicked", lambda *x: self.hide())
outer.pack_start(close_button, False, False, 6)
self.set_label_fill(True)
cb = ConfigCheckButton(
_("_Random"), "memory", "shufflequeue")
cb.connect('toggled', self.__queue_shuffle, self.queue.model)
cb.set_active(config.getboolean("memory", "shufflequeue"))
cb.set_no_show_all(True)
left.pack_start(cb, False, True, 0)
self.set_label_widget(outer)
self.add(sw)
connect_obj(self, 'notify::expanded', self.__expand, cb, b)
targets = [
("text/x-quodlibet-songs", Gtk.TargetFlags.SAME_APP, DND_QL),
("text/uri-list", 0, DND_URI_LIST)
]
targets = [Gtk.TargetEntry.new(*t) for t in targets]
self.drag_dest_set(Gtk.DestDefaults.ALL, targets, Gdk.DragAction.COPY)
self.connect('drag-motion', self.__motion)
self.connect('drag-data-received', self.__drag_data_received)
self.queue.model.connect_after('row-inserted',
util.DeferredSignal(self.__check_expand), count_label)
self.queue.model.connect_after('row-deleted',
util.DeferredSignal(self.__update_count), count_label)
connect_obj(self, 'notify::visible', self.__visible, cb, b)
self.__update_count(self.model, None, count_label)
connect_destroy(
player, 'song-started', self.__update_state_icon, state_icon)
connect_destroy(
player, 'paused', self.__update_state_icon_pause,
state_icon, True)
connect_destroy(
player, 'unpaused', self.__update_state_icon_pause,
state_icon, False)
# 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)
self.set_expanded(config.getboolean("memory", "queue_expanded"))
self.notify("expanded")
for child in self.get_children():
child.show_all()
示例15: __init__
# 需要导入模块: from quodlibet.qltk.ccb import ConfigCheckButton [as 别名]
# 或者: from quodlibet.qltk.ccb.ConfigCheckButton import set_active [as 别名]
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)