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