diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2013-03-06 16:00:29 -0500 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2013-03-06 16:00:29 -0500 |
commit | 1d1488cbc96ee9f7dd69b708e093d274a5374878 (patch) | |
tree | 396d56df993e657d18ed4ccb58df2df6b52849be /libnautilus-private/nautilus-canvas-container.c | |
parent | 26d023a289c2160147bc02f1e18243f8212c82eb (diff) | |
download | nautilus-1d1488cbc96ee9f7dd69b708e093d274a5374878.tar.gz |
Always use activation URI for DnD sources
This ensures DnD from special locations (e.g. Recent or Trash) always
works even for targets that do not use gvfs.
Diffstat (limited to 'libnautilus-private/nautilus-canvas-container.c')
-rw-r--r-- | libnautilus-private/nautilus-canvas-container.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-canvas-container.c b/libnautilus-private/nautilus-canvas-container.c index ce3ae9702..145056552 100644 --- a/libnautilus-private/nautilus-canvas-container.c +++ b/libnautilus-private/nautilus-canvas-container.c @@ -226,6 +226,7 @@ enum { MIDDLE_CLICK, GET_CONTAINER_URI, GET_ICON_URI, + GET_ICON_ACTIVATION_URI, GET_ICON_DROP_TARGET_URI, GET_STORED_ICON_POSITION, ICON_POSITION_CHANGED, @@ -4847,6 +4848,16 @@ nautilus_canvas_container_class_init (NautilusCanvasContainerClass *class) g_cclosure_marshal_generic, G_TYPE_STRING, 1, G_TYPE_POINTER); + signals[GET_ICON_ACTIVATION_URI] + = g_signal_new ("get-icon-activation-uri", + G_TYPE_FROM_CLASS (class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (NautilusCanvasContainerClass, + get_icon_activation_uri), + NULL, NULL, + g_cclosure_marshal_generic, + G_TYPE_STRING, 1, + G_TYPE_POINTER); signals[GET_ICON_DROP_TARGET_URI] = g_signal_new ("get-icon-drop-target-uri", G_TYPE_FROM_CLASS (class), @@ -6964,6 +6975,20 @@ nautilus_canvas_container_get_icon_uri (NautilusCanvasContainer *container, } char * +nautilus_canvas_container_get_icon_activation_uri (NautilusCanvasContainer *container, + NautilusCanvasIcon *icon) +{ + char *uri; + + uri = NULL; + g_signal_emit (container, + signals[GET_ICON_ACTIVATION_URI], 0, + icon->data, + &uri); + return uri; +} + +char * nautilus_canvas_container_get_icon_drop_target_uri (NautilusCanvasContainer *container, NautilusCanvasIcon *icon) { |