[gnome-software/wip/templates: 5/6] Use a GtkBuilder template for GsShellInstalled
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/templates: 5/6] Use a GtkBuilder template for GsShellInstalled
- Date: Fri, 28 Mar 2014 11:01:54 +0000 (UTC)
commit 9dbadd504f738e97595b67440d349620fab7424e
Author: Kalev Lember <kalevlember gmail com>
Date: Thu Mar 27 22:33:14 2014 +0100
Use a GtkBuilder template for GsShellInstalled
Move the UI definition to separate file and use a GtkBuilder template
for subclassing the widget.
po/POTFILES.in | 1 +
src/Makefile.am | 1 +
src/gnome-software.gresource.xml | 1 +
src/gnome-software.ui | 99 +----------------------------------
src/gs-shell-installed.c | 109 +++++++++++++++++++-------------------
src/gs-shell-installed.h | 4 +-
src/gs-shell-installed.ui | 108 +++++++++++++++++++++++++++++++++++++
src/gs-shell.c | 3 +-
8 files changed, 169 insertions(+), 157 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 571fab7..51e5300 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -22,6 +22,7 @@ src/gs-shell.c
src/gs-shell-details.c
[type: gettext/glade]src/gs-shell-details.ui
src/gs-shell-installed.c
+[type: gettext/glade]src/gs-shell-installed.ui
src/gs-shell-overview.c
src/gs-shell-search.c
[type: gettext/glade]src/gs-shell-search.ui
diff --git a/src/Makefile.am b/src/Makefile.am
index 7846828..5864590 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,6 +35,7 @@ UI_FILES = \
gs-history-dialog.ui \
gs-shell-category.ui \
gs-shell-details.ui \
+ gs-shell-installed.ui \
gs-shell-search.ui \
gs-shell-updates.ui \
gs-sources-dialog.ui \
diff --git a/src/gnome-software.gresource.xml b/src/gnome-software.gresource.xml
index fda9a64..1316b96 100644
--- a/src/gnome-software.gresource.xml
+++ b/src/gnome-software.gresource.xml
@@ -13,6 +13,7 @@
<file preprocess="xml-stripblanks">gs-history-dialog.ui</file>
<file preprocess="xml-stripblanks">gs-shell-category.ui</file>
<file preprocess="xml-stripblanks">gs-shell-details.ui</file>
+ <file preprocess="xml-stripblanks">gs-shell-installed.ui</file>
<file preprocess="xml-stripblanks">gs-shell-search.ui</file>
<file preprocess="xml-stripblanks">gs-shell-updates.ui</file>
<file preprocess="xml-stripblanks">gs-sources-dialog.ui</file>
diff --git a/src/gnome-software.ui b/src/gnome-software.ui
index 5b2f482..4d6eb03 100644
--- a/src/gnome-software.ui
+++ b/src/gnome-software.ui
@@ -646,95 +646,8 @@
</packing>
</child>
<child>
- <object class="GtkStack" id="stack_install">
+ <object class="GsShellInstalled" id="shell_installed">
<property name="visible">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="installed-accessible">
- <property name="accessible-name" translatable="yes">Installed page</property>
- </object>
- </child>
- <child>
- <object class="GtkSpinner" id="spinner_install">
- <property name="visible">True</property>
- <property name="width_request">128</property>
- <property name="height_request">128</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- </object>
- <packing>
- <property name="name">spinner</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="box_install">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow_install">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="vexpand">True</property>
- <property name="shadow_type">none</property>
- <style>
- <class name="main-scrolled-software"/>
- </style>
- <child>
- <object class="GtkListBox" id="list_box_install">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="selection_mode">none</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkRevealer" id="bottom_install">
- <property name="visible">True</property>
- <property name="transition-type">slide-up</property>
- <child>
- <object class="GtkActionBar" id="action_bar">
- <property name="visible">True</property>
- <child>
- <object class="GtkButton" id="button_folder_add">
- <property name="label" translatable="yes">_Add to Folder…</property>
- <property name="use_underline">True</property>
- <property name="margin">6</property>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="button_folder_move">
- <property name="label" translatable="yes">_Move to Folder…</property>
- <property name="use_underline">True</property>
- <property name="margin">6</property>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="button_folder_remove">
- <property name="label" translatable="yes">_Remove from Folder</property>
- <property name="use_underline">True</property>
- <property name="margin">6</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="button_folder_fake">
- <property name="visible">True</property>
- <property name="label"></property>
- <property name="margin">6</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="name">view</property>
- </packing>
- </child>
</object>
<packing>
<property name="name">installed</property>
@@ -786,14 +699,4 @@
</object>
</child>
</object>
- <object class="GtkSizeGroup" id="sizegroup_folder_buttons">
- <property name="ignore-hidden">False</property>
- <property name="mode">vertical</property>
- <widgets>
- <widget name="button_folder_add"/>
- <widget name="button_folder_move"/>
- <widget name="button_folder_remove"/>
- <widget name="button_folder_fake"/>
- </widgets>
- </object>
</interface>
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 0b211cb..71bfeb2 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -45,17 +45,24 @@ struct GsShellInstalledPrivate
GsPluginLoader *plugin_loader;
GtkBuilder *builder;
GCancellable *cancellable;
- GtkListBox *list_box_installed;
- GtkRevealer *bottom_bar;
GtkSizeGroup *sizegroup_image;
GtkSizeGroup *sizegroup_name;
gboolean cache_valid;
gboolean waiting;
GsShell *shell;
gboolean selection_mode;
+
+ GtkWidget *bottom_install;
+ GtkWidget *button_folder_add;
+ GtkWidget *button_folder_move;
+ GtkWidget *button_folder_remove;
+ GtkWidget *list_box_install;
+ GtkWidget *scrolledwindow_install;
+ GtkWidget *spinner_install;
+ GtkWidget *stack_install;
};
-G_DEFINE_TYPE_WITH_PRIVATE (GsShellInstalled, gs_shell_installed, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GsShellInstalled, gs_shell_installed, GTK_TYPE_BIN)
static void gs_shell_installed_pending_apps_changed_cb (GsPluginLoader *plugin_loader,
GsShellInstalled *shell_installed);
@@ -155,7 +162,7 @@ gs_shell_installed_app_removed_cb (GObject *source,
/* remove from the list */
app = gs_app_widget_get_app (helper->app_widget);
g_debug ("removed %s", gs_app_get_id (app));
- gs_shell_installed_remove_row (GTK_LIST_BOX (priv->list_box_installed),
+ gs_shell_installed_remove_row (GTK_LIST_BOX (priv->list_box_install),
GTK_WIDGET (helper->app_widget));
}
@@ -229,7 +236,7 @@ gs_shell_installed_notify_state_changed_cb (GsApp *app,
GParamSpec *pspec,
GsShellInstalled *shell)
{
- gtk_list_box_invalidate_sort (shell->priv->list_box_installed);
+ gtk_list_box_invalidate_sort (GTK_LIST_BOX (shell->priv->list_box_install));
}
static void selection_changed (GsShellInstalled *shell);
@@ -250,7 +257,7 @@ gs_shell_installed_add_app (GsShellInstalled *shell, GsApp *app)
g_signal_connect_swapped (widget, "notify::selected",
G_CALLBACK (selection_changed), shell);
gs_app_widget_set_app (GS_APP_WIDGET (widget), app);
- gtk_container_add (GTK_CONTAINER (priv->list_box_installed), widget);
+ gtk_container_add (GTK_CONTAINER (priv->list_box_install), widget);
gs_app_widget_set_size_groups (GS_APP_WIDGET (widget),
priv->sizegroup_image,
priv->sizegroup_name);
@@ -276,12 +283,9 @@ gs_shell_installed_get_installed_cb (GObject *source_object,
GsShellInstalled *shell_installed = GS_SHELL_INSTALLED (user_data);
GsShellInstalledPrivate *priv = shell_installed->priv;
GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
- GtkWidget *widget;
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_install"));
- gs_stop_spinner (GTK_SPINNER (widget));
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "stack_install"));
- gtk_stack_set_visible_child_name (GTK_STACK (widget), "view");
+ gs_stop_spinner (GTK_SPINNER (priv->spinner_install));
+ gtk_stack_set_visible_child_name (GTK_STACK (priv->stack_install), "view");
priv->waiting = FALSE;
priv->cache_valid = TRUE;
@@ -311,7 +315,6 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed, gboolean scroll_u
{
GsShellInstalledPrivate *priv = shell_installed->priv;
GtkWidget *widget;
- GtkSpinner *spinner;
if (gs_shell_get_mode (priv->shell) == GS_SHELL_MODE_INSTALLED) {
set_selection_mode (shell_installed, FALSE);
@@ -322,30 +325,28 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed, gboolean scroll_u
gtk_widget_show (widget);
}
- gtk_list_box_invalidate_sort (priv->list_box_installed);
+ gtk_list_box_invalidate_sort (GTK_LIST_BOX (priv->list_box_install));
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "scrolledwindow_install"));
if (scroll_up) {
GtkAdjustment *adj;
- adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
+ adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW
(priv->scrolledwindow_install));
gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj));
}
if (gs_shell_get_mode (priv->shell) == GS_SHELL_MODE_INSTALLED) {
- gs_grab_focus_when_mapped (widget);
+ gs_grab_focus_when_mapped (priv->scrolledwindow_install);
}
/* no need to refresh */
if (priv->cache_valid)
return;
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "spinner_install"));
- gtk_widget_show (widget);
+ gtk_widget_show (priv->spinner_install);
if (priv->waiting)
return;
/* remove old entries */
- gs_container_remove_all (GTK_CONTAINER (priv->list_box_installed));
+ gs_container_remove_all (GTK_CONTAINER (priv->list_box_install));
/* get popular apps */
gs_plugin_loader_get_installed_async (priv->plugin_loader,
@@ -358,10 +359,8 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed, gboolean scroll_u
gs_shell_installed_get_installed_cb,
shell_installed);
- spinner = GTK_SPINNER (gtk_builder_get_object (shell_installed->priv->builder, "spinner_install"));
- gs_start_spinner (spinner);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "stack_install"));
- gtk_stack_set_visible_child_name (GTK_STACK (widget), "spinner");
+ gs_start_spinner (GTK_SPINNER (priv->spinner_install));
+ gtk_stack_set_visible_child_name (GTK_STACK (priv->stack_install), "spinner");
priv->waiting = TRUE;
}
@@ -609,15 +608,12 @@ set_selection_mode (GsShellInstalled *shell_installed, gboolean selection_mode)
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "header_selection_menu_button"));
gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_add"));
- gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_move"));
- gtk_widget_hide (widget);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_remove"));
- gtk_widget_hide (widget);
+ gtk_widget_hide (priv->button_folder_add);
+ gtk_widget_hide (priv->button_folder_move);
+ gtk_widget_hide (priv->button_folder_remove);
}
- children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_installed));
+ children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_install));
for (l = children; l; l = l->next) {
row = l->data;
app_widget = gtk_bin_get_child (GTK_BIN (row));
@@ -626,7 +622,7 @@ set_selection_mode (GsShellInstalled *shell_installed, gboolean selection_mode)
}
g_list_free (children);
- gtk_revealer_set_reveal_child (priv->bottom_bar, priv->selection_mode);
+ gtk_revealer_set_reveal_child (GTK_REVEALER (priv->bottom_install), priv->selection_mode);
}
static void
@@ -644,7 +640,7 @@ get_selected_apps (GsShellInstalled *shell_installed)
GList *children, *l, *list;
list = NULL;
- children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_installed));
+ children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_install));
for (l = children; l; l = l->next) {
GtkListBoxRow *row = l->data;
GsAppWidget *app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
@@ -665,7 +661,6 @@ selection_changed (GsShellInstalled *shell_installed)
GList *apps, *l;
GsApp *app;
gboolean has_folders, has_nonfolders;
- GtkWidget *button;
folders = gs_folders_get ();
has_folders = has_nonfolders = FALSE;
@@ -683,14 +678,9 @@ selection_changed (GsShellInstalled *shell_installed)
g_list_free (apps);
g_object_unref (folders);
- button = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_add"));
- gtk_widget_set_visible (button, has_nonfolders);
-
- button = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_move"));
- gtk_widget_set_visible (button, has_folders && !has_nonfolders);
-
- button = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_remove"));
- gtk_widget_set_visible (button, has_folders);
+ gtk_widget_set_visible (priv->button_folder_add, has_nonfolders);
+ gtk_widget_set_visible (priv->button_folder_move, has_folders && !has_nonfolders);
+ gtk_widget_set_visible (priv->button_folder_remove, has_folders);
}
static void
@@ -745,7 +735,7 @@ select_all_cb (GtkMenuItem *item, GsShellInstalled *shell_installed)
GsShellInstalledPrivate *priv = shell_installed->priv;
GList *children, *l;
- children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_installed));
+ children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_install));
for (l = children; l; l = l->next) {
GtkListBoxRow *row = l->data;
GsAppWidget *app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
@@ -760,7 +750,7 @@ select_none_cb (GtkMenuItem *item, GsShellInstalled *shell_installed)
GsShellInstalledPrivate *priv = shell_installed->priv;
GList *children, *l;
- children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_installed));
+ children = gtk_container_get_children (GTK_CONTAINER (priv->list_box_install));
for (l = children; l; l = l->next) {
GtkListBoxRow *row = l->data;
GsAppWidget *app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
@@ -794,28 +784,22 @@ gs_shell_installed_setup (GsShellInstalled *shell_installed,
priv->cancellable = g_object_ref (cancellable);
/* setup installed */
- priv->list_box_installed = GTK_LIST_BOX (gtk_builder_get_object (priv->builder, "list_box_install"));
- g_signal_connect (priv->list_box_installed, "row-activated",
+ g_signal_connect (priv->list_box_install, "row-activated",
G_CALLBACK (gs_shell_installed_app_widget_activated_cb), shell_installed);
- gtk_list_box_set_header_func (priv->list_box_installed,
+ gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list_box_install),
gs_shell_installed_list_header_func,
shell_installed, NULL);
- gtk_list_box_set_sort_func (priv->list_box_installed,
+ gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list_box_install),
gs_shell_installed_sort_func,
shell_installed, NULL);
- priv->bottom_bar = GTK_REVEALER (gtk_builder_get_object (priv->builder, "bottom_install"));
-
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_add"));
- g_signal_connect (widget, "clicked",
+ g_signal_connect (priv->button_folder_add, "clicked",
G_CALLBACK (show_folder_dialog), shell_installed);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_move"));
- g_signal_connect (widget, "clicked",
+ g_signal_connect (priv->button_folder_move, "clicked",
G_CALLBACK (show_folder_dialog), shell_installed);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_folder_remove"));
- g_signal_connect (widget, "clicked",
+ g_signal_connect (priv->button_folder_remove, "clicked",
G_CALLBACK (remove_folders), shell_installed);
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_select"));
@@ -841,7 +825,20 @@ static void
gs_shell_installed_class_init (GsShellInstalledClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
object_class->finalize = gs_shell_installed_finalize;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/software/gs-shell-installed.ui");
+
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, bottom_install);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, button_folder_add);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, button_folder_move);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, button_folder_remove);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, list_box_install);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, scrolledwindow_install);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, spinner_install);
+ gtk_widget_class_bind_template_child_private (widget_class, GsShellInstalled, stack_install);
}
/**
@@ -850,6 +847,8 @@ gs_shell_installed_class_init (GsShellInstalledClass *klass)
static void
gs_shell_installed_init (GsShellInstalled *shell_installed)
{
+ gtk_widget_init_template (GTK_WIDGET (shell_installed));
+
shell_installed->priv = gs_shell_installed_get_instance_private (shell_installed);
shell_installed->priv->sizegroup_image = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
shell_installed->priv->sizegroup_name = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
diff --git a/src/gs-shell-installed.h b/src/gs-shell-installed.h
index 998176f..fec31bc 100644
--- a/src/gs-shell-installed.h
+++ b/src/gs-shell-installed.h
@@ -40,13 +40,13 @@ typedef struct GsShellInstalledPrivate GsShellInstalledPrivate;
typedef struct
{
- GObject parent;
+ GtkBin parent;
GsShellInstalledPrivate *priv;
} GsShellInstalled;
typedef struct
{
- GObjectClass parent_class;
+ GtkBinClass parent_class;
} GsShellInstalledClass;
GType gs_shell_installed_get_type (void);
diff --git a/src/gs-shell-installed.ui b/src/gs-shell-installed.ui
new file mode 100644
index 0000000..189a149
--- /dev/null
+++ b/src/gs-shell-installed.ui
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="3.10"/>
+ <template class="GsShellInstalled" parent="GtkBin">
+ <child internal-child="accessible">
+ <object class="AtkObject" id="installed-accessible">
+ <property name="accessible-name" translatable="yes">Installed page</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStack" id="stack_install">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkSpinner" id="spinner_install">
+ <property name="visible">True</property>
+ <property name="width_request">128</property>
+ <property name="height_request">128</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ </object>
+ <packing>
+ <property name="name">spinner</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box_install">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow_install">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="vexpand">True</property>
+ <property name="shadow_type">none</property>
+ <style>
+ <class name="main-scrolled-software"/>
+ </style>
+ <child>
+ <object class="GtkListBox" id="list_box_install">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="selection_mode">none</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRevealer" id="bottom_install">
+ <property name="visible">True</property>
+ <property name="transition-type">slide-up</property>
+ <child>
+ <object class="GtkActionBar" id="action_bar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="button_folder_add">
+ <property name="label" translatable="yes">_Add to Folder…</property>
+ <property name="use_underline">True</property>
+ <property name="margin">6</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_folder_move">
+ <property name="label" translatable="yes">_Move to Folder…</property>
+ <property name="use_underline">True</property>
+ <property name="margin">6</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_folder_remove">
+ <property name="label" translatable="yes">_Remove from Folder</property>
+ <property name="use_underline">True</property>
+ <property name="margin">6</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="button_folder_fake">
+ <property name="visible">True</property>
+ <property name="label"/>
+ <property name="margin">6</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="name">view</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </template>
+ <object class="GtkSizeGroup" id="sizegroup_folder_buttons">
+ <property name="ignore-hidden">False</property>
+ <property name="mode">vertical</property>
+ <widgets>
+ <widget name="button_folder_add"/>
+ <widget name="button_folder_move"/>
+ <widget name="button_folder_remove"/>
+ <widget name="button_folder_fake"/>
+ </widgets>
+ </object>
+</interface>
diff --git a/src/gs-shell.c b/src/gs-shell.c
index 17c8f26..e8030cb 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -531,6 +531,7 @@ gs_shell_setup (GsShell *shell, GsPluginLoader *plugin_loader, GCancellable *can
priv->plugin_loader,
priv->builder,
priv->cancellable);
+ priv->shell_installed = GS_SHELL_INSTALLED (gtk_builder_get_object (priv->builder,
"shell_installed"));
gs_shell_installed_setup (priv->shell_installed,
shell,
priv->plugin_loader,
@@ -735,7 +736,6 @@ gs_shell_init (GsShell *shell)
{
shell->priv = gs_shell_get_instance_private (shell);
shell->priv->shell_overview = gs_shell_overview_new ();
- shell->priv->shell_installed = gs_shell_installed_new ();
shell->priv->ignore_primary_buttons = FALSE;
}
@@ -753,7 +753,6 @@ gs_shell_finalize (GObject *object)
g_object_unref (priv->cancellable);
g_object_unref (priv->plugin_loader);
g_object_unref (priv->shell_overview);
- g_object_unref (priv->shell_installed);
G_OBJECT_CLASS (gs_shell_parent_class)->finalize (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]