Skip to content

Commit

Permalink
Fix last segment length in measure dialog is incorrect after
Browse files Browse the repository at this point in the history
completing measurement with right mouse click

(cherry-picked from bad1372)
  • Loading branch information
nyalldawson committed Oct 6, 2016
1 parent adb6c0a commit d0cc463
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions src/app/qgsmeasuredialog.cpp
Expand Up @@ -214,16 +214,24 @@ void QgsMeasureDialog::removeLastPoint()
//remove final row
delete mTable->takeTopLevelItem( mTable->topLevelItemCount() - 1 );

QgsPoint p1( mTool->points().last() );
double d = mDa.measureLine( p1, mLastMousePoint );

mTotal = mDa.measureLine( mTool->points() );
editTotal->setText( formatDistance( mTotal + d ) );

d = convertLength( d, mDistanceUnits );
if ( !mTool->done() )
{
// need to add the distance for the temporary mouse cursor point
QgsPoint p1( mTool->points().last() );
double d = mDa.measureLine( p1, mLastMousePoint );

QTreeWidgetItem *item = mTable->topLevelItem( mTable->topLevelItemCount() - 1 );
item->setText( 0, QLocale::system().toString( d, 'f', mDecimalPlaces ) );
d = convertLength( d, mDistanceUnits );

QTreeWidgetItem *item = mTable->topLevelItem( mTable->topLevelItemCount() - 1 );
item->setText( 0, QLocale::system().toString( d, 'f', mDecimalPlaces ) );
editTotal->setText( formatDistance( mTotal + d ) );
}
else
{
editTotal->setText( formatDistance( mTotal ) );
}
}
}

Expand Down

0 comments on commit d0cc463

Please sign in to comment.