[glib/wip/menus-rebase2: 17/64] Remove g_menu_item_unset_attribute
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/menus-rebase2: 17/64] Remove g_menu_item_unset_attribute
- Date: Fri, 18 Nov 2011 16:26:51 +0000 (UTC)
commit a37d6b1068843a3e54de88875f7c8afe48cfce7f
Author: Ryan Lortie <desrt desrt ca>
Date: Mon Jul 11 01:31:07 2011 +0200
Remove g_menu_item_unset_attribute
Use g_menu_item_set_attribute to NULL instead
Also, modify g_menu_item_set_link to support NULL for unset
gio/gmenu.c | 47 +++++++++++++++++++++++++++--------------------
1 files changed, 27 insertions(+), 20 deletions(-)
---
diff --git a/gio/gmenu.c b/gio/gmenu.c
index a86d9d2..1e3e7f5 100644
--- a/gio/gmenu.c
+++ b/gio/gmenu.c
@@ -341,11 +341,13 @@ g_menu_item_set_attribute_value (GMenuItem *menu_item,
{
g_return_if_fail (G_IS_MENU_ITEM (menu_item));
g_return_if_fail (attribute_quark != 0);
- g_return_if_fail (value != NULL);
g_menu_item_clear_cow (menu_item);
- g_hash_table_insert (menu_item->attributes, GINT_TO_POINTER (attribute_quark), g_variant_ref_sink (value));
+ if (value != NULL)
+ g_hash_table_insert (menu_item->attributes, GINT_TO_POINTER (attribute), g_variant_ref_sink (value));
+ else
+ g_hash_table_remove (menu_item->attributes, GINT_TO_POINTER (attribute));
}
void
@@ -355,25 +357,21 @@ g_menu_item_set_attribute (GMenuItem *menu_item,
...)
{
GVariant *value;
- va_list ap;
- va_start (ap, format_string);
- value = g_variant_new_va (format_string, NULL, &ap);
- va_end (ap);
+ if (format_string != NULL)
+ {
+ va_list ap;
- g_menu_item_set_attribute_value (menu_item, attribute_quark, value);
-}
+ va_start (ap, format_string);
+ value = g_variant_new_va (format_string, NULL, &ap);
+ va_end (ap);
+ }
+ else
+ value = NULL;
-void
-g_menu_item_unset_attribute (GMenuItem *menu_item,
- GQuark attribute_quark)
-{
- g_hash_table_remove (menu_item->attributes, GINT_TO_POINTER (attribute_quark));
+ g_menu_item_set_attribute_value (menu_item, attribute, value);
}
-
-
-
void
g_menu_item_set_link (GMenuItem *menu_item,
GQuark link_quark,
@@ -381,18 +379,27 @@ g_menu_item_set_link (GMenuItem *menu_item,
{
g_return_if_fail (G_IS_MENU_ITEM (menu_item));
g_return_if_fail (link_quark != 0);
- g_return_if_fail (link != NULL);
g_menu_item_clear_cow (menu_item);
- g_hash_table_insert (menu_item->links, GINT_TO_POINTER (link_quark), g_object_ref (link));
+ if (model != NULL)
+ g_hash_table_insert (menu_item->links, GINT_TO_POINTER (link), g_object_ref (model));
+ else
+ g_hash_table_remove (menu_item->links, GINT_TO_POINTER (link));
}
void
g_menu_item_set_label (GMenuItem *menu_item,
const gchar *label)
{
- g_menu_item_set_attribute (menu_item, G_MENU_ATTRIBUTE_LABEL, "s", label);
+ GVariant *value;
+
+ if (label != NULL)
+ value = g_variant_new_string (label);
+ else
+ value = NULL;
+
+ g_menu_item_set_attribute_value (menu_item, G_MENU_ATTRIBUTE_LABEL, value);
}
void
@@ -414,7 +421,7 @@ g_menu_item_set_action (GMenuItem *menu_item,
const gchar *action)
{
g_menu_item_set_attribute (menu_item, G_MENU_ATTRIBUTE_ACTION, "s", action);
- g_menu_item_unset_attribute (menu_item, G_MENU_ATTRIBUTE_TARGET);
+ g_menu_item_set_attribute (menu_item, G_MENU_ATTRIBUTE_TARGET, NULL);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]