Code

Fix self-snapping when dragging the transformation center of a selection containing...
[inkscape.git] / src / knotholder.cpp
index eaf5658f803dc5cb3db25637b366875dfece1846..314ad807c5a1de383472327124a322bff06cfd6a 100644 (file)
@@ -30,6 +30,7 @@
 #include "sp-pattern.h"
 #include "style.h"
 #include "live_effects/lpeobject.h"
+#include "live_effects/effect.h"
 #include "desktop.h"
 #include "display/sp-canvas.h"
 
@@ -90,6 +91,21 @@ KnotHolder::update_knots()
     }
 }
 
+/**
+ * \brief Returns true if at least one of the KnotHolderEntities has the mouse hovering above it
+ */
+bool KnotHolder::knot_mouseover()
+{
+    for(std::list<KnotHolderEntity *>::iterator i = entity.begin(); i != entity.end(); ++i) {
+        SPKnot *knot = (*i)->knot;
+        if (knot && (knot->flags & SP_KNOT_MOUSEOVER)) {
+            return true;
+        }
+    }
+
+    return false;
+}
+
 void
 KnotHolder::knot_clicked_handler(SPKnot *knot, guint state)
 {
@@ -139,7 +155,6 @@ KnotHolder::knot_moved_handler(SPKnot *knot, Geom::Point const &p, guint state)
 {
     if (this->dragging == false) {
        this->dragging = true;
-       sp_canvas_set_snap_delay_active(desktop->canvas, true);
     }
 
        // this was a local change and the knotholder does not need to be recreated:
@@ -165,7 +180,6 @@ void
 KnotHolder::knot_ungrabbed_handler(SPKnot */*knot*/)
 {
        this->dragging = false;
-       sp_canvas_set_snap_delay_active(desktop->canvas, false);
 
        if (this->released) {
         this->released(this->item);
@@ -236,7 +250,7 @@ KnotHolder::add_pattern_knotholder()
                           _("<b>Move</b> the pattern fill inside the object"),
                           SP_KNOT_SHAPE_CROSS);
         entity_scale->create(desktop, item, this,
-                             _("<b>Scale</b> the pattern fill uniformly"),
+                             _("<b>Scale</b> the pattern fill; uniformly if with <b>Ctrl</b>"),
                              SP_KNOT_SHAPE_SQUARE, SP_KNOT_MODE_XOR);
         entity_angle->create(desktop, item, this,
                              _("<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"),