kov changed gksu/trunk/ChangeLog, gksu/trunk/nautilus-gksu/Makefile.am, gksu/trunk/nautilus-gksu/libnautilus-gksu.c

Gustavo Noronha kov at alioth.debian.org
Mon Feb 23 02:16:26 UTC 2009


Mensagem de log: 
port nautilus-gksu to gio and newer nautilus

-----


Modified: gksu/trunk/ChangeLog
===================================================================
--- gksu/trunk/ChangeLog	2009-02-22 21:18:26 UTC (rev 836)
+++ gksu/trunk/ChangeLog	2009-02-23 02:16:26 UTC (rev 837)
@@ -1,5 +1,10 @@
 2009-02-22  Gustavo Noronha Silva  <kov at debian.org>
 
+	* configure.ac, nautilus-gksu/libnautilus-gksu.c: - port to GIO,
+	and newer nautilus
+
+2009-02-22  Gustavo Noronha Silva  <kov at debian.org>
+
 	* configure.ac, gksu/gksu.c:
 	- accepted patch by Joshua Kwan <jkwan at vmware.com> to
 	  make gksu return the same status code as the child

Modified: gksu/trunk/nautilus-gksu/Makefile.am
===================================================================
--- gksu/trunk/nautilus-gksu/Makefile.am	2009-02-22 21:18:26 UTC (rev 836)
+++ gksu/trunk/nautilus-gksu/Makefile.am	2009-02-23 02:16:26 UTC (rev 837)
@@ -2,7 +2,7 @@
 INCLUDES = ${NAUTILUS_CFLAGS}
 AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -DDATA_DIR=\"$(datadir)\" -DPREFIX=\"$(prefix)\"
 
-nautilus_extensiondir=$(libdir)/nautilus/extensions-1.0
+nautilus_extensiondir=$(libdir)/nautilus/extensions-2.0
 nautilus_extension_LTLIBRARIES = libnautilus-gksu.la
 libnautilus_gksu_la_SOURCES = libnautilus-gksu.c
 libnautilus_gksu_la_LDFLAGS = LDFLAGS = -module -avoid-version -no-undefined

Modified: gksu/trunk/nautilus-gksu/libnautilus-gksu.c
===================================================================
--- gksu/trunk/nautilus-gksu/libnautilus-gksu.c	2009-02-22 21:18:26 UTC (rev 836)
+++ gksu/trunk/nautilus-gksu/libnautilus-gksu.c	2009-02-23 02:16:26 UTC (rev 837)
@@ -7,8 +7,7 @@
 
 #include <glib/gkeyfile.h>
 #include <gtk/gtk.h>
-#include <libgnomevfs/gnome-vfs-mime-handlers.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
+#include <gio/gio.h>
 #include <libnautilus-extension/nautilus-extension-types.h>
 #include <libnautilus-extension/nautilus-menu-provider.h>
 
@@ -96,6 +95,7 @@
 static void
 gksu_context_menu_init (GksuContextMenu *self)
 {
+  g_message ("Initializing gksu extension...");
 }
 
 static GList *
@@ -179,7 +179,6 @@
 gksu_context_menu_activate (NautilusMenuItem *item,
 			    NautilusFileInfo *file)
 {
-  GnomeVFSMimeApplication *vfsapp = NULL;
   gchar *uri = NULL;
   gchar *mime_type = NULL;
   gchar *cmd = NULL;
@@ -193,30 +192,25 @@
   if (!strcmp (mime_type, "application/x-desktop"))
     { /* we're handling a .desktop file */
       GKeyFile *key_file = g_key_file_new ();
-      GnomeVFSResult result;
-      gint file_size = 0;
-      gchar *content = NULL;
       gint retval = 0;
 
       is_desktop = TRUE;
 
-      result = gnome_vfs_read_entire_file (uri, &file_size, &content);
-      if (result == GNOME_VFS_OK)
-	{
-	  retval = g_key_file_load_from_data (key_file, content, file_size, 0, NULL);
-	  if (retval)
-	    cmd = g_key_file_get_string (key_file, "Desktop Entry", "Exec", NULL);
-	  g_key_file_free (key_file);
-	  g_free (content);
-	}
+      gchar *file_path = g_filename_from_uri (uri, NULL, NULL);
+      retval = g_key_file_load_from_file (key_file, file_path, 0, NULL);
+      g_free (file_path);
+
+      if (retval)
+        cmd = g_key_file_get_string (key_file, "Desktop Entry", "Exec", NULL);
+      g_key_file_free (key_file);
     }
   else
     {
-      vfsapp = gnome_vfs_mime_get_default_application_for_uri (uri, mime_type);
-      if (vfsapp)
+      GAppInfo *app_info = g_app_info_get_default_for_type (mime_type, strncmp (uri, "file://", 7));
+      if (app_info)
 	{
-	  cmd = g_strdup (gnome_vfs_mime_application_get_exec (vfsapp));
-	  gnome_vfs_mime_application_free (vfsapp);
+	  cmd = g_strdup (g_app_info_get_executable (app_info));
+          g_object_unref (app_info);
 	}
     }
 




More information about the gksu-commits mailing list