[Xfce4-commits] <garcon:jannis/global-monitoring> Squashme

Jannis Pohlmann noreply at xfce.org
Sun Sep 5 14:50:33 CEST 2010


Updating branch refs/heads/jannis/global-monitoring
         to 25864bee17ba4394e2db8c91ff38d91e8f063971 (commit)
       from a45a599c89f2ef788f0d67d81d431aeea94285e9 (commit)

commit 25864bee17ba4394e2db8c91ff38d91e8f063971
Author: Jannis Pohlmann <jannis at xfce.org>
Date:   Mon Aug 30 15:01:46 2010 +0200

    Squashme

 garcon/garcon-menu.c |   78 +++++++++++++++++++++++++-------------------------
 1 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 902afb9..930c938 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2150,6 +2150,43 @@ garcon_menu_find_file_item (GarconMenu *menu,
 
 
 static void
+garcon_menu_update_item_file (GarconMenu  *menu,
+                              const gchar *desktop_id,
+                              GFile       *file)
+{
+  GarconMenuItem *item;
+  gboolean        included_somewhere = FALSE;
+  gchar           *uri;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+  g_return_if_fail (desktop_id != NULL && *desktop_id != '\0');
+  g_return_if_fail (G_IS_FILE (file));
+
+  uri = g_file_get_uri (file);
+
+  /* try to load the desktop file from the item cache */
+  item = garcon_menu_item_cache_lookup (menu->priv->cache, uri, desktop_id);
+  if (item != NULL)
+    {
+      /* insert the item into the appropriate menus, if there are any */
+      included_somewhere = garcon_menu_update_item (menu, item, FALSE);
+      included_somewhere = garcon_menu_update_item (menu, item, TRUE) || included_somewhere;
+
+      /* unload the item if it isn't included in any menus */
+      if (!included_somewhere)
+        {
+          /* remove the item from the item cache, so we are forced to reload 
+           * it from disk the next time it becomes available */
+          garcon_menu_item_cache_remove_file (menu->priv->cache, file);
+        }
+    }
+
+  g_free (uri);
+}
+
+
+
+static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
   GList *lp;
@@ -2610,26 +2647,7 @@ garcon_menu_app_dir_changed (GarconMenu       *menu,
               /* determine the desktop ID for this file */
               if (garcon_menu_collect_file (menu, file, NULL, NULL, &desktop_id))
                 {
-                  uri = g_file_get_uri (file);
-
-                  /* try to load the desktop file from the item cache */
-                  item = garcon_menu_item_cache_lookup (menu->priv->cache, uri, desktop_id);
-                  if (item != NULL)
-                    {
-                      /* insert the item into the appropriate menus, if there are any */
-                      included_somewhere = garcon_menu_update_item (menu, item, FALSE);
-                      included_somewhere = garcon_menu_update_item (menu, item, TRUE) || included_somewhere;
-
-                      /* unload the item if it isn't included in any menus */
-                      if (!included_somewhere)
-                        {
-                          /* remove the item from the item cache, so we are forced to reload 
-                           * it from disk the next time it becomes available */
-                          garcon_menu_item_cache_remove_file (menu->priv->cache, file);
-                        }
-                    }
-
-                  g_free (uri);
+                  garcon_menu_update_file_item (menu, desktop_id, file);
                   g_free (desktop_id);
                 }
             }
@@ -2718,25 +2736,7 @@ garcon_menu_app_dir_changed (GarconMenu       *menu,
               /* determine the next-priority desktop file with the same desktop ID */
               if (garcon_menu_collect_file (menu, NULL, desktop_id, &replacement_file, NULL))
                 {
-                  uri = g_file_get_uri (replacement_file);
-
-                  item = garcon_menu_item_cache_lookup (menu->priv->cache, uri, desktop_id);
-                  if (item != NULL)
-                    {
-                      /* insert the item into the appropriate menus, if there are any */
-                      included_somewhere = garcon_menu_update_item (menu, item, FALSE);
-                      included_somewhere = garcon_menu_update_item (menu, item, TRUE) || included_somewhere;
-
-                      /* unload the item if it isn't included in any menus */
-                      if (!included_somewhere)
-                        {
-                          /* remove the item from the item cache, so we are forced to reload 
-                           * it from disk the next time it becomes available */
-                          garcon_menu_item_cache_remove_file (menu->priv->cache, file);
-                        }
-                    }
-
-                  g_free (uri);
+                  garcon_menu_update_item_file (menu, desktop_id, file);
                   g_object_unref (replacement_file);
                 }
 



More information about the Xfce4-commits mailing list