From e180a73c03c71c51b676cc345e92d9ff0e3115e4 Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Sun, 29 Mar 2009 19:12:03 +0000 Subject: - Move snap delay mechanism to the event context (used to be in SPCanvas) - Rename lots of variables and methods to make them easier to understand - Add snapping to the connector tool (bzr r7589) --- src/select-context.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/select-context.cpp') diff --git a/src/select-context.cpp b/src/select-context.cpp index b2a05dca2..e30ef53d2 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -212,6 +212,7 @@ sp_select_context_abort(SPEventContext *event_context) seltrans->ungrab(); sc->moved = FALSE; sc->dragging = FALSE; + sp_event_context_snap_window_closed(event_context); drag_escaped = 1; if (sc->item) { @@ -323,6 +324,7 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE // pass the event to root handler which will perform rubberband, shift-click, ctrl-click, ctrl-drag } else { sc->dragging = TRUE; + sp_event_context_snap_window_open(event_context); sc->moved = FALSE; sp_canvas_force_full_redraw_after_interruptions(desktop->canvas, 5); @@ -427,6 +429,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) desktop->setCurrentLayer(reinterpret_cast(clicked_item)); sp_desktop_selection(desktop)->clear(); sc->dragging = false; + sp_event_context_snap_window_closed(event_context); sp_canvas_end_forced_full_redraws(desktop->canvas); } else { // switch tool @@ -497,6 +500,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) // if it's not click and ctrl or alt was pressed (the latter with some selection // but not with shift) we want to drag rather than rubberband sc->dragging = TRUE; + sp_event_context_snap_window_open(event_context); sp_canvas_force_full_redraw_after_interruptions(desktop->canvas, 5); } @@ -547,7 +551,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) ret = TRUE; } else { sc->dragging = FALSE; - + sp_event_context_snap_window_closed(event_context); sp_canvas_end_forced_full_redraws(desktop->canvas); } } else { @@ -596,7 +600,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) } } sc->dragging = FALSE; - + sp_event_context_snap_window_closed(event_context); sp_canvas_end_forced_full_redraws(desktop->canvas); if (sc->item) { -- cgit v1.2.3