[gnome-software: 22/29] gs-page: Don’t expose GsShell’s GtkBuilder to pages




commit c2e5b565e753c8d700fd05f6d3f701facd1aef1b
Author: Philip Withnall <pwithnall endlessos org>
Date:   Thu Jan 21 21:49:59 2021 +0000

    gs-page: Don’t expose GsShell’s GtkBuilder to pages
    
    It’s a layering violation: pages should only be able to control their
    sub-widgets, not widgets higher up the widget tree than them.
    
    The preceding commits have reworked all uses of this functionality; this
    commit drops the functionality altogether.
    
    Signed-off-by: Philip Withnall <pwithnall endlessos org>

 src/gs-category-page.c  | 4 ----
 src/gs-details-page.c   | 4 ----
 src/gs-extras-page.c    | 4 ----
 src/gs-installed-page.c | 4 ----
 src/gs-loading-page.c   | 1 -
 src/gs-moderate-page.c  | 1 -
 src/gs-overview-page.c  | 4 ----
 src/gs-page.c           | 3 +--
 src/gs-page.h           | 2 --
 src/gs-search-page.c    | 4 ----
 src/gs-shell.c          | 1 -
 src/gs-updates-page.c   | 4 ----
 12 files changed, 1 insertion(+), 35 deletions(-)
---
diff --git a/src/gs-category-page.c b/src/gs-category-page.c
index e6e51c9b4..4a07cd3bc 100644
--- a/src/gs-category-page.c
+++ b/src/gs-category-page.c
@@ -30,7 +30,6 @@ struct _GsCategoryPage
        GsPage           parent_instance;
 
        GsPluginLoader  *plugin_loader;
-       GtkBuilder      *builder;
        GCancellable    *cancellable;
        GsShell         *shell;
        GsCategory      *category;
@@ -531,7 +530,6 @@ gs_category_page_dispose (GObject *object)
                self->sort_name_handler_id = 0;
        }
 
-       g_clear_object (&self->builder);
        g_clear_object (&self->category);
        g_clear_object (&self->subcategory);
        g_clear_object (&self->plugin_loader);
@@ -543,14 +541,12 @@ static gboolean
 gs_category_page_setup (GsPage *page,
                         GsShell *shell,
                         GsPluginLoader *plugin_loader,
-                        GtkBuilder *builder,
                         GCancellable *cancellable,
                         GError **error)
 {
        GsCategoryPage *self = GS_CATEGORY_PAGE (page);
 
        self->plugin_loader = g_object_ref (plugin_loader);
-       self->builder = g_object_ref (builder);
        self->shell = shell;
        self->sort_type = SUBCATEGORY_SORT_TYPE_RATING;
        gtk_flow_box_set_sort_func (GTK_FLOW_BOX (self->category_detail_box),
diff --git a/src/gs-details-page.c b/src/gs-details-page.c
index 467905a80..8c883c822 100644
--- a/src/gs-details-page.c
+++ b/src/gs-details-page.c
@@ -47,7 +47,6 @@ struct _GsDetailsPage
        GsPage                   parent_instance;
 
        GsPluginLoader          *plugin_loader;
-       GtkBuilder              *builder;
        GCancellable            *cancellable;
        GCancellable            *app_cancellable;
        GsApp                   *app;
@@ -2816,7 +2815,6 @@ static gboolean
 gs_details_page_setup (GsPage *page,
                        GsShell *shell,
                        GsPluginLoader *plugin_loader,
-                       GtkBuilder *builder,
                        GCancellable *cancellable,
                        GError **error)
 {
@@ -2828,7 +2826,6 @@ gs_details_page_setup (GsPage *page,
        self->shell = shell;
 
        self->plugin_loader = g_object_ref (plugin_loader);
-       self->builder = g_object_ref (builder);
        self->cancellable = g_object_ref (cancellable);
 
        /* show review widgets if we have plugins that provide them */
@@ -2957,7 +2954,6 @@ gs_details_page_dispose (GObject *object)
                g_clear_object (&self->app);
        }
        g_clear_object (&self->app_local_file);
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
        g_clear_object (&self->cancellable);
        g_clear_object (&self->app_cancellable);
diff --git a/src/gs-extras-page.c b/src/gs-extras-page.c
index 2a6344db6..60103140f 100644
--- a/src/gs-extras-page.c
+++ b/src/gs-extras-page.c
@@ -42,7 +42,6 @@ struct _GsExtrasPage
        GsPage                    parent_instance;
 
        GsPluginLoader           *plugin_loader;
-       GtkBuilder               *builder;
        GCancellable             *search_cancellable;
        GsShell                  *shell;
        GsExtrasPageState         state;
@@ -1183,7 +1182,6 @@ static gboolean
 gs_extras_page_setup (GsPage *page,
                       GsShell *shell,
                       GsPluginLoader *plugin_loader,
-                      GtkBuilder *builder,
                       GCancellable *cancellable,
                       GError **error)
 {
@@ -1194,7 +1192,6 @@ gs_extras_page_setup (GsPage *page,
        self->shell = shell;
 
        self->plugin_loader = g_object_ref (plugin_loader);
-       self->builder = g_object_ref (builder);
 
        g_signal_connect (self->list_box_results, "row-activated",
                          G_CALLBACK (row_activated_cb), self);
@@ -1295,7 +1292,6 @@ gs_extras_page_dispose (GObject *object)
        g_clear_object (&self->sizegroup_button);
        g_clear_object (&self->language);
        g_clear_object (&self->vendor);
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
 
        g_clear_pointer (&self->array_search_data, g_ptr_array_unref);
diff --git a/src/gs-installed-page.c b/src/gs-installed-page.c
index 6aee85c10..c5314e372 100644
--- a/src/gs-installed-page.c
+++ b/src/gs-installed-page.c
@@ -24,7 +24,6 @@ struct _GsInstalledPage
        GsPage                   parent_instance;
 
        GsPluginLoader          *plugin_loader;
-       GtkBuilder              *builder;
        GCancellable            *cancellable;
        GtkSizeGroup            *sizegroup_image;
        GtkSizeGroup            *sizegroup_name;
@@ -569,7 +568,6 @@ static gboolean
 gs_installed_page_setup (GsPage *page,
                          GsShell *shell,
                          GsPluginLoader *plugin_loader,
-                         GtkBuilder *builder,
                          GCancellable *cancellable,
                          GError **error)
 {
@@ -583,7 +581,6 @@ gs_installed_page_setup (GsPage *page,
                          G_CALLBACK (gs_installed_page_pending_apps_changed_cb),
                          self);
 
-       self->builder = g_object_ref (builder);
        self->cancellable = g_object_ref (cancellable);
 
        /* setup installed */
@@ -671,7 +668,6 @@ gs_installed_page_dispose (GObject *object)
        g_clear_object (&self->sizegroup_desc);
        g_clear_object (&self->sizegroup_button);
 
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
        g_clear_object (&self->cancellable);
        g_clear_object (&self->settings);
diff --git a/src/gs-loading-page.c b/src/gs-loading-page.c
index a31d77344..508f574ea 100644
--- a/src/gs-loading-page.c
+++ b/src/gs-loading-page.c
@@ -163,7 +163,6 @@ static gboolean
 gs_loading_page_setup (GsPage *page,
                        GsShell *shell,
                        GsPluginLoader *plugin_loader,
-                       GtkBuilder *builder,
                        GCancellable *cancellable,
                        GError **error)
 {
diff --git a/src/gs-moderate-page.c b/src/gs-moderate-page.c
index a63ebaa93..7bfe68e59 100644
--- a/src/gs-moderate-page.c
+++ b/src/gs-moderate-page.c
@@ -264,7 +264,6 @@ static gboolean
 gs_moderate_page_setup (GsPage *page,
                         GsShell *shell,
                         GsPluginLoader *plugin_loader,
-                        GtkBuilder *builder,
                         GCancellable *cancellable,
                         GError **error)
 {
diff --git a/src/gs-overview-page.c b/src/gs-overview-page.c
index b557d95d9..57d7bef76 100644
--- a/src/gs-overview-page.c
+++ b/src/gs-overview-page.c
@@ -29,7 +29,6 @@ struct _GsOverviewPage
        GsPage                   parent_instance;
 
        GsPluginLoader          *plugin_loader;
-       GtkBuilder              *builder;
        GCancellable            *cancellable;
        gboolean                 cache_valid;
        GsShell                 *shell;
@@ -797,7 +796,6 @@ static gboolean
 gs_overview_page_setup (GsPage *page,
                         GsShell *shell,
                         GsPluginLoader *plugin_loader,
-                        GtkBuilder *builder,
                         GCancellable *cancellable,
                         GError **error)
 {
@@ -810,7 +808,6 @@ gs_overview_page_setup (GsPage *page,
        g_return_val_if_fail (GS_IS_OVERVIEW_PAGE (self), TRUE);
 
        self->plugin_loader = g_object_ref (plugin_loader);
-       self->builder = g_object_ref (builder);
        self->cancellable = g_object_ref (cancellable);
        self->category_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
                                                     g_free, (GDestroyNotify) g_object_unref);
@@ -945,7 +942,6 @@ gs_overview_page_dispose (GObject *object)
 {
        GsOverviewPage *self = GS_OVERVIEW_PAGE (object);
 
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
        g_clear_object (&self->cancellable);
        g_clear_object (&self->settings);
diff --git a/src/gs-page.c b/src/gs-page.c
index b375d60bd..803ee9790 100644
--- a/src/gs-page.c
+++ b/src/gs-page.c
@@ -718,7 +718,6 @@ gboolean
 gs_page_setup (GsPage *page,
                GsShell *shell,
                GsPluginLoader *plugin_loader,
-               GtkBuilder *builder,
                GCancellable *cancellable,
                GError **error)
 {
@@ -733,7 +732,7 @@ gs_page_setup (GsPage *page,
        priv->plugin_loader = g_object_ref (plugin_loader);
        priv->shell = shell;
 
-       return klass->setup (page, shell, plugin_loader, builder, cancellable, error);
+       return klass->setup (page, shell, plugin_loader, cancellable, error);
 }
 
 static void
diff --git a/src/gs-page.h b/src/gs-page.h
index 108c87e25..0865c8338 100644
--- a/src/gs-page.h
+++ b/src/gs-page.h
@@ -31,7 +31,6 @@ struct _GsPageClass
        gboolean        (*setup)                (GsPage          *page,
                                                 GsShell        *shell,
                                                 GsPluginLoader *plugin_loader,
-                                                GtkBuilder     *builder,
                                                 GCancellable   *cancellable,
                                                 GError         **error);
 };
@@ -70,7 +69,6 @@ void           gs_page_reload                         (GsPage         *page);
 gboolean        gs_page_setup                          (GsPage         *page,
                                                         GsShell        *shell,
                                                         GsPluginLoader *plugin_loader,
-                                                        GtkBuilder     *builder,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 gboolean        gs_page_is_active                      (GsPage         *page);
diff --git a/src/gs-search-page.c b/src/gs-search-page.c
index bfa22edab..58e23bb5e 100644
--- a/src/gs-search-page.c
+++ b/src/gs-search-page.c
@@ -24,7 +24,6 @@ struct _GsSearchPage
        GsPage                   parent_instance;
 
        GsPluginLoader          *plugin_loader;
-       GtkBuilder              *builder;
        GCancellable            *cancellable;
        GCancellable            *search_cancellable;
        GtkSizeGroup            *sizegroup_image;
@@ -416,7 +415,6 @@ static gboolean
 gs_search_page_setup (GsPage *page,
                       GsShell *shell,
                       GsPluginLoader *plugin_loader,
-                      GtkBuilder *builder,
                       GCancellable *cancellable,
                       GError **error)
 {
@@ -425,7 +423,6 @@ gs_search_page_setup (GsPage *page,
        g_return_val_if_fail (GS_IS_SEARCH_PAGE (self), TRUE);
 
        self->plugin_loader = g_object_ref (plugin_loader);
-       self->builder = g_object_ref (builder);
        self->cancellable = g_object_ref (cancellable);
        self->shell = shell;
 
@@ -508,7 +505,6 @@ gs_search_page_dispose (GObject *object)
        g_clear_object (&self->sizegroup_desc);
        g_clear_object (&self->sizegroup_button);
 
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
        g_clear_object (&self->cancellable);
        g_clear_object (&self->search_cancellable);
diff --git a/src/gs-shell.c b/src/gs-shell.c
index c522d9932..eb33c29be 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -2061,7 +2061,6 @@ gs_shell_setup_pages (GsShell *shell)
                GsPage *page = GS_PAGE (g_hash_table_lookup (shell->pages, l->data));
                if (!gs_page_setup (page, shell,
                                    shell->plugin_loader,
-                                   shell->builder,
                                    shell->cancellable,
                                    &error)) {
                        g_warning ("Failed to setup panel: %s", error->message);
diff --git a/src/gs-updates-page.c b/src/gs-updates-page.c
index bf5dd1ac9..745b8a751 100644
--- a/src/gs-updates-page.c
+++ b/src/gs-updates-page.c
@@ -45,7 +45,6 @@ struct _GsUpdatesPage
        GsPage                   parent_instance;
 
        GsPluginLoader          *plugin_loader;
-       GtkBuilder              *builder;
        GCancellable            *cancellable;
        GCancellable            *cancellable_refresh;
        GCancellable            *cancellable_upgrade_download;
@@ -1182,7 +1181,6 @@ static gboolean
 gs_updates_page_setup (GsPage *page,
                        GsShell *shell,
                        GsPluginLoader *plugin_loader,
-                       GtkBuilder *builder,
                        GCancellable *cancellable,
                        GError **error)
 {
@@ -1221,7 +1219,6 @@ gs_updates_page_setup (GsPage *page,
        g_signal_connect_object (self->plugin_loader, "notify::network-available",
                                 G_CALLBACK (gs_updates_page_network_available_notify_cb),
                                 self, 0);
-       self->builder = g_object_ref (builder);
        self->cancellable = g_object_ref (cancellable);
 
        /* setup system upgrades */
@@ -1365,7 +1362,6 @@ gs_updates_page_dispose (GObject *object)
                }
        }
 
-       g_clear_object (&self->builder);
        g_clear_object (&self->plugin_loader);
        g_clear_object (&self->cancellable);
        g_clear_object (&self->settings);


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