From 480d5e587176766f41ded75890561016b08fb396 Mon Sep 17 00:00:00 2001 From: Angel Ortega Date: Tue, 28 Jul 2009 17:08:40 +0200 Subject: [PATCH] Added GTK drag and drop support (non-functional). --- mpv_gtk.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mpv_gtk.c b/mpv_gtk.c index b7736fe..6d2de05 100644 --- a/mpv_gtk.c +++ b/mpv_gtk.c @@ -911,6 +911,14 @@ static gint motion_notify_event(GtkWidget *widget, GdkEventMotion * event, gpoin } +static void drag_data_received(GtkWidget *widget, GdkDragContext *dc, gint x, gint y, + GtkSelectionData *data, guint info, guint time) +/* 'drag_data_received' handler */ +{ + printf("drag_data_received (unsupported)\n"); +} + + /** clipboard functions **/ static void commit(GtkIMContext * i, char * str, gpointer u) @@ -1586,6 +1594,10 @@ static mpdm_t gtk_drv_startup(mpdm_t a) GdkScreen *screen; mpdm_t v; int w, h; + GtkTargetEntry targets[] = { + { "text/plain", 0, 0 }, + { "text/uri-list", 0, 1 } + }; register_functions(); @@ -1666,6 +1678,12 @@ static mpdm_t gtk_drv_startup(mpdm_t a) g_signal_connect(G_OBJECT(area), "scroll_event", G_CALLBACK(scroll_event), NULL); + gtk_drag_dest_set(area, GTK_DEST_DEFAULT_ALL, targets, + sizeof(targets) / sizeof(GtkTargetEntry), + GDK_ACTION_COPY); + g_signal_connect(G_OBJECT(area), "drag_data_received", + G_CALLBACK(drag_data_received), NULL); + gtk_selection_add_target(area, GDK_SELECTION_PRIMARY, GDK_SELECTION_TYPE_STRING, 1); -- 2.11.4.GIT