@@ -254,6 +254,7 @@ void QgsMapToolNodeTool::canvasPressEvent( QgsMapMouseEvent* e )
254
254
mIsPoint = vlayer->geometryType () == QGis::Point ;
255
255
mNodeEditor = new QgsNodeEditor ( vlayer, mSelectedFeature , mCanvas );
256
256
QgisApp::instance ()->addDockWidget ( Qt::LeftDockWidgetArea, mNodeEditor );
257
+ connect ( mNodeEditor , SIGNAL ( deleteSelectedRequested () ), this , SLOT ( deleteNodeSelection () ) );
257
258
}
258
259
else
259
260
{
@@ -646,9 +647,9 @@ void QgsMapToolNodeTool::canvasDoubleClickEvent( QgsMapMouseEvent* e )
646
647
mCanvas ->refresh ();
647
648
}
648
649
649
- void QgsMapToolNodeTool::keyPressEvent ( QKeyEvent* e )
650
+ void QgsMapToolNodeTool::deleteNodeSelection ( )
650
651
{
651
- if ( mSelectedFeature && ( e-> key () == Qt::Key_Backspace || e-> key () == Qt::Key_Delete ) )
652
+ if ( mSelectedFeature )
652
653
{
653
654
int firstSelectedIndex = firstSelectedVertex ();
654
655
if ( firstSelectedIndex == -1 )
@@ -672,29 +673,40 @@ void QgsMapToolNodeTool::keyPressEvent( QKeyEvent* e )
672
673
safeSelectVertex ( nextVertexToSelect );
673
674
}
674
675
mCanvas ->refresh ();
675
-
676
- // Override default shortcut management in MapCanvas
677
- e->ignore ();
678
676
}
679
- else if ( mSelectedFeature && ( e->key () == Qt::Key_Less || e->key () == Qt::Key_Comma ) )
680
- {
681
- int firstSelectedIndex = firstSelectedVertex ();
682
- if ( firstSelectedIndex == -1 )
683
- return ;
677
+ }
684
678
685
- mSelectedFeature ->deselectAllVertexes ();
686
- safeSelectVertex ( firstSelectedIndex - 1 );
687
- e->ignore ();
688
- }
689
- else if ( mSelectedFeature && ( e->key () == Qt::Key_Greater || e->key () == Qt::Key_Period ) )
679
+ void QgsMapToolNodeTool::keyPressEvent ( QKeyEvent* e )
680
+ {
681
+ if ( mSelectedFeature )
690
682
{
691
- int firstSelectedIndex = firstSelectedVertex ();
692
- if ( firstSelectedIndex == - 1 )
693
- return ;
683
+ if ( e-> key () == Qt::Key_Backspace || e-> key () == Qt::Key_Delete )
684
+ {
685
+ this -> deleteNodeSelection () ;
694
686
695
- mSelectedFeature ->deselectAllVertexes ();
696
- safeSelectVertex ( firstSelectedIndex + 1 );
697
- e->ignore ();
687
+ // Override default shortcut management in MapCanvas
688
+ e->ignore ();
689
+ }
690
+ else if ( e->key () == Qt::Key_Less || e->key () == Qt::Key_Comma )
691
+ {
692
+ int firstSelectedIndex = firstSelectedVertex ();
693
+ if ( firstSelectedIndex == -1 )
694
+ return ;
695
+
696
+ mSelectedFeature ->deselectAllVertexes ();
697
+ safeSelectVertex ( firstSelectedIndex - 1 );
698
+ e->ignore ();
699
+ }
700
+ else if ( e->key () == Qt::Key_Greater || e->key () == Qt::Key_Period )
701
+ {
702
+ int firstSelectedIndex = firstSelectedVertex ();
703
+ if ( firstSelectedIndex == -1 )
704
+ return ;
705
+
706
+ mSelectedFeature ->deselectAllVertexes ();
707
+ safeSelectVertex ( firstSelectedIndex + 1 );
708
+ e->ignore ();
709
+ }
698
710
}
699
711
}
700
712
0 commit comments