diff options
author | Matthias Clasen <mclasen@fedoraproject.org> | 2008-02-14 02:13:40 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@fedoraproject.org> | 2008-02-14 02:13:40 +0000 |
commit | 88014b2ec59cfb19a6dd2aa385bb7df359fadf9b (patch) | |
tree | fd53ef0440be02bb1260e1af921de0ae72bd1311 /desktop-file-monitoring.patch | |
parent | f5b219ea94709bb17b0afb83f93d331cd9b91cbf (diff) | |
download | gnome-panel-88014b2ec59cfb19a6dd2aa385bb7df359fadf9b.tar.gz gnome-panel-88014b2ec59cfb19a6dd2aa385bb7df359fadf9b.tar.xz gnome-panel-88014b2ec59cfb19a6dd2aa385bb7df359fadf9b.zip |
2.21.91gnome-panel-2_21_91-1_fc9
Diffstat (limited to 'desktop-file-monitoring.patch')
-rw-r--r-- | desktop-file-monitoring.patch | 115 |
1 files changed, 55 insertions, 60 deletions
diff --git a/desktop-file-monitoring.patch b/desktop-file-monitoring.patch index 20d2fa4..7048299 100644 --- a/desktop-file-monitoring.patch +++ b/desktop-file-monitoring.patch @@ -1,26 +1,26 @@ -diff -up gnome-panel-2.19.92/gnome-panel/launcher.h.desktop-file-monitoring gnome-panel-2.19.92/gnome-panel/launcher.h ---- gnome-panel-2.19.92/gnome-panel/launcher.h.desktop-file-monitoring 2007-09-04 13:34:26.000000000 -0400 -+++ gnome-panel-2.19.92/gnome-panel/launcher.h 2007-09-13 12:23:44.000000000 -0400 -@@ -13,6 +13,7 @@ - - #include "applet.h" - #include "panel-widget.h" -+#include <libgnomevfs/gnome-vfs.h> - - G_BEGIN_DECLS - -@@ -29,6 +30,8 @@ typedef struct { +diff -up gnome-panel-2.21.91/gnome-panel/launcher.h.desktop-file-monitoring gnome-panel-2.21.91/gnome-panel/launcher.h +--- gnome-panel-2.21.91/gnome-panel/launcher.h.desktop-file-monitoring 2008-02-11 16:15:47.000000000 -0500 ++++ gnome-panel-2.21.91/gnome-panel/launcher.h 2008-02-13 17:50:59.000000000 -0500 +@@ -29,6 +29,8 @@ typedef struct { GSList *error_dialogs; gulong destroy_handler; + -+ GnomeVFSMonitorHandle *monitor; ++ GFileMonitor *monitor; } Launcher; void panel_launcher_create (PanelToplevel *toplevel, -diff -up gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.h.desktop-file-monitoring gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.h ---- gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.h.desktop-file-monitoring 2007-09-04 13:34:26.000000000 -0400 -+++ gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.h 2007-09-13 12:23:44.000000000 -0400 +@@ -58,7 +60,6 @@ void launcher_load_from_gconf + gint position, + const char *id); + +-void panel_launcher_delete (Launcher *launcher); + + void ask_about_launcher (const char *file, + PanelWidget *panel, +diff -up gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.h.desktop-file-monitoring gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.h +--- gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.h.desktop-file-monitoring 2008-02-11 16:15:47.000000000 -0500 ++++ gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.h 2008-02-13 17:34:43.000000000 -0500 @@ -101,6 +101,8 @@ void panel_ditem_editor_set_uri (PanelDI const char *uri); @@ -30,39 +30,39 @@ diff -up gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.h.desktop-file-monit void panel_ditem_register_save_uri_func (PanelDItemEditor *dialog, PanelDitemSaveUri save_uri, -diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnome-panel-2.19.92/gnome-panel/launcher.c ---- gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring 2007-09-04 13:34:26.000000000 -0400 -+++ gnome-panel-2.19.92/gnome-panel/launcher.c 2007-09-13 12:23:44.000000000 -0400 -@@ -285,6 +285,8 @@ static void +diff -up gnome-panel-2.21.91/gnome-panel/launcher.c.desktop-file-monitoring gnome-panel-2.21.91/gnome-panel/launcher.c +--- gnome-panel-2.21.91/gnome-panel/launcher.c.desktop-file-monitoring 2008-02-11 16:15:47.000000000 -0500 ++++ gnome-panel-2.21.91/gnome-panel/launcher.c 2008-02-13 18:04:07.000000000 -0500 +@@ -307,6 +307,8 @@ static void destroy_launcher (GtkWidget *widget, Launcher *launcher) { -+ if (launcher->monitor) -+ gnome_vfs_monitor_cancel (launcher->monitor); ++ if (launcher->monitor) ++ g_object_unref (launcher->monitor); launcher_properties_destroy (launcher); launcher_widget_destroy_open_dialogs (launcher); } -@@ -458,6 +460,37 @@ drag_data_get_cb (GtkWidget *widg +@@ -488,6 +490,37 @@ drag_data_get_cb (GtkWidget *widg } +static void setup_button (Launcher *launcher); + +static void -+desktop_file_changed (GnomeVFSMonitorHandle *handle, -+ const gchar *monitor_uri, -+ const gchar *info_uri, -+ GnomeVFSMonitorEventType event_type, ++desktop_file_changed (GFileMonitor *monitor, ++ GFile *file, ++ GFile *other_file, ++ GFileMonitorEvent event_type, + gpointer user_data) +{ + Launcher *launcher = user_data; + GKeyFile *key_file; + -+ if (event_type == GNOME_VFS_MONITOR_EVENT_CHANGED || -+ event_type == GNOME_VFS_MONITOR_EVENT_CREATED) { ++ if (event_type == G_FILE_MONITOR_EVENT_CHANGED || ++ event_type == G_FILE_MONITOR_EVENT_CREATED) { + gchar *path; + -+ path = gnome_vfs_get_local_path_from_uri (monitor_uri); ++ path = g_file_get_path (file); + + key_file = g_key_file_new (); + if (g_key_file_load_from_file (key_file, path, @@ -80,7 +80,7 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom static Launcher * create_launcher (const char *location) { -@@ -534,6 +567,25 @@ create_launcher (const char *location) +@@ -564,6 +597,21 @@ create_launcher (const char *location) launcher->key_file = key_file; launcher->prop_dialog = NULL; launcher->destroy_handler = 0; @@ -91,22 +91,18 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom + * file contains a X-Panel-Monitor entry. + */ + if (g_key_file_get_boolean (key_file, "Desktop Entry", "X-Panel-Monitor", NULL)) { -+ gchar *uri; -+ -+ ++ GFile *file; + -+ uri = g_strdup_printf ("file:%s", new_location); -+ gnome_vfs_monitor_add (&launcher->monitor, -+ uri, -+ GNOME_VFS_MONITOR_FILE, -+ desktop_file_changed, -+ launcher); -+ g_free (uri); ++ file = g_file_new_for_path (new_location); ++ launcher->monitor = g_file_monitor_file (file, 0, NULL, NULL); ++ g_signal_connect (launcher->monitor, "changed", ++ G_CALLBACK (desktop_file_changed), launcher); ++ g_object_unref (file); + } /* Icon will be setup later */ launcher->button = button_widget_new (NULL /* icon */, -@@ -662,6 +714,15 @@ static void +@@ -694,6 +742,15 @@ static void launcher_changed (PanelDItemEditor *dialog, Launcher *launcher) { @@ -115,14 +111,14 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom + * user changes. + */ + if (launcher->monitor) { -+ gnome_vfs_monitor_cancel (launcher->monitor); ++ g_object_unref (launcher->monitor); + launcher->monitor = NULL; + } + /* Setup the button look */ setup_button (launcher); } -@@ -733,6 +794,43 @@ launcher_save_uri (PanelDItemEditor *dia +@@ -765,6 +822,42 @@ launcher_save_uri (PanelDItemEditor *dia return NULL; } @@ -150,23 +146,22 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom +static void +start_monitoring (Launcher *launcher) +{ -+ gchar *uri; ++ GFile *file; + -+ uri = g_strdup_printf ("file:%s", launcher->location); ++ file = g_file_new_for_path (launcher->location); + if (launcher->monitor) -+ gnome_vfs_monitor_cancel (launcher->monitor); -+ gnome_vfs_monitor_add (&launcher->monitor, -+ uri, -+ GNOME_VFS_MONITOR_FILE, -+ desktop_file_changed, -+ launcher); -+ g_free (uri); ++ g_object_unref (launcher->monitor); ++ launcher->monitor = g_file_monitor_file (file, 0, NULL, NULL); ++ g_signal_connect (launcher->monitor, "changed", ++ G_CALLBACK (desktop_file_changed), ++ launcher); ++ g_object_unref (file); +} + static void launcher_saved (GtkWidget *dialog, Launcher *launcher) -@@ -740,11 +838,15 @@ launcher_saved (GtkWidget *dialog, +@@ -772,11 +865,15 @@ launcher_saved (GtkWidget *dialog, const char *uri; GConfClient *client; const char *key; @@ -182,7 +177,7 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom if (uri && launcher->location && strcmp (uri, launcher->location)) { client = panel_gconf_get_client (); -@@ -757,6 +859,9 @@ launcher_saved (GtkWidget *dialog, +@@ -789,6 +886,9 @@ launcher_saved (GtkWidget *dialog, if (launcher->location) g_free (launcher->location); launcher->location = g_strdup (uri); @@ -192,7 +187,7 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom } } -@@ -923,6 +1028,7 @@ launcher_new_saved (GtkWidget *dialog, +@@ -955,6 +1055,7 @@ launcher_new_saved (GtkWidget *dialog, PanelWidget *panel; int pos; const char *uri; @@ -200,7 +195,7 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom pos = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (dialog), "pos")); panel = g_object_get_data (G_OBJECT (dialog), "panel"); -@@ -930,6 +1036,10 @@ launcher_new_saved (GtkWidget *dialog, +@@ -962,6 +1063,10 @@ launcher_new_saved (GtkWidget *dialog, uri = panel_ditem_editor_get_uri (PANEL_DITEM_EDITOR (dialog)); if (panel_launcher_get_filename (uri) != NULL) uri = panel_launcher_get_filename (uri); @@ -211,9 +206,9 @@ diff -up gnome-panel-2.19.92/gnome-panel/launcher.c.desktop-file-monitoring gnom panel_launcher_create (panel->toplevel, pos, uri); } -diff -up gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.c.desktop-file-monitoring gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.c ---- gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.c.desktop-file-monitoring 2007-09-13 12:23:44.000000000 -0400 -+++ gnome-panel-2.19.92/gnome-panel/panel-ditem-editor.c 2007-09-13 12:31:03.000000000 -0400 +diff -up gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.c.desktop-file-monitoring gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.c +--- gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.c.desktop-file-monitoring 2008-02-13 17:34:43.000000000 -0500 ++++ gnome-panel-2.21.91/gnome-panel/panel-ditem-editor.c 2008-02-13 17:34:43.000000000 -0500 @@ -80,6 +80,8 @@ struct _PanelDItemEditorPrivate /* the directory of the theme for the icon, see bug #119208 */ |