Upstream-Status: Submitted Signed-off-by: Ross Burton From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001 From: Ross Burton 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