[libdazzle] tree-node: add dzl_tree_node_set_gicon()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libdazzle] tree-node: add dzl_tree_node_set_gicon()
- Date: Tue, 5 Dec 2017 10:23:07 +0000 (UTC)
commit 0122b37f4458216296162cdbcd7f50f3df7be535
Author: Christian Hergert <chergert redhat com>
Date: Tue Dec 5 02:12:05 2017 -0800
tree-node: add dzl_tree_node_set_gicon()
This allows overwriting the icon for the tree node. We should
probably cleanup how icon management works now.
src/tree/dzl-tree-node.c | 17 ++++++++++++++++-
src/tree/dzl-tree-node.h | 3 +++
2 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/src/tree/dzl-tree-node.c b/src/tree/dzl-tree-node.c
index 84a9a2e..1e1e6f9 100644
--- a/src/tree/dzl-tree-node.c
+++ b/src/tree/dzl-tree-node.c
@@ -268,6 +268,17 @@ dzl_tree_node_get_parent (DzlTreeNode *node)
return node->parent;
}
+void
+dzl_tree_node_set_gicon (DzlTreeNode *self,
+ GIcon *gicon)
+{
+ g_return_if_fail (DZL_IS_TREE_NODE (self));
+ g_return_if_fail (!gicon || G_IS_ICON (gicon));
+
+ if (g_set_object (&self->gicon, gicon))
+ g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_GICON]);
+}
+
/**
* dzl_tree_node_get_gicon:
*
@@ -755,6 +766,10 @@ dzl_tree_node_set_property (GObject *object,
node->expanded_icon_name = g_quark_from_string (g_value_get_string (value));
break;
+ case PROP_GICON:
+ dzl_tree_node_set_gicon (node, g_value_get_object (value));
+ break;
+
case PROP_ICON_NAME:
dzl_tree_node_set_icon_name (node, g_value_get_string (value));
break;
@@ -841,7 +856,7 @@ dzl_tree_node_class_init (DzlTreeNodeClass *klass)
"GIcon",
"The GIcon object",
G_TYPE_ICON,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* DzlTreeNode:item:
diff --git a/src/tree/dzl-tree-node.h b/src/tree/dzl-tree-node.h
index 057de5e..ae654ae 100644
--- a/src/tree/dzl-tree-node.h
+++ b/src/tree/dzl-tree-node.h
@@ -96,6 +96,9 @@ void dzl_tree_node_set_use_markup (DzlTreeNode *sel
gboolean use_markup);
DZL_AVAILABLE_IN_ALL
GIcon *dzl_tree_node_get_gicon (DzlTreeNode *self);
+DZL_AVAILABLE_IN_3_28
+void dzl_tree_node_set_gicon (DzlTreeNode *self,
+ GIcon *icon);
DZL_AVAILABLE_IN_ALL
void dzl_tree_node_add_emblem (DzlTreeNode *self,
const gchar *emblem_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]