|
|
5eead24 |
diff -up gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.c.search gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.c
|
|
|
5eead24 |
--- gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.c.search 2009-04-19 13:45:09.000000000 -0400
|
|
|
5eead24 |
+++ gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.c 2009-08-25 11:33:36.666288948 -0400
|
|
|
5eead24 |
@@ -29,6 +29,8 @@
|
|
|
5eead24 |
#include <gdk/gdk.h>
|
|
|
5eead24 |
#include <gtk/gtk.h>
|
|
|
5eead24 |
|
|
|
5eead24 |
+#include <libgnome/gnome-desktop-item.h>
|
|
|
5eead24 |
+
|
|
|
5eead24 |
#include "panel-error.h"
|
|
|
5eead24 |
#include "panel-glib.h"
|
|
|
5eead24 |
|
|
|
5eead24 |
@@ -201,6 +203,23 @@ panel_launch_desktop_file (const char *
|
|
|
5eead24 |
}
|
|
|
5eead24 |
|
|
|
5eead24 |
gboolean
|
|
|
5eead24 |
+panel_has_desktop_file (const char *desktop_file)
|
|
|
5eead24 |
+{
|
|
|
5eead24 |
+ GnomeDesktopItem *ditem;
|
|
|
5eead24 |
+
|
|
|
5eead24 |
+ if (g_path_is_absolute (desktop_file))
|
|
|
5eead24 |
+ ditem = gnome_desktop_item_new_from_file (desktop_file, 0, NULL);
|
|
|
5eead24 |
+ else
|
|
|
5eead24 |
+ ditem = gnome_desktop_item_new_from_basename (desktop_file, 0, NULL);
|
|
|
5eead24 |
+ if (ditem != NULL) {
|
|
|
5eead24 |
+ gnome_desktop_item_unref (ditem);
|
|
|
5eead24 |
+ return TRUE;
|
|
|
5eead24 |
+ }
|
|
|
5eead24 |
+
|
|
|
5eead24 |
+ return FALSE;
|
|
|
5eead24 |
+}
|
|
|
5eead24 |
+
|
|
|
5eead24 |
+gboolean
|
|
|
5eead24 |
panel_launch_desktop_file_with_fallback (const char *desktop_file,
|
|
|
5eead24 |
const char *fallback_exec,
|
|
|
5eead24 |
GdkScreen *screen,
|
|
|
5eead24 |
diff -up gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.h.search gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.h
|
|
|
5eead24 |
--- gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.h.search 2009-04-19 13:45:09.000000000 -0400
|
|
|
5eead24 |
+++ gnome-panel-2.27.91/gnome-panel/libpanel-util/panel-launch.h 2009-08-25 11:33:36.667276923 -0400
|
|
|
5eead24 |
@@ -47,6 +47,8 @@ gboolean panel_launch_key_file (GKeyFile
|
|
|
5eead24 |
GdkScreen *screen,
|
|
|
5eead24 |
GError **error);
|
|
|
5eead24 |
|
|
|
5eead24 |
+gboolean panel_has_desktop_file (const char *desktop_file);
|
|
|
5eead24 |
+
|
|
|
5eead24 |
gboolean panel_launch_desktop_file (const char *desktop_file,
|
|
|
5eead24 |
GdkScreen *screen,
|
|
|
5eead24 |
GError **error);
|
|
|
5eead24 |
diff -up gnome-panel-2.27.91/gnome-panel/panel-action-button.c.search gnome-panel-2.27.91/gnome-panel/panel-action-button.c
|
|
|
5eead24 |
--- gnome-panel-2.27.91/gnome-panel/panel-action-button.c.search 2009-04-19 13:45:09.000000000 -0400
|
|
|
5eead24 |
+++ gnome-panel-2.27.91/gnome-panel/panel-action-button.c 2009-08-25 11:33:36.671290074 -0400
|
|
|
5eead24 |
@@ -219,9 +219,19 @@ panel_action_search (GtkWidget *widget)
|
|
|
5eead24 |
GdkScreen *screen;
|
|
|
5eead24 |
|
|
|
5eead24 |
screen = gtk_widget_get_screen (widget);
|
|
|
5eead24 |
- panel_launch_desktop_file_with_fallback ("gnome-search-tool.desktop",
|
|
|
5eead24 |
- "gnome-search-tool",
|
|
|
5eead24 |
- screen, NULL);
|
|
|
5eead24 |
+ if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
|
|
|
5eead24 |
+ panel_launch_desktop_file ("gnome-beagle-search.desktop",
|
|
|
5eead24 |
+ screen,
|
|
|
5eead24 |
+ NULL);
|
|
|
5eead24 |
+ } else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
|
|
|
5eead24 |
+ panel_launch_desktop_file ("fedora-tracker-search-tool.desktop",
|
|
|
5eead24 |
+ screen,
|
|
|
5eead24 |
+ NULL);
|
|
|
5eead24 |
+ } else {
|
|
|
5eead24 |
+ panel_launch_desktop_file ("gnome-search-tool.desktop",
|
|
|
5eead24 |
+ screen,
|
|
|
5eead24 |
+ NULL);
|
|
|
5eead24 |
+ }
|
|
|
5eead24 |
}
|
|
|
5eead24 |
|
|
|
5eead24 |
/* Force Quit
|
|
|
5eead24 |
diff -up gnome-panel-2.27.91/gnome-panel/panel-menu-items.c.search gnome-panel-2.27.91/gnome-panel/panel-menu-items.c
|
|
|
5eead24 |
--- gnome-panel-2.27.91/gnome-panel/panel-menu-items.c.search 2009-08-25 11:33:36.643267021 -0400
|
|
|
5eead24 |
+++ gnome-panel-2.27.91/gnome-panel/panel-menu-items.c 2009-08-25 11:42:41.517027329 -0400
|
|
|
5eead24 |
@@ -1062,10 +1062,22 @@ panel_place_menu_item_create_menu (Panel
|
|
|
5eead24 |
|
|
|
5eead24 |
add_menu_separator (places_menu);
|
|
|
5eead24 |
|
|
|
5eead24 |
- panel_menu_items_append_from_desktop (places_menu,
|
|
|
5eead24 |
- "gnome-search-tool.desktop",
|
|
|
5eead24 |
- NULL,
|
|
|
5eead24 |
- FALSE);
|
|
|
5eead24 |
+ if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
|
|
|
5eead24 |
+ panel_menu_items_append_from_desktop (places_menu,
|
|
|
5eead24 |
+ "gnome-beagle-search.desktop",
|
|
|
5eead24 |
+ NULL,
|
|
|
5eead24 |
+ FALSE);
|
|
|
5eead24 |
+ } else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
|
|
|
5eead24 |
+ panel_menu_items_append_from_desktop (places_menu,
|
|
|
5eead24 |
+ "fedora-tracker-search-tool.desktop",
|
|
|
5eead24 |
+ NULL,
|
|
|
5eead24 |
+ FALSE);
|
|
|
5eead24 |
+ } else {
|
|
|
5eead24 |
+ panel_menu_items_append_from_desktop (places_menu,
|
|
|
5eead24 |
+ "gnome-search-tool.desktop",
|
|
|
5eead24 |
+ NULL,
|
|
|
5eead24 |
+ FALSE);
|
|
|
5eead24 |
+ }
|
|
|
5eead24 |
|
|
|
5eead24 |
panel_recent_append_documents_menu (places_menu,
|
|
|
5eead24 |
place_item->priv->recent_manager);
|