diff options
author | Ted Gould <ted@gould.cx> | 2010-02-05 10:57:31 -0800 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-05 10:57:31 -0800 |
commit | f3a13c8b0be55927b8b91ff37ba922ba323b44b7 (patch) | |
tree | 30b810d1530b567c9b597190b7746fcca201c715 /libdbusmenu-glib/menuitem.c | |
parent | fc35f16de9710c7aa59d3acf88eaa7c215838e36 (diff) | |
parent | 873763b18e85fe2d53f847e00d5207e4926bb619 (diff) | |
download | libdbusmenu-f3a13c8b0be55927b8b91ff37ba922ba323b44b7.tar.gz libdbusmenu-f3a13c8b0be55927b8b91ff37ba922ba323b44b7.tar.bz2 libdbusmenu-f3a13c8b0be55927b8b91ff37ba922ba323b44b7.zip |
Sync to trunk
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r-- | libdbusmenu-glib/menuitem.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index cacc0a8..a2d2682 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -343,7 +343,11 @@ get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec) if (priv->id == -1) { priv->id = menuitem_next_id++; } - g_value_set_int(value, priv->id); + if (dbusmenu_menuitem_get_root(DBUSMENU_MENUITEM(obj))) { + g_value_set_int(value, 0); + } else { + g_value_set_int(value, priv->id); + } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, pspec); @@ -984,6 +988,26 @@ dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * property) } /** + dbusmenu_menuitem_property_remove: + @mi: The #DbusmenuMenuitem to remove the property on. + @property: The property to look for. + + Removes a property from the menuitem. +*/ +void +dbusmenu_menuitem_property_remove (DbusmenuMenuitem * mi, const gchar * property) +{ + g_return_if_fail(DBUSMENU_IS_MENUITEM(mi)); + g_return_if_fail(property != NULL); + + DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi); + + g_hash_table_remove(priv->properties, property); + + return; +} + +/** dbusmenu_menuitem_properties_list: @mi: #DbusmenuMenuitem to list the properties on |