@@ -92,6 +92,7 @@ QgsAdvancedDigitizingDockWidget::QgsAdvancedDigitizingDockWidget( QgsMapCanvas*
92
92
, mCadPointList( QList<QgsPoint>() )
93
93
, mSnappedToVertex( false )
94
94
, mSnappedSegment( QList<QgsPoint>() )
95
+ , mErrorMessage( 0 )
95
96
{
96
97
setupUi ( this );
97
98
@@ -136,11 +137,6 @@ QgsAdvancedDigitizingDockWidget::QgsAdvancedDigitizingDockWidget( QgsMapCanvas*
136
137
connect ( mXLineEdit , SIGNAL ( returnPressed () ), this , SLOT ( lockConstraint () ) );
137
138
connect ( mYLineEdit , SIGNAL ( returnPressed () ), this , SLOT ( lockConstraint () ) );
138
139
139
- // errors messages
140
- mErrorMessage = new QgsMessageBarItem ( tr ( " CAD tools" ),
141
- tr ( " Some constraints are incompatible. Resulting point might be incorrect." ),
142
- QgsMessageBar::WARNING, 0 );
143
- mErrorMessageDisplayed = false ;
144
140
mapToolChanged ( NULL );
145
141
146
142
// config menu
@@ -268,9 +264,10 @@ void QgsAdvancedDigitizingDockWidget::activateCad( bool enabled )
268
264
{
269
265
enabled &= mCurrentMapTool != 0 ;
270
266
271
- if ( mErrorMessageDisplayed )
267
+ if ( mErrorMessage )
272
268
{
273
269
QgisApp::instance ()->messageBar ()->popWidget ( mErrorMessage );
270
+ mErrorMessage = 0 ;
274
271
}
275
272
QSettings ().setValue ( " /Cad/SessionActive" , enabled );
276
273
@@ -866,10 +863,10 @@ bool QgsAdvancedDigitizingDockWidget::canvasReleaseEventFilter( QgsMapMouseEvent
866
863
if ( !mCadEnabled )
867
864
return false ;
868
865
869
- if ( mErrorMessageDisplayed )
866
+ if ( mErrorMessage )
870
867
{
871
868
QgisApp::instance ()->messageBar ()->popWidget ( mErrorMessage );
872
- mErrorMessageDisplayed = false ;
869
+ mErrorMessage = 0 ;
873
870
}
874
871
875
872
if ( e->button () == Qt::RightButton )
@@ -915,16 +912,20 @@ bool QgsAdvancedDigitizingDockWidget::canvasMoveEventFilter( QgsMapMouseEvent* e
915
912
916
913
if ( !applyConstraints ( e ) )
917
914
{
918
- if ( !mErrorMessageDisplayed )
915
+ if ( !mErrorMessage )
919
916
{
917
+ // errors messages
918
+ mErrorMessage = new QgsMessageBarItem ( tr ( " CAD tools" ),
919
+ tr ( " Some constraints are incompatible. Resulting point might be incorrect." ),
920
+ QgsMessageBar::WARNING, 0 );
921
+
920
922
QgisApp::instance ()->messageBar ()->pushItem ( mErrorMessage );
921
- mErrorMessageDisplayed = true ;
922
923
}
923
924
}
924
- else if ( mErrorMessageDisplayed )
925
+ else if ( mErrorMessage )
925
926
{
926
927
QgisApp::instance ()->messageBar ()->popWidget ( mErrorMessage );
927
- mErrorMessageDisplayed = false ;
928
+ mErrorMessage = 0 ;
928
929
}
929
930
930
931
// perpendicular/parallel constraint
0 commit comments