From f980bbc6381ec8c09c95017bbaf6306806128a6f Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Sat, 21 May 2016 10:33:53 -0300 Subject: [PATCH] event-widget: setup itself as a drag source Ideally, every single view will support drag and drop. So let's just assume that and make the event widget set itself as a drag source, and let each view set itself as a drag target. --- src/gcal-event-widget.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c index c54400b9..4a00657f 100644 --- a/src/gcal-event-widget.c +++ b/src/gcal-event-widget.c @@ -184,15 +184,26 @@ gcal_event_widget_set_event_internal (GcalEventWidget *self, static void gcal_event_widget_init (GcalEventWidget *self) { + GtkWidget *widget; GSettings *settings; gchar *clock_format; + widget = GTK_WIDGET (self); settings = g_settings_new ("org.gnome.desktop.interface"); clock_format = g_settings_get_string (settings, "clock-format"); self->clock_format_24h = g_strcmp0 (clock_format, "24h") == 0; - gtk_widget_set_has_window (GTK_WIDGET (self), FALSE); - gtk_widget_set_can_focus (GTK_WIDGET (self), TRUE); + gtk_widget_set_has_window (widget, FALSE); + gtk_widget_set_can_focus (widget, TRUE); + + /* Setup the event widget as a drag source */ + gtk_drag_source_set (widget, + GDK_BUTTON1_MASK, + NULL, + 0, + GDK_ACTION_COPY); + + gtk_drag_source_add_text_targets (widget); g_clear_object (&settings); g_free (clock_format);