--- gnome-panel-2.16.1/gnome-panel/panel-action-button.c.use-beagle 2006-08-07 17:07:46.000000000 -0400
+++ gnome-panel-2.16.1/gnome-panel/panel-action-button.c 2006-11-21 08:46:10.000000000 -0500
@@ -189,16 +189,31 @@
{
GdkScreen *screen;
GError *error = NULL;
+ const gchar *prog;
screen = gtk_widget_get_screen (widget);
- panel_launch_desktop_file ("gnome-search-tool.desktop",
- "gnome-search-tool",
- screen,
- &error);
+ if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
+ prog = "beagle-search";
+ panel_launch_desktop_file ("gnome-beagle-search.desktop",
+ "beagle-search",
+ screen,
+ &error);
+ } else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
+ prog = "tracker-search-tool";
+ panel_launch_desktop_file ("fedora-tracker-search-tool.desktop",
+ "tracker-search-tool",
+ screen,
+ &error);
+ } else {
+ prog = "gnome-search-tool";
+ panel_launch_desktop_file ("gnome-search-tool.desktop",
+ "gnome-search-tool",
+ screen,
+ &error);
+ }
if (error) {
char *primary;
- primary = g_strdup_printf (_("Could not execute '%s'"),
- "gnome-search-tool");
+ primary = g_strdup_printf (_("Could not execute '%s'"), prog);
panel_error_dialog (NULL, screen,
"cannot_exec_gnome-search-tool", TRUE,
primary, error->message);
--- gnome-panel-2.16.1/gnome-panel/panel-menu-items.c.use-beagle 2006-11-21 08:36:27.000000000 -0500
+++ gnome-panel-2.16.1/gnome-panel/panel-menu-items.c 2006-11-21 08:43:40.000000000 -0500
@@ -627,9 +627,20 @@
add_menu_separator (places_menu);
- panel_menu_items_append_from_desktop (places_menu,
- "gnome-search-tool.desktop",
- NULL);
+ if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
+ panel_menu_items_append_from_desktop (places_menu,
+ "gnome-beagle-search.desktop",
+ NULL);
+ } else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
+ panel_menu_items_append_from_desktop (places_menu,
+ "fedora-tracker-search-tool.desktop",
+ NULL);
+ } else {
+ panel_menu_items_append_from_desktop (places_menu,
+ "gnome-search-tool.desktop",
+ NULL);
+ }
+
panel_recent_append_documents_menu (places_menu,
place_item->priv->recent_manager);
--- gnome-panel-2.16.1/gnome-panel/panel-util.h.use-beagle 2006-11-21 08:46:52.000000000 -0500
+++ gnome-panel-2.16.1/gnome-panel/panel-util.h 2006-11-21 08:47:28.000000000 -0500
@@ -16,6 +16,7 @@
GList *file_list,
GdkScreen *screen,
GError **error);
+gboolean panel_has_desktop_file (const char *desktop_file);
void panel_launch_desktop_file (const char *desktop_file,
const char *fallback_exec,
GdkScreen *screen,
--- gnome-panel-2.16.1/gnome-panel/panel-util.c.use-beagle 2006-11-21 08:46:59.000000000 -0500
+++ gnome-panel-2.16.1/gnome-panel/panel-util.c 2006-11-21 08:47:54.000000000 -0500
@@ -96,6 +96,23 @@
gnome_desktop_item_unref (ditem);
}
+gboolean
+panel_has_desktop_file (const char *desktop_file)
+{
+ GnomeDesktopItem *ditem;
+
+ if (g_path_is_absolute (desktop_file))
+ ditem = gnome_desktop_item_new_from_file (desktop_file, 0, NULL);
+ else
+ ditem = gnome_desktop_item_new_from_basename (desktop_file, 0, NULL);
+ if (ditem != NULL) {
+ gnome_desktop_item_unref (ditem);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
void
panel_launch_desktop_file (const char *desktop_file,
const char *fallback_exec,