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 f327bf5 commit 61c0f18
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions src/app/qgsmeasuredialog.cpp
Original file line number Diff line number Diff line change
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 61c0f18

Please sign in to comment.