Updating branch refs/heads/jannis/global-monitoring
to 0a6201207e8336dbd7c4cdc11a37ca405471b2c9 (commit)
from db8deec0266bea338b7b1c3e5e03c45ba7fba4b3 (commit)
commit 0a6201207e8336dbd7c4cdc11a37ca405471b2c9
Author: Jannis Pohlmann <[email protected]>
Date: Tue Mar 9 19:35:39 2010 +0100
Add new method garcon_menu_item_pool_lookup_file().
This method allows to search the GarconMenuItemPool for a GarconMenuItem
that belongs to a given GFile.
garcon/garcon-menu-item-pool.c | 28 ++++++++++++++++++++++++++++
garcon/garcon-menu-item-pool.h | 2 ++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 49ec005..5f0923f 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -134,6 +134,34 @@ garcon_menu_item_pool_lookup (GarconMenuItemPool *pool,
+GarconMenuItem *
+garcon_menu_item_pool_lookup_file (GarconMenuItemPool *pool,
+ GFile *file)
+{
+ GarconMenuItem *result = NULL;
+ GHashTableIter iter;
+ gpointer item;
+ GFile *item_file;
+
+ g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+ g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+ g_hash_table_iter_init (&iter, pool->priv->items);
+ while (result == NULL && g_hash_table_iter_next (&iter, NULL, &item))
+ {
+ item_file = garcon_menu_item_get_file (item);
+
+ if (g_file_equal (item_file, file))
+ result = item;
+
+ g_object_unref (item_file);
+ }
+
+ return result;
+}
+
+
+
void
garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index 9e127ae..3d95346 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -49,6 +49,8 @@ void garcon_menu_item_pool_insert
(GarconMenuItemPool
GarconMenuItem
*item);
GarconMenuItem *garcon_menu_item_pool_lookup
(GarconMenuItemPool *pool,
const gchar
*desktop_id);
+GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
+ GFile
*file);
void garcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
GHFunc
func,
gpointer
user_data);
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits