chiark / gitweb /
plugins/tracklength-gstreamer.c: Rewrite to use `GstDiscoverer'.
[disorder] / disobedience / choose.c
index 9829f199fc2ebebc1d9b178dedc1d6f23ce481eb..13a1da00d822d2019ddd7be960ba357409db3f08 100644 (file)
 #include "disobedience.h"
 #include "choose.h"
 #include "multidrag.h"
+#include "queue-generic.h"
 #include <gdk/gdkkeysyms.h>
 
 /** @brief Drag types */
-static const GtkTargetEntry choose_targets[] = {
+const GtkTargetEntry choose_targets[] = {
   {
-    (char *)"text/x-disorder-playable-tracks", /* drag type */
+    PLAYABLE_TRACKS,                             /* drag type */
     GTK_TARGET_SAME_APP|GTK_TARGET_OTHER_WIDGET, /* copying between widgets */
-    1                                     /* ID value */
+    PLAYABLE_TRACKS_ID                           /* ID value */
   },
+  {
+    .target = NULL
+  }
 };
 
 /** @brief The current selection tree */
@@ -360,7 +364,8 @@ static void choose_files_completed(void *v,
 }
 
 void choose_play_completed(void attribute((unused)) *v,
-                           const char *err) {
+                           const char *err,
+                           const char attribute((unused)) *id) {
   if(err)
     popup_protocol_error(0, err);
 }
@@ -382,7 +387,7 @@ static void choose_state_toggled
   const char *track = choose_get_track(it);
   if(queued(track))
     return;
-  disorder_eclient_play(client, track, choose_play_completed, 0);
+  disorder_eclient_play(client, choose_play_completed, track, 0);
   
 }
 
@@ -711,7 +716,7 @@ GtkWidget *choose_widget(void) {
   gtk_drag_source_set(choose_view,
                       GDK_BUTTON1_MASK,
                       choose_targets,
-                      sizeof choose_targets / sizeof *choose_targets,
+                      1,
                       GDK_ACTION_COPY);
   g_signal_connect(choose_view, "drag-data-get",
                    G_CALLBACK(choose_drag_data_get), NULL);