diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2015-06-24 20:55:25 +0000 |
|---|---|---|
| committer | Krzysztof Kosiński <tweenk.pl@gmail.com> | 2015-06-24 20:55:25 +0000 |
| commit | fdc7377ecf1950f6dd8984e7bdfe10a75ce9a25b (patch) | |
| tree | 317c98f9978fcb4647f7bb579770c095a9918f0c /src | |
| parent | Libcroco. cr-fonts: Fix a bad copy/paste error (already fixed upstream). (diff) | |
| parent | Change function call to one line (diff) | |
| download | inkscape-fdc7377ecf1950f6dd8984e7bdfe10a75ce9a25b.tar.gz inkscape-fdc7377ecf1950f6dd8984e7bdfe10a75ce9a25b.zip | |
Merge node angle measurement by Alexander Brock
(bzr r14213)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/tools/node-tool.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/ui/tools/node-tool.cpp b/src/ui/tools/node-tool.cpp index 761492f41..6a6ca0b26 100644 --- a/src/ui/tools/node-tool.cpp +++ b/src/ui/tools/node-tool.cpp @@ -665,9 +665,27 @@ void NodeTool::update_tip(GdkEvent *event) { unsigned total = this->_selected_nodes->allPoints().size(); if (sz != 0) { - char *nodestring = g_strdup_printf( - ngettext("<b>%u of %u</b> node selected.", "<b>%u of %u</b> nodes selected.", total), - sz, total); + char *nodestring; + if (sz == 2) { + // if there are only two nodes selected, display the angle + // of a line going through them relative to the X axis. + Inkscape::UI::ControlPointSelection::Set &selection_nodes = this->_selected_nodes->allPoints(); + std::vector<Geom::Point> positions; + for (Inkscape::UI::ControlPointSelection::Set::iterator i = selection_nodes.begin(); i != selection_nodes.end(); ++i) { + if ((*i)->selected()) { + Inkscape::UI::Node *n = dynamic_cast<Inkscape::UI::Node *>(*i); + positions.push_back(n->position()); + } + } + g_assert(positions.size() == 2); + const double angle = Geom::rad_to_deg(Geom::Line(positions[0], positions[1]).angle()); + nodestring = g_strdup_printf("<b>%u of %u</b> nodes selected, angle: %.2f°.", sz, total, angle); + } + else { + nodestring = g_strdup_printf( + ngettext("<b>%u of %u</b> node selected.", "<b>%u of %u</b> nodes selected.", total), + sz, total); + } if (this->_last_over) { // TRANSLATORS: The %s below is where the "%u of %u nodes selected" sentence gets put |
