[gnome-software] Make GsApps notify when their key colors are set
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Make GsApps notify when their key colors are set
- Date: Wed, 17 Jul 2019 14:51:18 +0000 (UTC)
commit 693c0af47c9c527d51e876c9c1bd6213b6996cfa
Author: Joaquim Rocha <jrocha endlessm com>
Date: Mon Sep 25 14:16:08 2017 +0200
Make GsApps notify when their key colors are set
This patch introduces a new GsApp property "key-colors" which gets
notified when changed.
lib/gs-app.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
---
diff --git a/lib/gs-app.c b/lib/gs-app.c
index 5f3c4798..38989397 100644
--- a/lib/gs-app.c
+++ b/lib/gs-app.c
@@ -132,6 +132,7 @@ enum {
PROP_INSTALL_DATE,
PROP_QUIRK,
PROP_PENDING_ACTION,
+ PROP_KEY_COLORS,
PROP_LAST
};
@@ -3607,7 +3608,8 @@ gs_app_set_key_colors (GsApp *app, GPtrArray *key_colors)
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (key_colors != NULL);
locker = g_mutex_locker_new (&priv->mutex);
- _g_set_ptr_array (&priv->key_colors, key_colors);
+ if (_g_set_ptr_array (&priv->key_colors, key_colors))
+ gs_app_queue_notify (app, "key-colors");
}
/**
@@ -3626,6 +3628,7 @@ gs_app_add_key_color (GsApp *app, GdkRGBA *key_color)
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (key_color != NULL);
g_ptr_array_add (priv->key_colors, gdk_rgba_copy (key_color));
+ gs_app_queue_notify (app, "key-colors");
}
/**
@@ -4047,6 +4050,9 @@ gs_app_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *
case PROP_QUIRK:
g_value_set_uint64 (value, priv->quirk);
break;
+ case PROP_KEY_COLORS:
+ g_value_set_boxed (value, priv->key_colors);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -4102,6 +4108,9 @@ gs_app_set_property (GObject *object, guint prop_id, const GValue *value, GParam
case PROP_QUIRK:
priv->quirk = g_value_get_uint64 (value);
break;
+ case PROP_KEY_COLORS:
+ gs_app_set_key_colors (app, g_value_get_boxed (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -4289,6 +4298,13 @@ gs_app_class_init (GsAppClass *klass)
0, G_MAXUINT64, 0,
G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_PENDING_ACTION, pspec);
+
+ /**
+ * GsApp:key-colors:
+ */
+ pspec = g_param_spec_boxed ("key-colors", NULL, NULL,
+ G_TYPE_PTR_ARRAY, G_PARAM_READWRITE);
+ g_object_class_install_property (object_class, PROP_KEY_COLORS, pspec);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]