summaryrefslogtreecommitdiff
path: root/plugins/gtkui/fileman.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-30 21:44:26 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-30 21:47:49 +0100
commit7e20827fce4ac2609a834329e16fad363c58a201 (patch)
treee9353fcf825403bbe757cffa23a7fc5cd1190406 /plugins/gtkui/fileman.c
parent312708ff37f4edd0f4d5777b63ffc0af7c7237da (diff)
ported open/add files into gtkui plugin
Diffstat (limited to 'plugins/gtkui/fileman.c')
-rw-r--r--plugins/gtkui/fileman.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/gtkui/fileman.c b/plugins/gtkui/fileman.c
new file mode 100644
index 00000000..14bfddca
--- /dev/null
+++ b/plugins/gtkui/fileman.c
@@ -0,0 +1,39 @@
+#include "../../deadbeef.h"
+#include <gtk/gtk.h>
+#include "gtkui.h"
+#include "gtkplaylist.h"
+
+static void
+add_dirs_worker (void *data) {
+ GSList *lst = (GSList *)data;
+ gtkpl_add_dirs (&main_playlist, lst);
+}
+
+void
+gtkui_add_dirs (GSList *lst) {
+ deadbeef->thread_start (add_dirs_worker, lst);
+}
+
+static void
+add_files_worker (void *data) {
+ GSList *lst = (GSList *)data;
+ gtkpl_add_files (&main_playlist, lst);
+}
+
+void
+gtkui_add_files (struct _GSList *lst) {
+ deadbeef->thread_start (add_files_worker, lst);
+}
+
+static void
+open_files_worker (void *data) {
+ GSList *lst = (GSList *)data;
+ gtkpl_add_files (&main_playlist, lst);
+ deadbeef->sendmessage (M_PLAYSONG, 0, 0, 0);
+}
+
+void
+gtkui_open_files (struct _GSList *lst) {
+ deadbeef->pl_free ();
+ deadbeef->thread_start (open_files_worker, lst);
+}