Code

Replace std::tr1::unordered_(map|set) with __gnu_cxx::hash_(map|set),
[inkscape.git] / src / ui / tool / path-manipulator.cpp
index 9889eb787cd3a96c33d467885ea3cc4f9db95578..9eabd899227498b816033a4a33f8b8b896d1bf61 100644 (file)
@@ -1157,17 +1157,24 @@ bool PathManipulator::_nodeClicked(Node *n, GdkEventButton *event)
 {
     // cycle between node types on ctrl+click
     if (event->button != 1 || !held_control(*event)) return false;
-    if (n->isEndNode()) {
-        if (n->type() == NODE_CUSP) {
-            n->setType(NODE_SMOOTH);
+    /*if (held_alt(*event)) {
+        // TODO delete nodes with Ctrl+Alt+click
+        n->list()->erase(NodeList::get_iterator(n));
+        update();
+        _commit(_("Delete node"));
+    } else*/ {
+        if (n->isEndNode()) {
+            if (n->type() == NODE_CUSP) {
+                n->setType(NODE_SMOOTH);
+            } else {
+                n->setType(NODE_CUSP);
+            }
         } else {
-            n->setType(NODE_CUSP);
+            n->setType(static_cast<NodeType>((n->type() + 1) % NODE_LAST_REAL_TYPE));
         }
-    } else {
-        n->setType(static_cast<NodeType>((n->type() + 1) % NODE_LAST_REAL_TYPE));
+        update();
+        _commit(_("Cycle node type"));
     }
-    update();
-    _commit(_("Cycle node type"));
     return true;
 }