wxDragResult result;
if ( context->suggested_action == GDK_ACTION_COPY )
result = wxDragCopy;
+ else if ( context->suggested_action == GDK_ACTION_LINK )
+ result = wxDragLink;
else
result = wxDragMove;
GdkDragAction action;
if (result == wxDragCopy)
action = GDK_ACTION_COPY;
+ else if (result == wxDragLink)
+ action = GDK_ACTION_LINK;
else
action = GDK_ACTION_MOVE;
wxDragResult result;
if ( context->suggested_action == GDK_ACTION_COPY )
result = wxDragCopy;
+ else if ( context->suggested_action == GDK_ACTION_LINK )
+ result = wxDragLink;
else
result = wxDragMove;
// "drag_data_delete"
//----------------------------------------------------------------------------
-static void source_drag_data_delete( GtkWidget *WXUNUSED(widget),
- GdkDragContext *WXUNUSED(context),
- wxDropSource *WXUNUSED(drop_source) )
+static void source_drag_data_delete( GtkWidget *WXUNUSED(widget),
+ GdkDragContext *context,
+ wxDropSource *WXUNUSED(drop_source) )
{
if (g_isIdle)
wxapp_install_idle_handler();
wxDragResult action = wxDragNone;
if (source->m_dragContext->action == GDK_ACTION_COPY) action = wxDragCopy;
+ if (source->m_dragContext->action == GDK_ACTION_LINK) action = wxDragLink;
if (source->m_dragContext->action == GDK_ACTION_MOVE) action = wxDragMove;
source->GiveFeedback( action );
/* don't start dragging if no button is down */
if (button_number)
{
- GdkDragAction action = GDK_ACTION_COPY;
- if (allowMove) action = (GdkDragAction)(GDK_ACTION_MOVE|GDK_ACTION_COPY);
+ int action = GDK_ACTION_COPY;
+ if ( allowMove )
+ action |= GDK_ACTION_MOVE;
GdkDragContext *context = gtk_drag_begin( m_widget,
target_list,
- action,
+ (GdkDragAction)action,
button_number, /* number of mouse button which started drag */
(GdkEvent*) &event );
if (context->action == GDK_ACTION_COPY)
m_retValue = wxDragCopy;
+ if (context->action == GDK_ACTION_LINK)
+ m_retValue = wxDragLink;
if (context->action == GDK_ACTION_MOVE)
m_retValue = wxDragMove;
}