[rcar-gen3] Backported gstreamer from poky krogoth
[AGL/meta-agl.git] / meta-agl-bsp / meta-rcar-gen3 / recipes-backport / gstreamer_bp_krogoth / gst-player / filechooser.patch
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-backport/gstreamer_bp_krogoth/gst-player/filechooser.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-backport/gstreamer_bp_krogoth/gst-player/filechooser.patch
new file mode 100644 (file)
index 0000000..7bf1b03
--- /dev/null
@@ -0,0 +1,54 @@
+Upstream-Status: Submitted
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 26 Feb 2015 17:17:05 +0000
+Subject: [PATCH] gtk-play: show a file chooser if no URIs were passed
+
+---
+ gtk/gtk-play.c |   28 ++++++++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
+index f015077..9766a72 100644
+--- a/gtk/gtk-play.c
++++ b/gtk/gtk-play.c
+@@ -319,8 +319,32 @@ main (gint argc, gchar ** argv)
+   // FIXME: Add support for playlists and stuff
+   /* Parse the list of the file names we have to play. */
+   if (!file_names) {
+-    g_print ("Usage: %s FILE(s)|URI(s)\n", APP_NAME);
+-    return 1;
++    GtkWidget *chooser;
++    int res;
++
++    chooser = gtk_file_chooser_dialog_new ("Select files to play", NULL,
++                                          GTK_FILE_CHOOSER_ACTION_OPEN,
++                                          "_Cancel", GTK_RESPONSE_CANCEL,
++                                          "_Open", GTK_RESPONSE_ACCEPT,
++                                          NULL);
++    g_object_set (chooser,
++                  "local-only", FALSE,
++                  "select-multiple", TRUE,
++                  NULL);
++
++    res = gtk_dialog_run (GTK_DIALOG (chooser));
++    if (res == GTK_RESPONSE_ACCEPT) {
++      GSList *l;
++
++      l = gtk_file_chooser_get_uris (GTK_FILE_CHOOSER (chooser));
++      while (l) {
++        play.uris = g_list_append (play.uris, l->data);
++        l = g_slist_delete_link (l, l);
++      }
++    } else {
++      return 0;
++    }
++    gtk_widget_destroy (chooser);
+   } else {
+     guint i;
+-- 
+1.7.10.4
+