From 51c6d8af5cab67482b46ef4b624ae3c182a1bb68 Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Wed, 29 Jun 2016 18:16:08 +0200 Subject: [PATCH] Add notification in case a map tool does notthing (fixes #15160) --- src/app/nodetool/qgsmaptoolnodetool.cpp | 2 +- src/app/qgsmaptooloffsetcurve.cpp | 4 ++++ src/app/qgsmaptoolrotatefeature.cpp | 1 + src/app/qgsmaptoolsimplify.cpp | 6 ++++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/app/nodetool/qgsmaptoolnodetool.cpp b/src/app/nodetool/qgsmaptoolnodetool.cpp index 1601f4441495..427c3d9fb1b6 100644 --- a/src/app/nodetool/qgsmaptoolnodetool.cpp +++ b/src/app/nodetool/qgsmaptoolnodetool.cpp @@ -228,7 +228,7 @@ void QgsMapToolNodeTool::canvasPressEvent( QgsMapMouseEvent* e ) QgsFeature feature = getFeatureAtPoint( e ); if ( !feature.constGeometry() ) { - emit messageEmitted( tr( "could not snap to a segment on the current layer." ) ); + emit messageEmitted( tr( "Could not snap to a feature in the current layer." ) ); return; } else diff --git a/src/app/qgsmaptooloffsetcurve.cpp b/src/app/qgsmaptooloffsetcurve.cpp index e8dd57161381..16f4cbd6b1e6 100644 --- a/src/app/qgsmaptooloffsetcurve.cpp +++ b/src/app/qgsmaptooloffsetcurve.cpp @@ -119,6 +119,10 @@ void QgsMapToolOffsetCurve::canvasReleaseEvent( QgsMapMouseEvent* e ) createDistanceWidget(); } } + else + { + emit messageEmitted( tr( "Could not find a nearby feature in any vector layer." ) ); + } return; } diff --git a/src/app/qgsmaptoolrotatefeature.cpp b/src/app/qgsmaptoolrotatefeature.cpp index 1492f790f27d..5947cdef9abb 100644 --- a/src/app/qgsmaptoolrotatefeature.cpp +++ b/src/app/qgsmaptoolrotatefeature.cpp @@ -257,6 +257,7 @@ void QgsMapToolRotateFeature::canvasReleaseEvent( QgsMapMouseEvent* e ) if ( minDistance == std::numeric_limits::max() ) { + emit messageEmitted( tr( "Could not find a nearby feature in the current layer." ) ); return; } diff --git a/src/app/qgsmaptoolsimplify.cpp b/src/app/qgsmaptoolsimplify.cpp index 4203173ed3b9..15fa604a5c07 100644 --- a/src/app/qgsmaptoolsimplify.cpp +++ b/src/app/qgsmaptoolsimplify.cpp @@ -257,6 +257,12 @@ void QgsMapToolSimplify::canvasReleaseEvent( QgsMapMouseEvent* e ) mDragging = false; + if ( mSelectedFeatures.isEmpty() ) + { + emit messageEmitted( tr( "Could not find a nearby feature in the current layer." ) ); + return; + } + // count vertices, prepare rubber bands mOriginalVertexCount = 0; Q_FOREACH ( const QgsFeature& f, mSelectedFeatures )