summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2018-09-13 14:05:51 +0000
committerJabiertxof <jabier.arraiza@marker.es>2018-09-13 14:05:51 +0000
commit98561991771e1144cee0db5765ec00c6f80eadbd (patch)
tree065ae38c0f22dfd86768bb548ba8ba607c533efb
parentFix DPI wrong code pointed by Mc (diff)
downloadinkscape-98561991771e1144cee0db5765ec00c6f80eadbd.tar.gz
inkscape-98561991771e1144cee0db5765ec00c6f80eadbd.zip
Fix a meassure tooltip updated pointed by maren at hacfest, tooltip is not updated if no moviment on shift press
-rw-r--r--src/ui/tools/measure-tool.cpp14
-rw-r--r--src/ui/tools/measure-tool.h1
2 files changed, 12 insertions, 3 deletions
diff --git a/src/ui/tools/measure-tool.cpp b/src/ui/tools/measure-tool.cpp
index 75335ce1a..9191af081 100644
--- a/src/ui/tools/measure-tool.cpp
+++ b/src/ui/tools/measure-tool.cpp
@@ -339,6 +339,7 @@ MeasureTool::MeasureTool()
start_p = readMeasurePoint(true);
end_p = readMeasurePoint(false);
dimension_offset = 35;
+ last_pos = Geom::Point(0,0);
// create the knots
this->knot_start = new SPKnot(desktop, _("Measure start, <b>Shift+Click</b> for position dialog"));
this->knot_start->setMode(SP_KNOT_MODE_XOR);
@@ -587,6 +588,13 @@ bool MeasureTool::root_handler(GdkEvent* event)
if ((event->key.keyval == GDK_KEY_Shift_L) || (event->key.keyval == GDK_KEY_Shift_R)) {
explicit_base_tmp = explicit_base;
explicit_base = end_p;
+ showInfoBox(last_pos, true);
+ }
+ break;
+ }
+ case GDK_KEY_RELEASE: {
+ if ((event->key.keyval == GDK_KEY_Shift_L) || (event->key.keyval == GDK_KEY_Shift_R)) {
+ showInfoBox(last_pos, false);
}
break;
}
@@ -605,11 +613,11 @@ bool MeasureTool::root_handler(GdkEvent* event)
snap_manager.preSnap(scp);
snap_manager.unSetup();
}
- Geom::Point const motion_w(event->motion.x, event->motion.y);
+ last_pos = Geom::Point(event->motion.x, event->motion.y);
if(event->motion.state & GDK_SHIFT_MASK) {
- showInfoBox(motion_w, true);
+ showInfoBox(last_pos, true);
} else {
- showInfoBox(motion_w, false);
+ showInfoBox(last_pos, false);
}
} else {
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
diff --git a/src/ui/tools/measure-tool.h b/src/ui/tools/measure-tool.h
index f87ac2c81..0fb488948 100644
--- a/src/ui/tools/measure-tool.h
+++ b/src/ui/tools/measure-tool.h
@@ -77,6 +77,7 @@ private:
gint dimension_offset;
Geom::Point start_p;
Geom::Point end_p;
+ Geom::Point last_pos;
std::vector<SPCanvasItem *> measure_tmp_items;
std::vector<SPCanvasItem *> measure_phantom_items;
std::vector<SPCanvasItem *> measure_item;