def _fill_listbox_font(self, filter_text):
'''
Fill the listbox of fonts to choose from
:param filter_text: The filter text to limit the
fonts listed. Only fonts which
contain the the filter text as
a substring (ignoring case and spaces)
are listed.
:type filter_text: String
'''
if _ARGS.debug:
sys.stdout.write(
'_fill_listbox_font() filter_text = %s\n'
%filter_text)
for child in self._font_popover_scroll.get_children():
self._font_popover_scroll.remove(child)
self._font_popover_listbox = Gtk.ListBox()
self._font_popover_scroll.add(self._font_popover_listbox)
self._font_popover_listbox.set_visible(True)
self._font_popover_listbox.set_vexpand(True)
self._font_popover_listbox.set_selection_mode(Gtk.SelectionMode.SINGLE)
self._font_popover_listbox.set_activate_on_single_click(True)
self._font_popover_listbox.connect(
'row-selected', self.on_font_selected)
fonts = [
font
for font in self._list_font_names()
if filter_text.replace(' ', '').lower()
in font.replace(' ', '').lower()]
for font in fonts:
label = Gtk.Label(font)
label.set_xalign(0)
margin = 1
label.set_margin_start(margin)
label.set_margin_end(margin)
label.set_margin_top(margin)
label.set_margin_bottom(margin)
self._font_popover_listbox.insert(label, -1)
for row in self._font_popover_listbox.get_children():
row.get_style_context().add_class('font')
self._font_popover.show_all()
评论列表
文章目录