[gnome-software/wip/installed_updates: 15/16] Rename GsAppWidget to GsAppRow
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/installed_updates: 15/16] Rename GsAppWidget to GsAppRow
- Date: Sun, 11 May 2014 17:42:57 +0000 (UTC)
commit 6aeb09ee3e26cdfcec985ef5fed17a9f763370e3
Author: Kalev Lember <kalevlember gmail com>
Date: Sun May 11 00:07:06 2014 +0200
Rename GsAppWidget to GsAppRow
... and derive it from GtkListBoxRow instead of GtkBin.
src/Makefile.am | 6 +-
src/gnome-software.gresource.xml | 2 +-
src/{gs-app-widget.c => gs-app-row.c} | 200 ++++++++++++++++----------------
src/gs-app-row.h | 79 +++++++++++++
src/{app-widget.ui => gs-app-row.ui} | 8 +-
src/gs-app-widget.h | 79 -------------
src/gs-shell-installed.c | 103 +++++++----------
src/gs-shell-search.c | 48 ++++-----
src/gs-shell-updates.c | 32 ++----
src/gs-update-dialog.c | 18 ++--
10 files changed, 272 insertions(+), 303 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 7900e43..f821dba 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,10 +28,10 @@ UI_FILES = \
app-folder-dialog.ui \
app-menu.ui \
app-tile.ui \
- app-widget.ui \
category-tile.ui \
feature-tile.ui \
gnome-software.ui \
+ gs-app-row.ui \
gs-history-dialog.ui \
gs-shell-category.ui \
gs-shell-details.ui \
@@ -95,8 +95,8 @@ gnome_software_SOURCES = \
gs-app.h \
gs-category.c \
gs-category.h \
- gs-app-widget.c \
- gs-app-widget.h \
+ gs-app-row.c \
+ gs-app-row.h \
gs-star-widget.c \
gs-star-widget.h \
gs-popular-tile.c \
diff --git a/src/gnome-software.gresource.xml b/src/gnome-software.gresource.xml
index aaa8879..70cee3a 100644
--- a/src/gnome-software.gresource.xml
+++ b/src/gnome-software.gresource.xml
@@ -7,9 +7,9 @@
<file preprocess="xml-stripblanks">feature-tile.ui</file>
<file preprocess="xml-stripblanks">category-tile.ui</file>
<file preprocess="xml-stripblanks">app-tile.ui</file>
- <file preprocess="xml-stripblanks">app-widget.ui</file>
<file preprocess="xml-stripblanks">app-folder-dialog.ui</file>
<file preprocess="xml-stripblanks">screenshot-image.ui</file>
+ <file preprocess="xml-stripblanks">gs-app-row.ui</file>
<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>
diff --git a/src/gs-app-widget.c b/src/gs-app-row.c
similarity index 68%
rename from src/gs-app-widget.c
rename to src/gs-app-row.c
index c565456..ac2ef5f 100644
--- a/src/gs-app-widget.c
+++ b/src/gs-app-row.c
@@ -25,13 +25,13 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
-#include "gs-app-widget.h"
+#include "gs-app-row.h"
#include "gs-star-widget.h"
#include "gs-markdown.h"
#include "gs-utils.h"
#include "gs-folders.h"
-struct _GsAppWidgetPrivate
+struct _GsAppRowPrivate
{
GsApp *app;
GtkWidget *image;
@@ -51,7 +51,7 @@ struct _GsAppWidgetPrivate
gboolean selectable;
};
-G_DEFINE_TYPE_WITH_PRIVATE (GsAppWidget, gs_app_widget, GTK_TYPE_BIN)
+G_DEFINE_TYPE_WITH_PRIVATE (GsAppRow, gs_app_row, GTK_TYPE_LIST_BOX_ROW)
enum {
PROP_ZERO,
@@ -66,15 +66,15 @@ enum {
static guint signals [SIGNAL_LAST] = { 0 };
/**
- * gs_app_widget_get_description:
+ * gs_app_row_get_description:
*
* Return value: PangoMarkup
**/
static GString *
-gs_app_widget_get_description (GsAppWidget *app_widget)
+gs_app_row_get_description (GsAppRow *app_row)
{
GString *str = NULL;
- GsAppWidgetPrivate *priv = app_widget->priv;
+ GsAppRowPrivate *priv = app_row->priv;
GsMarkdown *markdown = NULL;
const gchar *tmp = NULL;
gchar *escaped = NULL;
@@ -113,22 +113,22 @@ out:
}
/**
- * gs_app_widget_refresh:
+ * gs_app_row_refresh:
**/
void
-gs_app_widget_refresh (GsAppWidget *app_widget)
+gs_app_row_refresh (GsAppRow *app_row)
{
- GsAppWidgetPrivate *priv = app_widget->priv;
+ GsAppRowPrivate *priv = app_row->priv;
GtkStyleContext *context;
GString *str = NULL;
GsFolders *folders;
const gchar *folder;
- if (app_widget->priv->app == NULL)
+ if (app_row->priv->app == NULL)
return;
/* join the lines*/
- str = gs_app_widget_get_description (app_widget);
+ str = gs_app_row_get_description (app_row);
gs_string_replace (str, "\n", " ");
gtk_label_set_markup (GTK_LABEL (priv->description_label), str->str);
g_string_free (str, TRUE);
@@ -181,7 +181,7 @@ gs_app_widget_refresh (GsAppWidget *app_widget)
context = gtk_widget_get_style_context (priv->button);
gtk_style_context_remove_class (context, "destructive-action");
- switch (gs_app_get_state (app_widget->priv->app)) {
+ switch (gs_app_get_state (app_row->priv->app)) {
case GS_APP_STATE_UNAVAILABLE:
gtk_widget_set_visible (priv->button, TRUE);
/* TRANSLATORS: this is a button next to the search results that
@@ -207,8 +207,8 @@ gs_app_widget_refresh (GsAppWidget *app_widget)
break;
case GS_APP_STATE_UPDATABLE:
case GS_APP_STATE_INSTALLED:
- if (gs_app_get_kind (app_widget->priv->app) != GS_APP_KIND_SYSTEM &&
- !app_widget->priv->show_update)
+ if (gs_app_get_kind (app_row->priv->app) != GS_APP_KIND_SYSTEM &&
+ !app_row->priv->show_update)
gtk_widget_set_visible (priv->button, TRUE);
/* TRANSLATORS: this is a button next to the search results that
* allows the application to be easily removed */
@@ -251,66 +251,66 @@ gs_app_widget_refresh (GsAppWidget *app_widget)
}
/**
- * gs_app_widget_get_app:
+ * gs_app_row_get_app:
**/
GsApp *
-gs_app_widget_get_app (GsAppWidget *app_widget)
+gs_app_row_get_app (GsAppRow *app_row)
{
- g_return_val_if_fail (GS_IS_APP_WIDGET (app_widget), NULL);
- return app_widget->priv->app;
+ g_return_val_if_fail (GS_IS_APP_ROW (app_row), NULL);
+ return app_row->priv->app;
}
/**
- * gs_app_widget_notify_props_changed_cb:
+ * gs_app_row_notify_props_changed_cb:
**/
static void
-gs_app_widget_notify_props_changed_cb (GsApp *app,
- GParamSpec *pspec,
- GsAppWidget *app_widget)
+gs_app_row_notify_props_changed_cb (GsApp *app,
+ GParamSpec *pspec,
+ GsAppRow *app_row)
{
- gs_app_widget_refresh (app_widget);
+ gs_app_row_refresh (app_row);
}
/**
- * gs_app_widget_set_app:
+ * gs_app_row_set_app:
**/
void
-gs_app_widget_set_app (GsAppWidget *app_widget, GsApp *app)
+gs_app_row_set_app (GsAppRow *app_row, GsApp *app)
{
- g_return_if_fail (GS_IS_APP_WIDGET (app_widget));
+ g_return_if_fail (GS_IS_APP_ROW (app_row));
g_return_if_fail (GS_IS_APP (app));
- app_widget->priv->app = g_object_ref (app);
- g_signal_connect_object (app_widget->priv->app, "notify::state",
- G_CALLBACK (gs_app_widget_notify_props_changed_cb),
- app_widget, 0);
- g_signal_connect_object (app_widget->priv->app, "notify::rating",
- G_CALLBACK (gs_app_widget_notify_props_changed_cb),
- app_widget, 0);
- gs_app_widget_refresh (app_widget);
+ app_row->priv->app = g_object_ref (app);
+ g_signal_connect_object (app_row->priv->app, "notify::state",
+ G_CALLBACK (gs_app_row_notify_props_changed_cb),
+ app_row, 0);
+ g_signal_connect_object (app_row->priv->app, "notify::rating",
+ G_CALLBACK (gs_app_row_notify_props_changed_cb),
+ app_row, 0);
+ gs_app_row_refresh (app_row);
}
/**
- * gs_app_widget_destroy:
+ * gs_app_row_destroy:
**/
static void
-gs_app_widget_destroy (GtkWidget *object)
+gs_app_row_destroy (GtkWidget *object)
{
- GsAppWidget *app_widget = GS_APP_WIDGET (object);
- GsAppWidgetPrivate *priv = app_widget->priv;
+ GsAppRow *app_row = GS_APP_ROW (object);
+ GsAppRowPrivate *priv = app_row->priv;
g_clear_object (&priv->app);
- GTK_WIDGET_CLASS (gs_app_widget_parent_class)->destroy (object);
+ GTK_WIDGET_CLASS (gs_app_row_parent_class)->destroy (object);
}
static void
-gs_app_widget_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gs_app_row_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
- GsAppWidget *app_widget = GS_APP_WIDGET (object);
+ GsAppRow *app_row = GS_APP_ROW (object);
switch (prop_id) {
case PROP_SELECTED:
- gs_app_widget_set_selected (app_widget, g_value_get_boolean (value));
+ gs_app_row_set_selected (app_row, g_value_get_boolean (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -319,13 +319,13 @@ gs_app_widget_set_property (GObject *object, guint prop_id, const GValue *value,
}
static void
-gs_app_widget_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gs_app_row_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
- GsAppWidget *app_widget = GS_APP_WIDGET (object);
+ GsAppRow *app_row = GS_APP_ROW (object);
switch (prop_id) {
case PROP_SELECTED:
- g_value_set_boolean (value, gs_app_widget_get_selected (app_widget));
+ g_value_set_boolean (value, gs_app_row_get_selected (app_row));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -334,16 +334,16 @@ gs_app_widget_get_property (GObject *object, guint prop_id, GValue *value, GPara
}
static void
-gs_app_widget_class_init (GsAppWidgetClass *klass)
+gs_app_row_class_init (GsAppRowClass *klass)
{
GParamSpec *pspec;
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- object_class->set_property = gs_app_widget_set_property;
- object_class->get_property = gs_app_widget_get_property;
+ object_class->set_property = gs_app_row_set_property;
+ object_class->get_property = gs_app_row_get_property;
- widget_class->destroy = gs_app_widget_destroy;
+ widget_class->destroy = gs_app_row_destroy;
pspec = g_param_spec_boolean ("selected", NULL, NULL,
FALSE, G_PARAM_READWRITE);
@@ -352,117 +352,117 @@ gs_app_widget_class_init (GsAppWidgetClass *klass)
signals [SIGNAL_BUTTON_CLICKED] =
g_signal_new ("button-clicked",
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GsAppWidgetClass, button_clicked),
+ G_STRUCT_OFFSET (GsAppRowClass, button_clicked),
NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/software/app-widget.ui");
-
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, image);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, name_box);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, name_label);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, version_label);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, star);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, folder_label);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, description_label);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, button_box);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, button);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, spinner);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, label);
- gtk_widget_class_bind_template_child_private (widget_class, GsAppWidget, checkbox);
+ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/software/gs-app-row.ui");
+
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, image);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, name_box);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, name_label);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, version_label);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, star);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, folder_label);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, description_label);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, button_box);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, button);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, spinner);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, label);
+ gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, checkbox);
}
static void
-button_clicked (GtkWidget *widget, GsAppWidget *app_widget)
+button_clicked (GtkWidget *widget, GsAppRow *app_row)
{
- g_signal_emit (app_widget, signals[SIGNAL_BUTTON_CLICKED], 0);
+ g_signal_emit (app_row, signals[SIGNAL_BUTTON_CLICKED], 0);
}
static void
-checkbox_toggled (GtkWidget *widget, GsAppWidget *app_widget)
+checkbox_toggled (GtkWidget *widget, GsAppRow *app_row)
{
- g_object_notify (G_OBJECT (app_widget), "selected");
+ g_object_notify (G_OBJECT (app_row), "selected");
}
static void
-gs_app_widget_init (GsAppWidget *app_widget)
+gs_app_row_init (GsAppRow *app_row)
{
- GsAppWidgetPrivate *priv;
+ GsAppRowPrivate *priv;
- priv = gs_app_widget_get_instance_private (app_widget);
- app_widget->priv = priv;
+ priv = gs_app_row_get_instance_private (app_row);
+ app_row->priv = priv;
- gtk_widget_set_has_window (GTK_WIDGET (app_widget), FALSE);
- gtk_widget_init_template (GTK_WIDGET (app_widget));
+ gtk_widget_set_has_window (GTK_WIDGET (app_row), FALSE);
+ gtk_widget_init_template (GTK_WIDGET (app_row));
priv->colorful = TRUE;
g_signal_connect (priv->button, "clicked",
- G_CALLBACK (button_clicked), app_widget);
+ G_CALLBACK (button_clicked), app_row);
g_signal_connect (priv->checkbox, "toggled",
- G_CALLBACK (checkbox_toggled), app_widget);
+ G_CALLBACK (checkbox_toggled), app_row);
}
void
-gs_app_widget_set_size_groups (GsAppWidget *app_widget,
- GtkSizeGroup *image,
- GtkSizeGroup *name)
+gs_app_row_set_size_groups (GsAppRow *app_row,
+ GtkSizeGroup *image,
+ GtkSizeGroup *name)
{
- gtk_size_group_add_widget (image, app_widget->priv->image);
- gtk_size_group_add_widget (name, app_widget->priv->name_box);
+ gtk_size_group_add_widget (image, app_row->priv->image);
+ gtk_size_group_add_widget (name, app_row->priv->name_box);
}
void
-gs_app_widget_set_colorful (GsAppWidget *app_widget,
+gs_app_row_set_colorful (GsAppRow *app_row,
gboolean colorful)
{
- app_widget->priv->colorful = colorful;
+ app_row->priv->colorful = colorful;
}
/**
- * gs_app_widget_set_show_update:
+ * gs_app_row_set_show_update:
*
* Only really useful for the update panel to call
**/
void
-gs_app_widget_set_show_update (GsAppWidget *app_widget, gboolean show_update)
+gs_app_row_set_show_update (GsAppRow *app_row, gboolean show_update)
{
- app_widget->priv->show_update = show_update;
+ app_row->priv->show_update = show_update;
}
void
-gs_app_widget_set_selectable (GsAppWidget *app_widget, gboolean selectable)
+gs_app_row_set_selectable (GsAppRow *app_row, gboolean selectable)
{
- app_widget->priv->selectable = selectable;
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app_widget->priv->checkbox), FALSE);
- gs_app_widget_refresh (app_widget);
+ app_row->priv->selectable = selectable;
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app_row->priv->checkbox), FALSE);
+ gs_app_row_refresh (app_row);
}
void
-gs_app_widget_set_selected (GsAppWidget *app_widget, gboolean selected)
+gs_app_row_set_selected (GsAppRow *app_row, gboolean selected)
{
- if (!app_widget->priv->selectable)
+ if (!app_row->priv->selectable)
return;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_widget->priv->checkbox)) != selected) {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app_widget->priv->checkbox), selected);
- g_object_notify (G_OBJECT (app_widget), "selected");
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_row->priv->checkbox)) != selected) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app_row->priv->checkbox), selected);
+ g_object_notify (G_OBJECT (app_row), "selected");
}
}
gboolean
-gs_app_widget_get_selected (GsAppWidget *app_widget)
+gs_app_row_get_selected (GsAppRow *app_row)
{
- if (!app_widget->priv->selectable)
+ if (!app_row->priv->selectable)
return FALSE;
- return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_widget->priv->checkbox));
+ return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_row->priv->checkbox));
}
GtkWidget *
-gs_app_widget_new (void)
+gs_app_row_new (void)
{
- return g_object_new (GS_TYPE_APP_WIDGET, NULL);
+ return g_object_new (GS_TYPE_APP_ROW, NULL);
}
/* vim: set noexpandtab: */
diff --git a/src/gs-app-row.h b/src/gs-app-row.h
new file mode 100644
index 0000000..d3f4ca4
--- /dev/null
+++ b/src/gs-app-row.h
@@ -0,0 +1,79 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2012 Richard Hughes <richard hughsie com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef GS_APP_ROW_H
+#define GS_APP_ROW_H
+
+#include <gtk/gtk.h>
+
+#include "gs-app.h"
+
+#define GS_TYPE_APP_ROW (gs_app_row_get_type())
+#define GS_APP_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GS_TYPE_APP_ROW, GsAppRow))
+#define GS_APP_ROW_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), GS_TYPE_APP_ROW, GsAppRowClass))
+#define GS_IS_APP_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GS_TYPE_APP_ROW))
+#define GS_IS_APP_ROW_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), GS_TYPE_APP_ROW))
+#define GS_APP_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GS_TYPE_APP_ROW, GsAppRowClass))
+
+G_BEGIN_DECLS
+
+typedef struct _GsAppRow GsAppRow;
+typedef struct _GsAppRowClass GsAppRowClass;
+typedef struct _GsAppRowPrivate GsAppRowPrivate;
+
+struct _GsAppRow
+{
+ GtkListBoxRow parent;
+
+ /*< private >*/
+ GsAppRowPrivate *priv;
+};
+
+struct _GsAppRowClass
+{
+ GtkListBoxRowClass parent_class;
+ void (*button_clicked) (GsAppRow *app_row);
+};
+
+GType gs_app_row_get_type (void);
+GtkWidget *gs_app_row_new (void);
+void gs_app_row_refresh (GsAppRow *app_row);
+void gs_app_row_set_colorful (GsAppRow *app_row,
+ gboolean colorful);
+void gs_app_row_set_show_update (GsAppRow *app_row,
+ gboolean show_update);
+void gs_app_row_set_selectable (GsAppRow *app_row,
+ gboolean selectable);
+void gs_app_row_set_selected (GsAppRow *app_row,
+ gboolean selected);
+gboolean gs_app_row_get_selected (GsAppRow *app_row);
+GsApp *gs_app_row_get_app (GsAppRow *app_row);
+void gs_app_row_set_app (GsAppRow *app_row,
+ GsApp *app);
+void gs_app_row_set_size_groups (GsAppRow *app_row,
+ GtkSizeGroup *image,
+ GtkSizeGroup *name);
+
+G_END_DECLS
+
+#endif /* GS_APP_ROW_H */
+
+/* vim: set noexpandtab: */
diff --git a/src/app-widget.ui b/src/gs-app-row.ui
similarity index 97%
rename from src/app-widget.ui
rename to src/gs-app-row.ui
index 331c24b..d756b67 100644
--- a/src/app-widget.ui
+++ b/src/gs-app-row.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.10 -->
- <template class="GsAppWidget" parent="GtkBin">
+ <template class="GsAppRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="margin-top">16</property>
<property name="margin-bottom">16</property>
@@ -81,9 +81,9 @@
<property name="xalign">0.0</property>
<property name="yalign">0.5</property>
<property name="halign">start</property>
- <style>
- <class name="folder-label"/>
- </style>
+ <style>
+ <class name="folder-label"/>
+ </style>
</object>
<packing>
<property name="expand">False</property>
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 71bfeb2..653bf7e 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -29,7 +29,7 @@
#include "gs-shell-installed.h"
#include "gs-app.h"
#include "gs-utils.h"
-#include "gs-app-widget.h"
+#include "gs-app-row.h"
#include "gs-app-folder-dialog.h"
#include "gs-folders.h"
@@ -78,27 +78,23 @@ gs_shell_installed_invalidate (GsShellInstalled *shell_installed)
}
static void
-gs_shell_installed_app_widget_activated_cb (GtkListBox *list_box,
- GtkListBoxRow *row,
- GsShellInstalled *shell_installed)
+gs_shell_installed_app_row_activated_cb (GtkListBox *list_box,
+ GtkListBoxRow *row,
+ GsShellInstalled *shell_installed)
{
- GsAppWidget *app_widget;
-
- app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
-
if (shell_installed->priv->selection_mode) {
gboolean selected;
- selected = gs_app_widget_get_selected (app_widget);
- gs_app_widget_set_selected (app_widget, !selected);
+ selected = gs_app_row_get_selected (GS_APP_ROW (row));
+ gs_app_row_set_selected (GS_APP_ROW (row), !selected);
} else {
GsApp *app;
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (GS_APP_ROW (row));
gs_shell_show_app (shell_installed->priv->shell, app);
}
}
typedef struct {
- GsAppWidget *app_widget;
+ GsAppRow *app_row;
GsShellInstalled *shell_installed;
} GsShellInstalledHelper;
@@ -149,7 +145,7 @@ gs_shell_installed_app_removed_cb (GObject *source,
res,
&error);
if (!ret) {
- app = gs_app_widget_get_app (helper->app_widget);
+ app = gs_app_row_get_app (helper->app_row);
g_warning ("failed to remove %s: %s",
gs_app_get_id (app),
error->message);
@@ -160,13 +156,13 @@ gs_shell_installed_app_removed_cb (GObject *source,
g_error_free (error);
} else {
/* remove from the list */
- app = gs_app_widget_get_app (helper->app_widget);
+ app = gs_app_row_get_app (helper->app_row);
g_debug ("removed %s", gs_app_get_id (app));
gs_shell_installed_remove_row (GTK_LIST_BOX (priv->list_box_install),
- GTK_WIDGET (helper->app_widget));
+ GTK_WIDGET (helper->app_row));
}
- g_object_unref (helper->app_widget);
+ g_object_unref (helper->app_row);
g_object_unref (helper->shell_installed);
g_free (helper);
}
@@ -175,7 +171,7 @@ gs_shell_installed_app_removed_cb (GObject *source,
* gs_shell_installed_app_remove_cb:
**/
static void
-gs_shell_installed_app_remove_cb (GsAppWidget *app_widget,
+gs_shell_installed_app_remove_cb (GsAppRow *app_row,
GsShellInstalled *shell_installed)
{
GsApp *app;
@@ -188,7 +184,7 @@ gs_shell_installed_app_remove_cb (GsAppWidget *app_widget,
window = GTK_WINDOW (gtk_builder_get_object (priv->builder, "window_software"));
markup = g_string_new ("");
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (app_row);
g_string_append_printf (markup,
/* TRANSLATORS: this is a prompt message, and
* '%s' is an application summary, e.g. 'GNOME Clocks' */
@@ -216,7 +212,7 @@ gs_shell_installed_app_remove_cb (GsAppWidget *app_widget,
g_debug ("removing %s", gs_app_get_id (app));
helper = g_new0 (GsShellInstalledHelper, 1);
helper->shell_installed = g_object_ref (shell_installed);
- helper->app_widget = g_object_ref (app_widget);
+ helper->app_row = g_object_ref (app_row);
gs_plugin_loader_app_action_async (priv->plugin_loader,
app,
GS_PLUGIN_LOADER_ACTION_REMOVE,
@@ -245,27 +241,27 @@ static void
gs_shell_installed_add_app (GsShellInstalled *shell, GsApp *app)
{
GsShellInstalledPrivate *priv = shell->priv;
- GtkWidget *widget;
+ GtkWidget *app_row;
- widget = gs_app_widget_new ();
- gs_app_widget_set_colorful (GS_APP_WIDGET (widget), FALSE);
- g_signal_connect (widget, "button-clicked",
+ app_row = gs_app_row_new ();
+ gs_app_row_set_colorful (GS_APP_ROW (app_row), FALSE);
+ g_signal_connect (app_row, "button-clicked",
G_CALLBACK (gs_shell_installed_app_remove_cb), shell);
g_signal_connect_object (app, "notify::state",
G_CALLBACK (gs_shell_installed_notify_state_changed_cb),
shell, 0);
- g_signal_connect_swapped (widget, "notify::selected",
+ g_signal_connect_swapped (app_row, "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_install), widget);
- gs_app_widget_set_size_groups (GS_APP_WIDGET (widget),
- priv->sizegroup_image,
- priv->sizegroup_name);
+ gs_app_row_set_app (GS_APP_ROW (app_row), app);
+ gtk_container_add (GTK_CONTAINER (priv->list_box_install), app_row);
+ gs_app_row_set_size_groups (GS_APP_ROW (app_row),
+ priv->sizegroup_image,
+ priv->sizegroup_name);
- gs_app_widget_set_selectable (GS_APP_WIDGET (widget),
- priv->selection_mode);
+ gs_app_row_set_selectable (GS_APP_ROW (app_row),
+ priv->selection_mode);
- gtk_widget_show (widget);
+ gtk_widget_show (app_row);
}
/**
@@ -440,7 +436,6 @@ gs_shell_installed_sort_func (GtkListBoxRow *a,
gpointer user_data)
{
GsApp *a1, *a2;
- GsAppWidget *aw1, *aw2;
gchar *key1 = NULL;
gchar *key2 = NULL;
gint retval = 0;
@@ -451,10 +446,8 @@ gs_shell_installed_sort_func (GtkListBoxRow *a,
goto out;
}
- aw1 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (a)));
- aw2 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (b)));
- a1 = gs_app_widget_get_app (aw1);
- a2 = gs_app_widget_get_app (aw2);
+ a1 = gs_app_row_get_app (GS_APP_ROW (a));
+ a2 = gs_app_row_get_app (GS_APP_ROW (b));
key1 = gs_shell_installed_get_app_sort_key (a1);
key2 = gs_shell_installed_get_app_sort_key (a2);
@@ -489,8 +482,6 @@ gs_shell_installed_list_header_func (GtkListBoxRow *row,
GtkListBoxRow *before,
gpointer user_data)
{
- GsAppWidget *aw1;
- GsAppWidget *aw2;
GtkStyleContext *context;
GtkWidget *header;
@@ -500,10 +491,8 @@ gs_shell_installed_list_header_func (GtkListBoxRow *row,
return;
/* desktop -> addons */
- aw1 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (before)));
- aw2 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
- if (!gs_shell_installed_is_addon_id_kind (gs_app_widget_get_app (aw1)) &&
- gs_shell_installed_is_addon_id_kind (gs_app_widget_get_app (aw2))) {
+ if (!gs_shell_installed_is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (before))) &&
+ gs_shell_installed_is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (row)))) {
/* TRANSLATORS: This is the header dividing the normal
* applications and the addons */
header = gtk_label_new (_("Add-ons"));
@@ -569,8 +558,6 @@ set_selection_mode (GsShellInstalled *shell_installed, gboolean selection_mode)
{
GsShellInstalledPrivate *priv = shell_installed->priv;
GList *children, *l;
- GtkWidget *row;
- GtkWidget *app_widget;
GtkWidget *header;
GtkWidget *widget;
GtkStyleContext *context;
@@ -615,10 +602,9 @@ set_selection_mode (GsShellInstalled *shell_installed, gboolean selection_mode)
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));
- gs_app_widget_set_selectable (GS_APP_WIDGET (app_widget),
- priv->selection_mode);
+ GsAppRow *app_row = GS_APP_ROW (l->data);
+ gs_app_row_set_selectable (app_row,
+ priv->selection_mode);
}
g_list_free (children);
@@ -642,10 +628,9 @@ get_selected_apps (GsShellInstalled *shell_installed)
list = NULL;
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)));
- if (gs_app_widget_get_selected (app_widget)) {
- list = g_list_prepend (list, gs_app_widget_get_app (app_widget));
+ GsAppRow *app_row = GS_APP_ROW (l->data);
+ if (gs_app_row_get_selected (app_row)) {
+ list = g_list_prepend (list, gs_app_row_get_app (app_row));
}
}
g_list_free (children);
@@ -737,9 +722,8 @@ select_all_cb (GtkMenuItem *item, GsShellInstalled *shell_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)));
- gs_app_widget_set_selected (app_widget, TRUE);
+ GsAppRow *app_row = GS_APP_ROW (l->data);
+ gs_app_row_set_selected (app_row, TRUE);
}
g_list_free (children);
}
@@ -752,9 +736,8 @@ select_none_cb (GtkMenuItem *item, GsShellInstalled *shell_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)));
- gs_app_widget_set_selected (app_widget, FALSE);
+ GsAppRow *app_row = GS_APP_ROW (l->data);
+ gs_app_row_set_selected (app_row, FALSE);
}
g_list_free (children);
}
@@ -785,7 +768,7 @@ gs_shell_installed_setup (GsShellInstalled *shell_installed,
/* setup installed */
g_signal_connect (priv->list_box_install, "row-activated",
- G_CALLBACK (gs_shell_installed_app_widget_activated_cb), shell_installed);
+ G_CALLBACK (gs_shell_installed_app_row_activated_cb), shell_installed);
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list_box_install),
gs_shell_installed_list_header_func,
shell_installed, NULL);
diff --git a/src/gs-shell-search.c b/src/gs-shell-search.c
index a7b419c..8509bb4 100644
--- a/src/gs-shell-search.c
+++ b/src/gs-shell-search.c
@@ -28,7 +28,7 @@
#include "gs-shell.h"
#include "gs-app.h"
#include "gs-utils.h"
-#include "gs-app-widget.h"
+#include "gs-app-row.h"
static void gs_shell_search_finalize (GObject *object);
@@ -52,15 +52,13 @@ struct GsShellSearchPrivate
G_DEFINE_TYPE_WITH_PRIVATE (GsShellSearch, gs_shell_search, GTK_TYPE_BIN)
static void
-gs_shell_search_app_widget_activated_cb (GtkListBox *list_box,
- GtkListBoxRow *row,
- GsShellSearch *shell_search)
+gs_shell_search_app_row_activated_cb (GtkListBox *list_box,
+ GtkListBoxRow *row,
+ GsShellSearch *shell_search)
{
GsApp *app;
- GsAppWidget *app_widget;
- app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (GS_APP_ROW (row));
gs_shell_show_app (shell_search->priv->shell, app);
}
@@ -220,14 +218,14 @@ gs_shell_search_show_missing_url (GsApp *app)
}
/**
- * gs_shell_search_app_widget_clicked_cb:
+ * gs_shell_search_app_row_clicked_cb:
**/
static void
-gs_shell_search_app_widget_clicked_cb (GsAppWidget *app_widget,
- GsShellSearch *shell_search)
+gs_shell_search_app_row_clicked_cb (GsAppRow *app_row,
+ GsShellSearch *shell_search)
{
GsApp *app;
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (app_row);
if (gs_app_get_state (app) == GS_APP_STATE_AVAILABLE)
gs_shell_search_app_install (shell_search, app);
else if (gs_app_get_state (app) == GS_APP_STATE_INSTALLED)
@@ -251,7 +249,7 @@ gs_shell_search_get_search_cb (GObject *source_object,
GsShellSearch *shell_search = GS_SHELL_SEARCH (user_data);
GsShellSearchPrivate *priv = shell_search->priv;
GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source_object);
- GtkWidget *widget;
+ GtkWidget *app_row;
gs_stop_spinner (GTK_SPINNER (priv->spinner_search));
@@ -274,16 +272,16 @@ gs_shell_search_get_search_cb (GObject *source_object,
gtk_stack_set_visible_child_name (GTK_STACK (priv->stack_search), "results");
for (l = list; l != NULL; l = l->next) {
app = GS_APP (l->data);
- widget = gs_app_widget_new ();
- g_signal_connect (widget, "button-clicked",
- G_CALLBACK (gs_shell_search_app_widget_clicked_cb),
+ app_row = gs_app_row_new ();
+ g_signal_connect (app_row, "button-clicked",
+ G_CALLBACK (gs_shell_search_app_row_clicked_cb),
shell_search);
- gs_app_widget_set_app (GS_APP_WIDGET (widget), app);
- gtk_container_add (GTK_CONTAINER (priv->list_box_search), widget);
- gs_app_widget_set_size_groups (GS_APP_WIDGET (widget),
- priv->sizegroup_image,
- priv->sizegroup_name);
- gtk_widget_show (widget);
+ gs_app_row_set_app (GS_APP_ROW (app_row), app);
+ gtk_container_add (GTK_CONTAINER (priv->list_box_search), app_row);
+ gs_app_row_set_size_groups (GS_APP_ROW (app_row),
+ priv->sizegroup_image,
+ priv->sizegroup_name);
+ gtk_widget_show (app_row);
}
out: ;
@@ -418,10 +416,8 @@ gs_shell_search_sort_func (GtkListBoxRow *a,
GtkListBoxRow *b,
gpointer user_data)
{
- GsAppWidget *aw1 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (a)));
- GsAppWidget *aw2 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (b)));
- GsApp *a1 = gs_app_widget_get_app (aw1);
- GsApp *a2 = gs_app_widget_get_app (aw2);
+ GsApp *a1 = gs_app_row_get_app (GS_APP_ROW (a));
+ GsApp *a2 = gs_app_row_get_app (GS_APP_ROW (b));
gchar *key1 = gs_shell_search_get_app_sort_key (a1);
gchar *key2 = gs_shell_search_get_app_sort_key (a2);
gint retval;
@@ -488,7 +484,7 @@ gs_shell_search_setup (GsShellSearch *shell_search,
/* setup search */
g_signal_connect (priv->list_box_search, "row-activated",
- G_CALLBACK (gs_shell_search_app_widget_activated_cb), shell_search);
+ G_CALLBACK (gs_shell_search_app_row_activated_cb), shell_search);
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list_box_search),
gs_shell_search_list_header_func,
shell_search, NULL);
diff --git a/src/gs-shell-updates.c b/src/gs-shell-updates.c
index 3e1cafc..9c3837e 100644
--- a/src/gs-shell-updates.c
+++ b/src/gs-shell-updates.c
@@ -28,7 +28,7 @@
#include "gs-utils.h"
#include "gs-offline-updates.h"
#include "gs-app.h"
-#include "gs-app-widget.h"
+#include "gs-app-row.h"
#include "gs-markdown.h"
#include "gs-update-dialog.h"
@@ -458,13 +458,13 @@ gs_shell_updates_get_updates_cb (GsPluginLoader *plugin_loader,
}
for (l = list; l != NULL; l = l->next) {
app = GS_APP (l->data);
- widget = gs_app_widget_new ();
- gs_app_widget_set_show_update (GS_APP_WIDGET (widget), TRUE);
- gs_app_widget_set_app (GS_APP_WIDGET (widget), app);
+ widget = gs_app_row_new ();
+ gs_app_row_set_show_update (GS_APP_ROW (widget), TRUE);
+ gs_app_row_set_app (GS_APP_ROW (widget), app);
gtk_container_add (GTK_CONTAINER (priv->list_box_updates), widget);
- gs_app_widget_set_size_groups (GS_APP_WIDGET (widget),
- priv->sizegroup_image,
- priv->sizegroup_name);
+ gs_app_row_set_size_groups (GS_APP_ROW (widget),
+ priv->sizegroup_image,
+ priv->sizegroup_name);
gtk_widget_show (widget);
}
@@ -552,11 +552,9 @@ gs_shell_updates_activated_cb (GtkListBox *list_box,
GtkListBoxRow *row,
GsShellUpdates *shell_updates)
{
- GsAppWidget *app_widget;
GsApp *app;
- app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (GS_APP_ROW (row));
show_update_details (app, shell_updates);
}
@@ -584,8 +582,6 @@ gs_shell_updates_list_header_func (GtkListBoxRow *row,
GtkListBoxRow *before,
gpointer user_data)
{
- GsAppWidget *aw1;
- GsAppWidget *aw2;
GtkStyleContext *context;
GtkWidget *header;
@@ -595,10 +591,8 @@ gs_shell_updates_list_header_func (GtkListBoxRow *row,
return;
/* desktop -> addons */
- aw1 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (before)));
- aw2 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
- if (!gs_shell_updates_is_addon_id_kind (gs_app_widget_get_app (aw1)) &&
- gs_shell_updates_is_addon_id_kind (gs_app_widget_get_app (aw2))) {
+ if (!gs_shell_updates_is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (before))) &&
+ gs_shell_updates_is_addon_id_kind (gs_app_row_get_app (GS_APP_ROW (row)))) {
/* TRANSLATORS: This is the header dividing the normal
* applications and the addons */
header = gtk_label_new (_("Add-ons"));
@@ -915,10 +909,8 @@ gs_shell_updates_sort_func (GtkListBoxRow *a,
GtkListBoxRow *b,
gpointer user_data)
{
- GsAppWidget *aw1 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (a)));
- GsAppWidget *aw2 = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (b)));
- GsApp *a1 = gs_app_widget_get_app (aw1);
- GsApp *a2 = gs_app_widget_get_app (aw2);
+ GsApp *a1 = gs_app_row_get_app (GS_APP_ROW (a));
+ GsApp *a2 = gs_app_row_get_app (GS_APP_ROW (b));
gchar *key1 = gs_shell_updates_get_app_sort_key (a1);
gchar *key2 = gs_shell_updates_get_app_sort_key (a2);
gint retval;
diff --git a/src/gs-update-dialog.c b/src/gs-update-dialog.c
index 5470b53..86c2717 100644
--- a/src/gs-update-dialog.c
+++ b/src/gs-update-dialog.c
@@ -25,7 +25,7 @@
#include <gtk/gtk.h>
#include "gs-update-dialog.h"
-#include "gs-app-widget.h"
+#include "gs-app-row.h"
#include "gs-markdown.h"
#include "gs-offline-updates.h"
#include "gs-utils.h"
@@ -145,11 +145,9 @@ installed_updates_row_activated_cb (GtkListBox *list_box,
GtkListBoxRow *row,
GsUpdateDialog *dialog)
{
- GsAppWidget *app_widget;
GsApp *app;
- app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
- app = gs_app_widget_get_app (app_widget);
+ app = gs_app_row_get_app (GS_APP_ROW (row));
/* save the current stack state for the back button */
save_back_entry (dialog);
@@ -193,13 +191,13 @@ gs_update_dialog_show_installed_updates (GsUpdateDialog *dialog, GList *installe
gs_container_remove_all (GTK_CONTAINER (priv->list_box_installed_updates));
for (l = installed_updates; l != NULL; l = l->next) {
app = GS_APP (l->data);
- widget = gs_app_widget_new ();
- gs_app_widget_set_show_update (GS_APP_WIDGET (widget), TRUE);
- gs_app_widget_set_app (GS_APP_WIDGET (widget), app);
+ widget = gs_app_row_new ();
+ gs_app_row_set_show_update (GS_APP_ROW (widget), TRUE);
+ gs_app_row_set_app (GS_APP_ROW (widget), app);
gtk_container_add (GTK_CONTAINER (priv->list_box_installed_updates), widget);
- gs_app_widget_set_size_groups (GS_APP_WIDGET (widget),
- priv->sizegroup_image,
- priv->sizegroup_name);
+ gs_app_row_set_size_groups (GS_APP_ROW (widget),
+ priv->sizegroup_image,
+ priv->sizegroup_name);
gtk_widget_show (widget);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]