X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fconnector-context.cpp;h=6da465f2a48691557a97d0ffb71f5bbd95bc4030;hb=57eb32794c2df43d60ee8f0a9aa8576567358ce6;hp=89d38bace98a69eba99ef7defd7291d058819917;hpb=6e3576be211b59b7d8a9e7afe3493d961c053b75;p=inkscape.git diff --git a/src/connector-context.cpp b/src/connector-context.cpp index 89d38bace..6da465f2a 100644 --- a/src/connector-context.cpp +++ b/src/connector-context.cpp @@ -42,6 +42,8 @@ */ #include +#include +#include #include "connector-context.h" #include "pixmaps/cursor-connector.xpm" @@ -388,19 +390,19 @@ conn_pt_handle_test(SPConnectorContext *cc, NR::Point& p) static gint -sp_connector_context_item_handler(SPEventContext *ec, SPItem *item, GdkEvent *event) +sp_connector_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event) { gint ret = FALSE; - SPDesktop *desktop = ec->desktop; + SPDesktop *desktop = event_context->desktop; - SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(ec); + SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(event_context); NR::Point p(event->button.x, event->button.y); switch (event->type) { case GDK_BUTTON_RELEASE: - if (event->button.button == 1) { + if (event->button.button == 1 && !event_context->space_panning) { if ((cc->state == SP_CONNECTOR_CONTEXT_DRAGGING) && (connector_within_tolerance)) { @@ -489,9 +491,10 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const NR::Point const event_w(bevent.x, bevent.y); /* Find desktop coordinates */ NR::Point p = cc->desktop->w2d(event_w); + SPEventContext *event_context = SP_EVENT_CONTEXT(cc); gint ret = FALSE; - if ( bevent.button == 1 ) { + if ( bevent.button == 1 && !event_context->space_panning ) { SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(cc); @@ -528,7 +531,7 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const // This is the first point, so just snap it to the grid // as there's no other points to go off. SnapManager const &m = cc->desktop->namedview->snap_manager; - p = m.freeSnap(Inkscape::Snapper::SNAP_POINT | Inkscape::Snapper::BBOX_POINT, + p = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, p, NULL).getPoint(); } spcc_connector_set_initial_point(cc, p); @@ -586,8 +589,9 @@ static gint connector_handle_motion_notify(SPConnectorContext *const cc, GdkEventMotion const &mevent) { gint ret = FALSE; + SPEventContext *event_context = SP_EVENT_CONTEXT(cc); - if (mevent.state & GDK_BUTTON2_MASK || mevent.state & GDK_BUTTON3_MASK) { + if (event_context->space_panning || mevent.state & GDK_BUTTON2_MASK || mevent.state & GDK_BUTTON3_MASK) { // allow middle-button scrolling return FALSE; } @@ -665,7 +669,8 @@ static gint connector_handle_button_release(SPConnectorContext *const cc, GdkEventButton const &revent) { gint ret = FALSE; - if ( revent.button == 1 ) { + SPEventContext *event_context = SP_EVENT_CONTEXT(cc); + if ( revent.button == 1 && !event_context->space_panning ) { SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(cc); SPDocument *doc = sp_desktop_document(desktop); @@ -962,7 +967,7 @@ spcc_flush_white(SPConnectorContext *cc, SPCurve *gc) static void -spcc_connector_finish_segment(SPConnectorContext *const cc, NR::Point const p) +spcc_connector_finish_segment(SPConnectorContext *const cc, NR::Point const /*p*/) { if (!sp_curve_empty(cc->red_curve)) { sp_curve_append_continuous(cc->green_curve, cc->red_curve, 0.0625); @@ -1044,7 +1049,7 @@ cc_generic_knot_handler(SPCanvasItem *, GdkEvent *event, SPKnot *knot) static gboolean -endpt_handler(SPKnot *knot, GdkEvent *event, SPConnectorContext *cc) +endpt_handler(SPKnot */*knot*/, GdkEvent *event, SPConnectorContext *cc) { g_assert( SP_IS_CONNECTOR_CONTEXT(cc) ); @@ -1345,8 +1350,8 @@ cc_selection_changed(Inkscape::Selection *selection, gpointer data) static void -shape_event_attr_deleted(Inkscape::XML::Node *repr, Inkscape::XML::Node *child, - Inkscape::XML::Node *ref, gpointer data) +shape_event_attr_deleted(Inkscape::XML::Node */*repr*/, Inkscape::XML::Node *child, + Inkscape::XML::Node */*ref*/, gpointer data) { g_assert(data); SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(data); @@ -1360,8 +1365,8 @@ shape_event_attr_deleted(Inkscape::XML::Node *repr, Inkscape::XML::Node *child, static void shape_event_attr_changed(Inkscape::XML::Node *repr, gchar const *name, - gchar const *old_value, gchar const *new_value, - bool is_interactive, gpointer data) + gchar const */*old_value*/, gchar const */*new_value*/, + bool /*is_interactive*/, gpointer data) { g_assert(data); SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(data);