1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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
|