Add G_APP_INFO_CREATE_SUPPORTS_URIS flag
authorAlexander Larsson <alexl@redhat.com>
Tue, 29 Jan 2008 15:47:27 +0000 (15:47 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Tue, 29 Jan 2008 15:47:27 +0000 (15:47 +0000)
2008-01-29  Alexander Larsson  <alexl@redhat.com>

        * gappinfo.h:
        * gdesktopappinfo.c:
Add G_APP_INFO_CREATE_SUPPORTS_URIS flag

svn path=/trunk/; revision=6418

gio/ChangeLog
gio/gappinfo.h
gio/gdesktopappinfo.c

index 9a6f817..5326389 100644 (file)
@@ -1,5 +1,11 @@
 2008-01-29  Alexander Larsson  <alexl@redhat.com>
 
+        * gappinfo.h:
+        * gdesktopappinfo.c:
+       Add G_APP_INFO_CREATE_SUPPORTS_URIS flag
+
+2008-01-29  Alexander Larsson  <alexl@redhat.com>
+
         * gdesktopappinfo.c:
         * gdesktopappinfo.h:
        giomodule-priv.h include moved to .c file.
index da5d34d..0f51dc5 100644 (file)
@@ -48,12 +48,14 @@ G_BEGIN_DECLS
  * GAppInfoCreateFlags:
  * @G_APP_INFO_CREATE_NONE: No flags.
  * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window.
+ * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments.
  * 
  * Flags used when creating a #GAppInfo.
  */
 typedef enum {
   G_APP_INFO_CREATE_NONE = 0,           /*< nick=none >*/
-  G_APP_INFO_CREATE_NEEDS_TERMINAL = (1<<0)   /*< nick=needs-terminal >*/
+  G_APP_INFO_CREATE_NEEDS_TERMINAL = (1<<0),  /*< nick=needs-terminal >*/
+  G_APP_INFO_CREATE_SUPPORTS_URIS = (1<<1)   /*< nick=supports-uris >*/
 } GAppInfoCreateFlags;
 
 typedef struct _GAppLaunchContext        GAppLaunchContext;
index 18dce34..8725075 100644 (file)
@@ -1508,7 +1508,10 @@ g_app_info_create_from_commandline (const char           *commandline,
   info->terminal = flags & G_APP_INFO_CREATE_NEEDS_TERMINAL;
   info->startup_notify = FALSE;
   info->hidden = FALSE;
-  info->exec = g_strconcat (commandline, " %f", NULL);
+  if (flags & G_APP_INFO_CREATE_SUPPORTS_URIS)
+    info->exec = g_strconcat (commandline, " %u", NULL);
+  else
+    info->exec = g_strconcat (commandline, " %f", NULL);
   info->comment = g_strdup_printf (_("Custom definition for %s"), info->name);
   info->nodisplay = TRUE;
   info->binary = binary_from_exec (info->exec);