def __init__(self): super(SidebarTreeView, self).__init__() self.model = Gtk.TreeStore(str, GdkPixbuf.Pixbuf) self.model_filter = self.model.filter_new() self.model_filter.set_visible_func(self.filter_rule) self.set_model(self.model_filter) column = Gtk.TreeViewColumn("Runners") column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) # Icon icon_renderer = Gtk.CellRendererPixbuf() icon_renderer.set_property('stock-size', 16) column.pack_start(icon_renderer, False) column.add_attribute(icon_renderer, "pixbuf", ICON) # Label text_renderer = Gtk.CellRendererText() column.pack_start(text_renderer, True) column.add_attribute(text_renderer, "text", LABEL) self.append_column(column) self.set_headers_visible(False) self.set_fixed_height_mode(True) self.connect('button-press-event', self.popup_contextual_menu) self.runners = lutris.runners.__all__ self.used_runners = pga.get_used_runners() self.load_all_runners() self.update() self.expand_all()
def update(self): self.used_runners = pga.get_used_runners() self.model_filter.refilter() self.expand_all()