[gnome-software] GsShellExtras: Port to G_DECLARE_FINAL_TYPE macro



commit 0e5785e24a8b5e4ee48ab6354ce3dde1e60f62ad
Author: Kalev Lember <klember redhat com>
Date:   Mon Sep 7 18:37:37 2015 +0200

    GsShellExtras: Port to G_DECLARE_FINAL_TYPE macro

 src/gs-shell-extras.c |  406 +++++++++++++++++++++++--------------------------
 src/gs-shell-extras.h |   29 +---
 2 files changed, 196 insertions(+), 239 deletions(-)
---
diff --git a/src/gs-shell-extras.c b/src/gs-shell-extras.c
index f979179..0659227 100644
--- a/src/gs-shell-extras.c
+++ b/src/gs-shell-extras.c
@@ -47,11 +47,13 @@ typedef struct {
        gchar           *search_filename;
        gchar           *package_filename;
        gchar           *url_not_found;
-       GsShellExtras   *shell_extras;
+       GsShellExtras   *self;
 } SearchData;
 
-struct GsShellExtrasPrivate
+struct _GsShellExtras
 {
+       GsPage                    parent_instance;
+
        GsPluginLoader           *plugin_loader;
        GtkBuilder               *builder;
        GCancellable             *cancellable;
@@ -74,13 +76,13 @@ struct GsShellExtrasPrivate
        GtkWidget                *stack;
 };
 
-G_DEFINE_TYPE_WITH_PRIVATE (GsShellExtras, gs_shell_extras, GS_TYPE_PAGE)
+G_DEFINE_TYPE (GsShellExtras, gs_shell_extras, GS_TYPE_PAGE)
 
 static void
 search_data_free (SearchData *search_data)
 {
-       if (search_data->shell_extras != NULL)
-               g_object_unref (search_data->shell_extras);
+       if (search_data->self != NULL)
+               g_object_unref (search_data->self);
        g_free (search_data->title);
        g_free (search_data->search);
        g_free (search_data->search_filename);
@@ -151,31 +153,30 @@ build_comma_separated_list (gchar **items)
 }
 
 static gchar *
-build_title (GsShellExtras *shell_extras)
+build_title (GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        guint i;
        _cleanup_free_ gchar *titles = NULL;
        _cleanup_ptrarray_unref_ GPtrArray *title_array = NULL;
 
        title_array = g_ptr_array_new ();
-       for (i = 0; i < priv->array_search_data->len; i++) {
+       for (i = 0; i < self->array_search_data->len; i++) {
                SearchData *search_data;
 
-               search_data = g_ptr_array_index (priv->array_search_data, i);
+               search_data = g_ptr_array_index (self->array_search_data, i);
                g_ptr_array_add (title_array, search_data->title);
        }
        g_ptr_array_add (title_array, NULL);
 
        titles = build_comma_separated_list ((gchar **) title_array->pdata);
 
-       switch (shell_extras->priv->mode) {
+       switch (self->mode) {
        case GS_SHELL_EXTRAS_MODE_INSTALL_FONTCONFIG_RESOURCES:
                /* TRANSLATORS: Application window title for fonts installation.
                   %s will be replaced by name of the script we're searching for. */
                return g_strdup_printf (ngettext ("Available fonts for the %s script",
                                                  "Available fonts for the %s scripts",
-                                                 priv->array_search_data->len),
+                                                 self->array_search_data->len),
                                        titles);
                break;
        default:
@@ -183,31 +184,30 @@ build_title (GsShellExtras *shell_extras)
                   %s will be replaced by actual codec name(s) */
                return g_strdup_printf (ngettext ("Available software for %s",
                                                  "Available software for %s",
-                                                 priv->array_search_data->len),
+                                                 self->array_search_data->len),
                                        titles);
                break;
        }
 }
 
 static void
-gs_shell_extras_update_ui_state (GsShellExtras *shell_extras)
+gs_shell_extras_update_ui_state (GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GtkWidget *widget;
        _cleanup_free_ gchar *title = NULL;
 
-       if (gs_shell_get_mode (shell_extras->priv->shell) != GS_SHELL_MODE_EXTRAS)
+       if (gs_shell_get_mode (self->shell) != GS_SHELL_MODE_EXTRAS)
                return;
 
        /* main spinner */
-       switch (priv->state) {
+       switch (self->state) {
        case GS_SHELL_EXTRAS_STATE_LOADING:
-               gs_start_spinner (GTK_SPINNER (priv->spinner));
+               gs_start_spinner (GTK_SPINNER (self->spinner));
                break;
        case GS_SHELL_EXTRAS_STATE_READY:
        case GS_SHELL_EXTRAS_STATE_NO_RESULTS:
        case GS_SHELL_EXTRAS_STATE_FAILED:
-               gs_stop_spinner (GTK_SPINNER (priv->spinner));
+               gs_stop_spinner (GTK_SPINNER (self->spinner));
                break;
        default:
                g_assert_not_reached ();
@@ -215,11 +215,11 @@ gs_shell_extras_update_ui_state (GsShellExtras *shell_extras)
        }
 
        /* headerbar title */
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "application_details_header"));
-       switch (priv->state) {
+       widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "application_details_header"));
+       switch (self->state) {
        case GS_SHELL_EXTRAS_STATE_LOADING:
        case GS_SHELL_EXTRAS_STATE_READY:
-               title = build_title (shell_extras);
+               title = build_title (self);
                gtk_label_set_label (GTK_LABEL (widget), title);
                break;
        case GS_SHELL_EXTRAS_STATE_NO_RESULTS:
@@ -232,18 +232,18 @@ gs_shell_extras_update_ui_state (GsShellExtras *shell_extras)
        }
 
        /* stack */
-       switch (priv->state) {
+       switch (self->state) {
        case GS_SHELL_EXTRAS_STATE_LOADING:
-               gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), "spinner");
+               gtk_stack_set_visible_child_name (GTK_STACK (self->stack), "spinner");
                break;
        case GS_SHELL_EXTRAS_STATE_READY:
-               gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), "results");
+               gtk_stack_set_visible_child_name (GTK_STACK (self->stack), "results");
                break;
        case GS_SHELL_EXTRAS_STATE_NO_RESULTS:
-               gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), "no-results");
+               gtk_stack_set_visible_child_name (GTK_STACK (self->stack), "no-results");
                break;
        case GS_SHELL_EXTRAS_STATE_FAILED:
-               gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), "failed");
+               gtk_stack_set_visible_child_name (GTK_STACK (self->stack), "failed");
                break;
        default:
                g_assert_not_reached ();
@@ -252,44 +252,43 @@ gs_shell_extras_update_ui_state (GsShellExtras *shell_extras)
 }
 
 static void
-gs_shell_extras_set_state (GsShellExtras *shell_extras,
+gs_shell_extras_set_state (GsShellExtras *self,
                            GsShellExtrasState state)
 {
-       shell_extras->priv->state = state;
-       gs_shell_extras_update_ui_state (shell_extras);
+       self->state = state;
+       gs_shell_extras_update_ui_state (self);
 }
 
 static void
 app_row_button_clicked_cb (GsAppRow *app_row,
-                           GsShellExtras *shell_extras)
+                           GsShellExtras *self)
 {
        GsApp *app;
        app = gs_app_row_get_app (app_row);
        if (gs_app_get_state (app) == AS_APP_STATE_AVAILABLE ||
            gs_app_get_state (app) == AS_APP_STATE_AVAILABLE_LOCAL)
-               gs_page_install_app (GS_PAGE (shell_extras), app);
+               gs_page_install_app (GS_PAGE (self), app);
        else if (gs_app_get_state (app) == AS_APP_STATE_INSTALLED)
-               gs_page_remove_app (GS_PAGE (shell_extras), app);
+               gs_page_remove_app (GS_PAGE (self), app);
        else
                g_critical ("extras: app in unexpected state %d", gs_app_get_state (app));
 }
 
 static void
-gs_shell_extras_add_app (GsShellExtras *shell_extras, GsApp *app, SearchData *search_data)
+gs_shell_extras_add_app (GsShellExtras *self, GsApp *app, SearchData *search_data)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GtkWidget *app_row;
        GList *l;
        _cleanup_list_free_ GList *list = NULL;
 
        /* Don't add same app twice */
-       list = gtk_container_get_children (GTK_CONTAINER (priv->list_box_results));
+       list = gtk_container_get_children (GTK_CONTAINER (self->list_box_results));
        for (l = list; l != NULL; l = l->next) {
                GsApp *existing_app;
 
                existing_app = gs_app_row_get_app (GS_APP_ROW (l->data));
                if (app == existing_app)
-                       gtk_container_remove (GTK_CONTAINER (priv->list_box_results),
+                       gtk_container_remove (GTK_CONTAINER (self->list_box_results),
                                              GTK_WIDGET (l->data));
        }
 
@@ -301,19 +300,19 @@ gs_shell_extras_add_app (GsShellExtras *shell_extras, GsApp *app, SearchData *se
 
        g_signal_connect (app_row, "button-clicked",
                          G_CALLBACK (app_row_button_clicked_cb),
-                         shell_extras);
+                         self);
 
-       gtk_container_add (GTK_CONTAINER (priv->list_box_results), app_row);
+       gtk_container_add (GTK_CONTAINER (self->list_box_results), app_row);
        gs_app_row_set_size_groups (GS_APP_ROW (app_row),
-                                   priv->sizegroup_image,
-                                   priv->sizegroup_name);
+                                   self->sizegroup_image,
+                                   self->sizegroup_name);
        gtk_widget_show (app_row);
 }
 
 static GsApp *
 create_missing_app (SearchData *search_data)
 {
-       GsShellExtras *shell_extras = search_data->shell_extras;
+       GsShellExtras *self = search_data->self;
        GsApp *app;
        GString *summary_missing;
        _cleanup_free_ gchar *name = NULL;
@@ -329,7 +328,7 @@ create_missing_app (SearchData *search_data)
        url = g_strdup_printf ("<a href=\"%s\">%s</a>", search_data->url_not_found, _("on the website"));
 
        summary_missing = g_string_new ("");
-       switch (shell_extras->priv->mode) {
+       switch (self->mode) {
        case GS_SHELL_EXTRAS_MODE_INSTALL_PACKAGE_FILES:
                /* TRANSLATORS: this is when we know about an application or
                 * addon, but it can't be listed for some reason */
@@ -433,9 +432,8 @@ create_missing_app (SearchData *search_data)
 }
 
 static gchar *
-build_no_results_label (GsShellExtras *shell_extras)
+build_no_results_label (GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GList *l;
        GsApp *app = NULL;
        guint num;
@@ -444,7 +442,7 @@ build_no_results_label (GsShellExtras *shell_extras)
        _cleanup_list_free_ GList *list = NULL;
        _cleanup_ptrarray_unref_ GPtrArray *array = NULL;
 
-       list = gtk_container_get_children (GTK_CONTAINER (priv->list_box_results));
+       list = gtk_container_get_children (GTK_CONTAINER (self->list_box_results));
        num = g_list_length (list);
 
        g_assert (num > 0);
@@ -472,16 +470,15 @@ build_no_results_label (GsShellExtras *shell_extras)
 }
 
 static void
-show_search_results (GsShellExtras *shell_extras)
+show_search_results (GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GsApp *app;
        GList *l;
        guint n_children;
        guint n_missing;
        _cleanup_list_free_ GList *list = NULL;
 
-       list = gtk_container_get_children (GTK_CONTAINER (priv->list_box_results));
+       list = gtk_container_get_children (GTK_CONTAINER (self->list_box_results));
        n_children = g_list_length (list);
 
        /* count the number of rows with missing codecs */
@@ -498,19 +495,19 @@ show_search_results (GsShellExtras *shell_extras)
 
                /* no results */
                g_debug ("extras: failed to find any results, %d", n_missing);
-               str = build_no_results_label (shell_extras);
-               gtk_label_set_label (GTK_LABEL (priv->label_no_results), str);
-               gs_shell_extras_set_state (shell_extras,
+               str = build_no_results_label (self);
+               gtk_label_set_label (GTK_LABEL (self->label_no_results), str);
+               gs_shell_extras_set_state (self,
                                           GS_SHELL_EXTRAS_STATE_NO_RESULTS);
        } else if (n_children == 1) {
                /* switch directly to details view */
                g_debug ("extras: found one result, showing in details view");
                app = gs_app_row_get_app (GS_APP_ROW (list->data));
-               gs_shell_change_mode (priv->shell, GS_SHELL_MODE_DETAILS, app, NULL, TRUE);
+               gs_shell_change_mode (self->shell, GS_SHELL_MODE_DETAILS, app, NULL, TRUE);
        } else {
                /* show what we got */
                g_debug ("extras: got %d search results, showing", n_children);
-               gs_shell_extras_set_state (shell_extras,
+               gs_shell_extras_set_state (self,
                                           GS_SHELL_EXTRAS_STATE_READY);
        }
 }
@@ -521,8 +518,7 @@ search_files_cb (GObject *source_object,
                  gpointer user_data)
 {
        SearchData *search_data = (SearchData *) user_data;
-       GsShellExtras *shell_extras = search_data->shell_extras;
-       GsShellExtrasPrivate *priv = shell_extras->priv;
+       GsShellExtras *self = search_data->self;
        _cleanup_plugin_list_free_ GList *list = NULL;
        GList *l;
        GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
@@ -547,8 +543,8 @@ search_files_cb (GObject *source_object,
 
                        g_warning ("failed to find any search results: %s", error->message);
                        str = g_strdup_printf ("%s: %s", _("Failed to find any search results"), 
error->message);
-                       gtk_label_set_label (GTK_LABEL (priv->label_failed), str);
-                       gs_shell_extras_set_state (shell_extras,
+                       gtk_label_set_label (GTK_LABEL (self->label_failed), str);
+                       gs_shell_extras_set_state (self,
                                                    GS_SHELL_EXTRAS_STATE_FAILED);
                        return;
                }
@@ -558,14 +554,14 @@ search_files_cb (GObject *source_object,
                GsApp *app = GS_APP (l->data);
 
                g_debug ("%s\n\n", gs_app_to_string (app));
-               gs_shell_extras_add_app (shell_extras, app, search_data);
+               gs_shell_extras_add_app (self, app, search_data);
        }
 
-       priv->pending_search_cnt--;
+       self->pending_search_cnt--;
 
        /* have all searches finished? */
-       if (priv->pending_search_cnt == 0)
-               show_search_results (shell_extras);
+       if (self->pending_search_cnt == 0)
+               show_search_results (self);
 }
 
 static void
@@ -574,8 +570,7 @@ filename_to_app_cb (GObject *source_object,
                     gpointer user_data)
 {
        SearchData *search_data = (SearchData *) user_data;
-       GsShellExtras *shell_extras = search_data->shell_extras;
-       GsShellExtrasPrivate *priv = shell_extras->priv;
+       GsShellExtras *self = search_data->self;
        GsApp *app;
        GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
        _cleanup_error_free_ GError *error = NULL;
@@ -596,21 +591,21 @@ filename_to_app_cb (GObject *source_object,
 
                        g_warning ("failed to find any search results: %s", error->message);
                        str = g_strdup_printf ("%s: %s", _("Failed to find any search results"), 
error->message);
-                       gtk_label_set_label (GTK_LABEL (priv->label_failed), str);
-                       gs_shell_extras_set_state (shell_extras,
+                       gtk_label_set_label (GTK_LABEL (self->label_failed), str);
+                       gs_shell_extras_set_state (self,
                                                    GS_SHELL_EXTRAS_STATE_FAILED);
                        return;
                }
        }
 
        g_debug ("%s\n\n", gs_app_to_string (app));
-       gs_shell_extras_add_app (shell_extras, app, search_data);
+       gs_shell_extras_add_app (self, app, search_data);
 
-       priv->pending_search_cnt--;
+       self->pending_search_cnt--;
 
        /* have all searches finished? */
-       if (priv->pending_search_cnt == 0)
-               show_search_results (shell_extras);
+       if (self->pending_search_cnt == 0)
+               show_search_results (self);
 
        g_object_unref (app);
 }
@@ -621,8 +616,7 @@ get_search_what_provides_cb (GObject *source_object,
                              gpointer user_data)
 {
        SearchData *search_data = (SearchData *) user_data;
-       GsShellExtras *shell_extras = search_data->shell_extras;
-       GsShellExtrasPrivate *priv = shell_extras->priv;
+       GsShellExtras *self = search_data->self;
        _cleanup_plugin_list_free_ GList *list = NULL;
        GList *l;
        GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
@@ -647,8 +641,8 @@ get_search_what_provides_cb (GObject *source_object,
 
                        g_warning ("failed to find any search results: %s", error->message);
                        str = g_strdup_printf ("%s: %s", _("Failed to find any search results"), 
error->message);
-                       gtk_label_set_label (GTK_LABEL (priv->label_failed), str);
-                       gs_shell_extras_set_state (shell_extras,
+                       gtk_label_set_label (GTK_LABEL (self->label_failed), str);
+                       gs_shell_extras_set_state (self,
                                                    GS_SHELL_EXTRAS_STATE_FAILED);
                        return;
                }
@@ -658,73 +652,72 @@ get_search_what_provides_cb (GObject *source_object,
                GsApp *app = GS_APP (l->data);
 
                g_debug ("%s\n\n", gs_app_to_string (app));
-               gs_shell_extras_add_app (shell_extras, app, search_data);
+               gs_shell_extras_add_app (self, app, search_data);
        }
 
-       priv->pending_search_cnt--;
+       self->pending_search_cnt--;
 
        /* have all searches finished? */
-       if (priv->pending_search_cnt == 0)
-               show_search_results (shell_extras);
+       if (self->pending_search_cnt == 0)
+               show_search_results (self);
 }
 
 static void
-gs_shell_extras_load (GsShellExtras *shell_extras, GPtrArray *array_search_data)
+gs_shell_extras_load (GsShellExtras *self, GPtrArray *array_search_data)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        guint i;
 
        /* cancel any pending searches */
-       if (priv->search_cancellable != NULL) {
-               g_cancellable_cancel (priv->search_cancellable);
-               g_object_unref (priv->search_cancellable);
+       if (self->search_cancellable != NULL) {
+               g_cancellable_cancel (self->search_cancellable);
+               g_object_unref (self->search_cancellable);
        }
-       priv->search_cancellable = g_cancellable_new ();
+       self->search_cancellable = g_cancellable_new ();
 
        if (array_search_data != NULL) {
-               if (priv->array_search_data != NULL)
-                       g_ptr_array_unref (priv->array_search_data);
-               priv->array_search_data = g_ptr_array_ref (array_search_data);
+               if (self->array_search_data != NULL)
+                       g_ptr_array_unref (self->array_search_data);
+               self->array_search_data = g_ptr_array_ref (array_search_data);
        }
 
-       priv->pending_search_cnt = 0;
+       self->pending_search_cnt = 0;
 
        /* remove old entries */
-       gs_container_remove_all (GTK_CONTAINER (priv->list_box_results));
+       gs_container_remove_all (GTK_CONTAINER (self->list_box_results));
 
        /* set state as loading */
-       priv->state = GS_SHELL_EXTRAS_STATE_LOADING;
+       self->state = GS_SHELL_EXTRAS_STATE_LOADING;
 
        /* start new searches, separate one for each codec */
-       for (i = 0; i < priv->array_search_data->len; i++) {
+       for (i = 0; i < self->array_search_data->len; i++) {
                SearchData *search_data;
 
-               search_data = g_ptr_array_index (priv->array_search_data, i);
+               search_data = g_ptr_array_index (self->array_search_data, i);
                if (search_data->search_filename != NULL) {
                        g_debug ("searching filename: '%s'", search_data->search_filename);
-                       gs_plugin_loader_search_files_async (priv->plugin_loader,
+                       gs_plugin_loader_search_files_async (self->plugin_loader,
                                                             search_data->search_filename,
                                                             GS_PLUGIN_REFINE_FLAGS_DEFAULT |
                                                             GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING |
                                                             GS_PLUGIN_REFINE_FLAGS_ALLOW_PACKAGES |
                                                             GS_PLUGIN_REFINE_FLAGS_ALLOW_NO_APPDATA,
-                                                            priv->search_cancellable,
+                                                            self->search_cancellable,
                                                             search_files_cb,
                                                             search_data);
                } else if (search_data->package_filename != NULL) {
                        g_debug ("resolving filename to app: '%s'", search_data->package_filename);
-                       gs_plugin_loader_filename_to_app_async (priv->plugin_loader,
+                       gs_plugin_loader_filename_to_app_async (self->plugin_loader,
                                                                search_data->package_filename,
                                                                GS_PLUGIN_REFINE_FLAGS_DEFAULT |
                                                                GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING |
                                                                GS_PLUGIN_REFINE_FLAGS_ALLOW_PACKAGES |
                                                                GS_PLUGIN_REFINE_FLAGS_ALLOW_NO_APPDATA,
-                                                               priv->search_cancellable,
+                                                               self->search_cancellable,
                                                                filename_to_app_cb,
                                                                search_data);
                } else {
                        g_debug ("searching what provides: '%s'", search_data->search);
-                       gs_plugin_loader_search_what_provides_async (priv->plugin_loader,
+                       gs_plugin_loader_search_what_provides_async (self->plugin_loader,
                                                                     search_data->search,
                                                                     GS_PLUGIN_REFINE_FLAGS_DEFAULT |
                                                                     GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION |
@@ -734,27 +727,24 @@ gs_shell_extras_load (GsShellExtras *shell_extras, GPtrArray *array_search_data)
                                                                     GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING |
                                                                     GS_PLUGIN_REFINE_FLAGS_ALLOW_PACKAGES |
                                                                     GS_PLUGIN_REFINE_FLAGS_ALLOW_NO_APPDATA,
-                                                                    priv->search_cancellable,
+                                                                    self->search_cancellable,
                                                                     get_search_what_provides_cb,
                                                                     search_data);
                }
-               priv->pending_search_cnt++;
+               self->pending_search_cnt++;
        }
 }
 
 void
-gs_shell_extras_reload (GsShellExtras *shell_extras)
+gs_shell_extras_reload (GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
-
-       if (priv->array_search_data != NULL)
-               gs_shell_extras_load (shell_extras, NULL);
+       if (self->array_search_data != NULL)
+               gs_shell_extras_load (self, NULL);
 }
 
 static void
-gs_shell_extras_search_package_files (GsShellExtras *shell_extras, gchar **files)
+gs_shell_extras_search_package_files (GsShellExtras *self, gchar **files)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -764,18 +754,17 @@ gs_shell_extras_search_package_files (GsShellExtras *shell_extras, gchar **files
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup (files[i]);
                search_data->package_filename = g_strdup (files[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_provide_files (GsShellExtras *shell_extras, gchar **files)
+gs_shell_extras_search_provide_files (GsShellExtras *self, gchar **files)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -785,18 +774,17 @@ gs_shell_extras_search_provide_files (GsShellExtras *shell_extras, gchar **files
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup (files[i]);
                search_data->search_filename = g_strdup (files[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_package_names (GsShellExtras *shell_extras, gchar **package_names)
+gs_shell_extras_search_package_names (GsShellExtras *self, gchar **package_names)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -806,18 +794,17 @@ gs_shell_extras_search_package_names (GsShellExtras *shell_extras, gchar **packa
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup (package_names[i]);
                search_data->search = g_strdup (package_names[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_mime_types (GsShellExtras *shell_extras, gchar **mime_types)
+gs_shell_extras_search_mime_types (GsShellExtras *self, gchar **mime_types)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -827,12 +814,12 @@ gs_shell_extras_search_mime_types (GsShellExtras *shell_extras, gchar **mime_typ
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup_printf (_("%s file format"), mime_types[i]);
                search_data->search = g_strdup (mime_types[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_MIME);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_MIME);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static gchar *
@@ -845,9 +832,8 @@ font_tag_to_lang (const gchar *tag)
 }
 
 static gchar *
-gs_shell_extras_font_tag_to_localised_name (GsShellExtras *shell_extras, const gchar *tag)
+gs_shell_extras_font_tag_to_localised_name (GsShellExtras *self, const gchar *tag)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        gchar *name;
        _cleanup_free_ gchar *lang = NULL;
        _cleanup_free_ gchar *language = NULL;
@@ -860,7 +846,7 @@ gs_shell_extras_font_tag_to_localised_name (GsShellExtras *shell_extras, const g
        }
 
        /* convert to localisable name */
-       language = gs_language_iso639_to_language (priv->language, lang);
+       language = gs_language_iso639_to_language (self->language, lang);
        if (language == NULL) {
                g_warning ("Could not match language code '%s' to an ISO639 language", lang);
                return NULL;
@@ -875,9 +861,8 @@ gs_shell_extras_font_tag_to_localised_name (GsShellExtras *shell_extras, const g
 }
 
 static void
-gs_shell_extras_search_fontconfig_resources (GsShellExtras *shell_extras, gchar **resources)
+gs_shell_extras_search_fontconfig_resources (GsShellExtras *self, gchar **resources)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -885,20 +870,19 @@ gs_shell_extras_search_fontconfig_resources (GsShellExtras *shell_extras, gchar
                SearchData *search_data;
 
                search_data = g_slice_new0 (SearchData);
-               search_data->title = gs_shell_extras_font_tag_to_localised_name (shell_extras, resources[i]);
+               search_data->title = gs_shell_extras_font_tag_to_localised_name (self, resources[i]);
                search_data->search = g_strdup (resources[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_FONT);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_FONT);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_gstreamer_resources (GsShellExtras *shell_extras, gchar **resources)
+gs_shell_extras_search_gstreamer_resources (GsShellExtras *self, gchar **resources)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -911,18 +895,17 @@ gs_shell_extras_search_gstreamer_resources (GsShellExtras *shell_extras, gchar *
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup (parts[0]);
                search_data->search = g_strdup (parts[1]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_CODEC);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_CODEC);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_plasma_resources (GsShellExtras *shell_extras, gchar **resources)
+gs_shell_extras_search_plasma_resources (GsShellExtras *self, gchar **resources)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i;
 
@@ -932,18 +915,17 @@ gs_shell_extras_search_plasma_resources (GsShellExtras *shell_extras, gchar **re
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup (resources[i]);
                search_data->search = g_strdup (resources[i]);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_DEFAULT);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 static void
-gs_shell_extras_search_printer_drivers (GsShellExtras *shell_extras, gchar **device_ids)
+gs_shell_extras_search_printer_drivers (GsShellExtras *self, gchar **device_ids)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        _cleanup_ptrarray_unref_ GPtrArray *array_search_data = g_ptr_array_new_with_free_func 
((GDestroyNotify) search_data_free);
        guint i, j;
        guint len;
@@ -989,46 +971,44 @@ gs_shell_extras_search_printer_drivers (GsShellExtras *shell_extras, gchar **dev
                search_data = g_slice_new0 (SearchData);
                search_data->title = g_strdup_printf ("%s %s", mfg, mdl);
                search_data->search = g_ascii_strdown (tag, -1);
-               search_data->url_not_found = gs_vendor_get_not_found_url (priv->vendor, 
GS_VENDOR_URL_TYPE_HARDWARE);
-               search_data->shell_extras = g_object_ref (shell_extras);
+               search_data->url_not_found = gs_vendor_get_not_found_url (self->vendor, 
GS_VENDOR_URL_TYPE_HARDWARE);
+               search_data->self = g_object_ref (self);
                g_ptr_array_add (array_search_data, search_data);
        }
 
-       gs_shell_extras_load (shell_extras, array_search_data);
+       gs_shell_extras_load (self, array_search_data);
 }
 
 void
-gs_shell_extras_search (GsShellExtras  *shell_extras,
+gs_shell_extras_search (GsShellExtras  *self,
                         const gchar    *mode_str,
                         gchar         **resources)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
-
-       priv->mode = gs_shell_extras_mode_from_string (mode_str);
-       switch (priv->mode) {
+       self->mode = gs_shell_extras_mode_from_string (mode_str);
+       switch (self->mode) {
        case GS_SHELL_EXTRAS_MODE_INSTALL_PACKAGE_FILES:
-               gs_shell_extras_search_package_files (shell_extras, resources);
+               gs_shell_extras_search_package_files (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_PROVIDE_FILES:
-               gs_shell_extras_search_provide_files (shell_extras, resources);
+               gs_shell_extras_search_provide_files (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_PACKAGE_NAMES:
-               gs_shell_extras_search_package_names (shell_extras, resources);
+               gs_shell_extras_search_package_names (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_MIME_TYPES:
-               gs_shell_extras_search_mime_types (shell_extras, resources);
+               gs_shell_extras_search_mime_types (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_FONTCONFIG_RESOURCES:
-               gs_shell_extras_search_fontconfig_resources (shell_extras, resources);
+               gs_shell_extras_search_fontconfig_resources (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_GSTREAMER_RESOURCES:
-               gs_shell_extras_search_gstreamer_resources (shell_extras, resources);
+               gs_shell_extras_search_gstreamer_resources (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_PLASMA_RESOURCES:
-               gs_shell_extras_search_plasma_resources (shell_extras, resources);
+               gs_shell_extras_search_plasma_resources (self, resources);
                break;
        case GS_SHELL_EXTRAS_MODE_INSTALL_PRINTER_DRIVERS:
-               gs_shell_extras_search_printer_drivers (shell_extras, resources);
+               gs_shell_extras_search_printer_drivers (self, resources);
                break;
        default:
                g_assert_not_reached ();
@@ -1037,36 +1017,34 @@ gs_shell_extras_search (GsShellExtras  *shell_extras,
 }
 
 void
-gs_shell_extras_switch_to (GsShellExtras *shell_extras,
+gs_shell_extras_switch_to (GsShellExtras *self,
                            gboolean scroll_up)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GtkWidget *widget;
 
-       if (gs_shell_get_mode (priv->shell) != GS_SHELL_MODE_EXTRAS) {
+       if (gs_shell_get_mode (self->shell) != GS_SHELL_MODE_EXTRAS) {
                g_warning ("Called switch_to(codecs) when in mode %s",
-                          gs_shell_get_mode_string (priv->shell));
+                          gs_shell_get_mode_string (self->shell));
                return;
        }
 
-       widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "application_details_header"));
+       widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "application_details_header"));
        gtk_widget_show (widget);
 
        if (scroll_up) {
                GtkAdjustment *adj;
-               adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->scrolledwindow));
+               adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->scrolledwindow));
                gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj));
        }
 
-       gs_shell_extras_update_ui_state (shell_extras);
+       gs_shell_extras_update_ui_state (self);
 }
 
 static void
 row_activated_cb (GtkListBox *list_box,
                   GtkListBoxRow *row,
-                  GsShellExtras *shell_extras)
+                  GsShellExtras *self)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
        GsApp *app;
 
        app = gs_app_row_get_app (GS_APP_ROW (row));
@@ -1075,7 +1053,7 @@ row_activated_cb (GtkListBox *list_box,
            gs_app_get_url (app, AS_URL_KIND_MISSING) != NULL) {
                gs_app_show_url (app, AS_URL_KIND_MISSING);
        } else {
-               gs_shell_show_app (priv->shell, app);
+               gs_shell_show_app (self->shell, app);
        }
 }
 
@@ -1140,33 +1118,31 @@ list_header_func (GtkListBoxRow *row,
 }
 
 void
-gs_shell_extras_setup (GsShellExtras *shell_extras,
+gs_shell_extras_setup (GsShellExtras *self,
                        GsShell *shell,
                        GsPluginLoader *plugin_loader,
                        GtkBuilder *builder,
                        GCancellable *cancellable)
 {
-       GsShellExtrasPrivate *priv = shell_extras->priv;
-
-       g_return_if_fail (GS_IS_SHELL_EXTRAS (shell_extras));
+       g_return_if_fail (GS_IS_SHELL_EXTRAS (self));
 
-       priv->shell = shell;
+       self->shell = shell;
 
-       priv->plugin_loader = g_object_ref (plugin_loader);
-       priv->builder = g_object_ref (builder);
-       priv->cancellable = g_object_ref (cancellable);
+       self->plugin_loader = g_object_ref (plugin_loader);
+       self->builder = g_object_ref (builder);
+       self->cancellable = g_object_ref (cancellable);
 
-       g_signal_connect (priv->list_box_results, "row-activated",
-                         G_CALLBACK (row_activated_cb), shell_extras);
-       gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list_box_results),
+       g_signal_connect (self->list_box_results, "row-activated",
+                         G_CALLBACK (row_activated_cb), self);
+       gtk_list_box_set_header_func (GTK_LIST_BOX (self->list_box_results),
                                      list_header_func,
-                                     shell_extras, NULL);
-       gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list_box_results),
+                                     self, NULL);
+       gtk_list_box_set_sort_func (GTK_LIST_BOX (self->list_box_results),
                                    list_sort_func,
-                                   shell_extras, NULL);
+                                   self, NULL);
 
        /* chain up */
-       gs_page_setup (GS_PAGE (shell_extras),
+       gs_page_setup (GS_PAGE (self),
                       shell,
                       plugin_loader,
                       cancellable);
@@ -1175,43 +1151,41 @@ gs_shell_extras_setup (GsShellExtras *shell_extras,
 static void
 gs_shell_extras_dispose (GObject *object)
 {
-       GsShellExtras *shell_extras = GS_SHELL_EXTRAS (object);
-       GsShellExtrasPrivate *priv = shell_extras->priv;
+       GsShellExtras *self = GS_SHELL_EXTRAS (object);
 
-       if (priv->search_cancellable != NULL) {
-               g_cancellable_cancel (priv->search_cancellable);
-               g_clear_object (&priv->search_cancellable);
+       if (self->search_cancellable != NULL) {
+               g_cancellable_cancel (self->search_cancellable);
+               g_clear_object (&self->search_cancellable);
        }
 
-       g_clear_object (&priv->sizegroup_image);
-       g_clear_object (&priv->sizegroup_name);
-       g_clear_object (&priv->language);
-       g_clear_object (&priv->vendor);
-       g_clear_object (&priv->builder);
-       g_clear_object (&priv->plugin_loader);
-       g_clear_object (&priv->cancellable);
+       g_clear_object (&self->sizegroup_image);
+       g_clear_object (&self->sizegroup_name);
+       g_clear_object (&self->language);
+       g_clear_object (&self->vendor);
+       g_clear_object (&self->builder);
+       g_clear_object (&self->plugin_loader);
+       g_clear_object (&self->cancellable);
 
-       g_clear_pointer (&priv->array_search_data, g_ptr_array_unref);
+       g_clear_pointer (&self->array_search_data, g_ptr_array_unref);
 
        G_OBJECT_CLASS (gs_shell_extras_parent_class)->dispose (object);
 }
 
 static void
-gs_shell_extras_init (GsShellExtras *shell_extras)
+gs_shell_extras_init (GsShellExtras *self)
 {
        _cleanup_error_free_ GError *error = NULL;
 
-       gtk_widget_init_template (GTK_WIDGET (shell_extras));
+       gtk_widget_init_template (GTK_WIDGET (self));
 
-       shell_extras->priv = gs_shell_extras_get_instance_private (shell_extras);
-       shell_extras->priv->state = GS_SHELL_EXTRAS_STATE_LOADING;
-       shell_extras->priv->sizegroup_image = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-       shell_extras->priv->sizegroup_name = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-       shell_extras->priv->vendor = gs_vendor_new ();
+       self->state = GS_SHELL_EXTRAS_STATE_LOADING;
+       self->sizegroup_image = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+       self->sizegroup_name = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+       self->vendor = gs_vendor_new ();
 
        /* map ISO639 to language names */
-       shell_extras->priv->language = gs_language_new ();
-       gs_language_populate (shell_extras->priv->language, &error);
+       self->language = gs_language_new ();
+       gs_language_populate (self->language, &error);
        if (error != NULL)
                g_error ("Failed to map ISO639 to language names: %s", error->message);
 }
@@ -1226,20 +1200,20 @@ gs_shell_extras_class_init (GsShellExtrasClass *klass)
 
        gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Software/gs-shell-extras.ui");
 
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, label_failed);
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, label_no_results);
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, list_box_results);
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, scrolledwindow);
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, spinner);
-       gtk_widget_class_bind_template_child_private (widget_class, GsShellExtras, stack);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, label_failed);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, label_no_results);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, list_box_results);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, scrolledwindow);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, spinner);
+       gtk_widget_class_bind_template_child (widget_class, GsShellExtras, stack);
 }
 
 GsShellExtras *
 gs_shell_extras_new (void)
 {
-       GsShellExtras *shell_extras;
-       shell_extras = g_object_new (GS_TYPE_SHELL_EXTRAS, NULL);
-       return GS_SHELL_EXTRAS (shell_extras);
+       GsShellExtras *self;
+       self = g_object_new (GS_TYPE_SHELL_EXTRAS, NULL);
+       return GS_SHELL_EXTRAS (self);
 }
 
 /* vim: set noexpandtab: */
diff --git a/src/gs-shell-extras.h b/src/gs-shell-extras.h
index 95f9048..6ed674d 100644
--- a/src/gs-shell-extras.h
+++ b/src/gs-shell-extras.h
@@ -31,25 +31,9 @@
 
 G_BEGIN_DECLS
 
-#define GS_TYPE_SHELL_EXTRAS           (gs_shell_extras_get_type ())
-#define GS_SHELL_EXTRAS(o)             (G_TYPE_CHECK_INSTANCE_CAST ((o), GS_TYPE_SHELL_EXTRAS, 
GsShellExtras))
-#define GS_SHELL_EXTRAS_CLASS(k)       (G_TYPE_CHECK_CLASS_CAST((k), GS_TYPE_SHELL_EXTRAS, 
GsShellExtrasClass))
-#define GS_IS_SHELL_EXTRAS(o)          (G_TYPE_CHECK_INSTANCE_TYPE ((o), GS_TYPE_SHELL_EXTRAS))
-#define GS_IS_SHELL_EXTRAS_CLASS(k)    (G_TYPE_CHECK_CLASS_TYPE ((k), GS_TYPE_SHELL_EXTRAS))
-#define GS_SHELL_EXTRAS_GET_CLASS(o)   (G_TYPE_INSTANCE_GET_CLASS ((o), GS_TYPE_SHELL_EXTRAS, 
GsShellExtrasClass))
+#define GS_TYPE_SHELL_EXTRAS (gs_shell_extras_get_type ())
 
-typedef struct GsShellExtrasPrivate GsShellExtrasPrivate;
-
-typedef struct
-{
-        GsPage                  parent;
-        GsShellExtrasPrivate   *priv;
-} GsShellExtras;
-
-typedef struct
-{
-       GsPageClass              parent_class;
-} GsShellExtrasClass;
+G_DECLARE_FINAL_TYPE (GsShellExtras, gs_shell_extras, GS, SHELL_EXTRAS, GsPage)
 
 typedef enum {
        GS_SHELL_EXTRAS_MODE_UNKNOWN,
@@ -65,15 +49,14 @@ typedef enum {
 } GsShellExtrasMode;
 
 const gchar            *gs_shell_extras_mode_to_string         (GsShellExtrasMode        mode);
-GType                   gs_shell_extras_get_type               (void);
 GsShellExtras          *gs_shell_extras_new                    (void);
-void                    gs_shell_extras_search                 (GsShellExtras           *shell_extras,
+void                    gs_shell_extras_search                 (GsShellExtras           *self,
                                                                 const gchar             *mode,
                                                                 gchar                  **resources);
-void                    gs_shell_extras_switch_to              (GsShellExtras           *shell_extras,
+void                    gs_shell_extras_switch_to              (GsShellExtras           *self,
                                                                 gboolean                 scroll_up);
-void                    gs_shell_extras_reload                 (GsShellExtras           *shell_extras);
-void                    gs_shell_extras_setup                  (GsShellExtras           *shell_extras,
+void                    gs_shell_extras_reload                 (GsShellExtras           *self);
+void                    gs_shell_extras_setup                  (GsShellExtras           *self,
                                                                 GsShell                 *shell,
                                                                 GsPluginLoader          *plugin_loader,
                                                                 GtkBuilder              *builder,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]