def build(self): global model if not model: model = TransactionArray() self.array = model page = gtk.VBox(0, 6) view = red_packageview.PackageView(self.array) self.connect_view(view) self.view = view view.append_action_column(show_action_name=1) view.append_name_column(show_channel_icon=1) view.append_version_column() view.append_size_column() def act_cb(view, i, pkg): red_pendingops.toggle_action_with_cancellation(pkg) view.set_activated_fn(act_cb) scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_IN) scrolled.add(view) page.pack_start(scrolled, expand=1, fill=1) page.show_all() return page
def __init__(self): gtk.ScrolledWindow.__init__(self) self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_IN) global model if not model: model = TransactionArray() view = red_packageview.PackageView(model) view.append_action_column(show_action_name=1, activatable=0) view.append_name_column(show_channel_icon=1) view.show() self.add(view)
def build(self): self.array = red_packagearray.PackagesFromQuery() self.connect_array(self.array) self.__sbox = red_searchbox.SearchBox(system_packages_only=1) def search_cb(sbox, query, filter): self.array.set_query( query, query_msg=_("Searching for matching packages..."), query_filter=filter) self.__sbox.connect("search", search_cb) gtk.idle_add( lambda sbox: search_cb(sbox, sbox.get_query(), sbox.get_filter), self.__sbox) view = red_packageview.PackageView(self.array) self.connect_view(view) self.view = view view.append_action_column() view.append_channel_column(optionally_show_channel_name=1) view.append_locked_column() view.append_name_column() view.append_version_column() scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_IN) scrolled.add(view) scrolled.show_all() self.__sbox.set_widget(scrolled) self.__sbox.show() self.__sbox.try_to_grab_focus() return self.__sbox
def build(self): self.array = red_packagearray.UpdatedPackages() self.connect_array(self.array) self.__built = 0 def updates_changed_cb(array, comp): if not self.__built: return if array.len() == 0: comp.__have_updates.hide() comp.__no_updates.show() self.unselect_all() else: comp.__have_updates.show() comp.__no_updates.hide() self.array.connect_after("changed", updates_changed_cb, self) page = gtk.VBox(0, 6) ### Update All button box = gtk.HButtonBox() box.set_layout(gtk.BUTTONBOX_START) page.pack_start(box, 0, 0) def sensitize_update_all(this, button): sensitive = 0 if not this.array.len() == 0: sensitive = 1 button.set_sensitive(sensitive) update_all = gtk.Button(_("_Update All")) self.array.connect_after("changed", lambda x, y, z: sensitize_update_all(y, z), self, update_all) update_all.connect("clicked", lambda x, y: y.update_all(), self) box.add(update_all) box.show_all() ### Main view = red_packageview.PackageView(self.array) self.connect_view(view) self.view = view view.append_action_column() col = view.append_importance_column() view.append_channel_column(optionally_show_channel_name=1) view.append_name_column() view.append_version_column(column_title=_("New Version")) view.append_current_version_column() view.sort_by(red_packagearray.COLUMN_IMPORTANCE) scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_IN) scrolled.add(view) scrolled.show_all() scrolled.hide() self.__have_updates = scrolled msg1 = "<span size=\"large\"><b>%s</b></span>" \ % _("The system is up-to-date.") msg2 = _( "There are no software updates available in any subscribed catalogs." ) msg = msg1 + "\n" + string.join(rcd_util.linebreak(msg2, width=30), "\n") self.__no_updates = red_emptypage.EmptyPage(pixbuf_name="verify", formatted_text=msg) self.__built = 1 page.pack_start(self.__have_updates, expand=1, fill=1) page.pack_start(self.__no_updates, expand=1, fill=1) # Show a blank updates list by default until we get a changed # signal, even if we don't have any updates, to reduce flicker # at startup in the case where we do actually have updates. self.__have_updates.show() self.__no_updates.hide() return page
def build(self): self.array = red_packagearray.PackagesFromQuery() self.connect_array(self.array) self.__sbox = red_searchbox.SearchBox() def search_cb(sbox, query, filter): self.array.set_query( query, query_msg=_("Searching for matching packages..."), query_filter=filter) self.__sbox.connect("search", search_cb) self.__built = 0 def search_finished_cb(array, comp): if not self.__built: return if array.len() == 0: comp.__have_results.hide() comp.__no_results.show() self.unselect_all() else: comp.__have_results.show() comp.__no_results.hide() self.array.connect_after("changed", search_finished_cb, self) view = red_packageview.PackageView(self.array) self.connect_view(view) self.view = view view.append_action_column() view.append_status_column() view.append_channel_column(optionally_show_channel_name=1) view.append_locked_column() view.append_name_column() view.append_version_column() scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_IN) scrolled.add(view) scrolled.show_all() self.__have_results = scrolled self.__no_results = red_emptypage.EmptyPage( text=_("No matching packages found.")) self.__built = 1 self.__sbox.set_widget(self.__have_results) self.__sbox.set_widget(self.__no_results) self.__have_results.show() self.__no_results.hide() self.__sbox.show() self.__sbox.try_to_grab_focus() return self.__sbox