def __init__(self, item):
super().__init__()
self.set_name('Infobox')
self.set_halign(Gtk.Align.START)
self.set_valign(Gtk.Align.END)
self.set_orientation(Gtk.Orientation.HORIZONTAL)
self.set_margin_left(5)
self.set_margin_bottom(5)
self._weakref = weakref.ref(item)
if self.item.app_info:
name = self.item.app_info.get_display_name()
gicon = self.item.app_info.get_icon()
if gicon:
icon_theme = Gtk.IconTheme.get_default()
icon_info = icon_theme.lookup_by_gicon(
gicon,
16,
Gtk.IconLookupFlags.FORCE_SIZE
)
if icon_info:
pixbuf = icon_info.load_icon()
icon = Gtk.Image()
icon.set_margin_right(5)
icon.set_from_pixbuf(pixbuf)
self.add(icon)
if name:
app_name = Gtk.LinkButton()
app_name.connect('activate-link', self._on_activate_link)
app_name.set_halign(Gtk.Align.START)
app_name.set_name('AppNameLink')
app_name.set_label(name)
self.add(app_name)
style_context = app_name.get_style_context()
style_context.remove_class('text-button')
style_context.remove_class('button')
if self.item.info_string:
label = Gtk.Label()
label.set_margin_left(5)
label.set_halign(Gtk.Align.START)
label.set_markup(INFOSTRING_TEMPLATE % self.item.info_string)
self.add(label)
评论列表
文章目录