Example #1
0
    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
Example #2
0
    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)
Example #3
0
    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
Example #4
0
    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
Example #5
0
    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