Skip to content

Commit

Permalink
address missing const and memory leaks
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids authored and nyalldawson committed Dec 15, 2017
1 parent fd3e85e commit 8ab658c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 29 deletions.
7 changes: 3 additions & 4 deletions src/app/qgisapp.cpp
Expand Up @@ -7021,13 +7021,12 @@ void QgisApp::saveAsVectorFileGeneral( QgsVectorLayer *vlayer, bool symbologyOpt
{
//ask user about datum transformation
QgsSettings settings;
QgsDatumTransformDialog *dlg = new QgsDatumTransformDialog( vlayer->crs(), destCRS );
if ( dlg->availableTransformationCount() > 1 &&
QgsDatumTransformDialog dlg( vlayer->crs(), destCRS );
if ( dlg.availableTransformationCount() > 1 &&
settings.value( QStringLiteral( "Projections/showDatumTransformDialog" ), false ).toBool() )
{
dlg->exec();
dlg.exec();
}
delete dlg;
ct = QgsCoordinateTransform( vlayer->crs(), destCRS, QgsProject::instance() );
}

Expand Down
45 changes: 23 additions & 22 deletions src/app/qgsdatumtransformtablewidget.cpp
Expand Up @@ -24,13 +24,13 @@ QgsDatumTransformTableModel::QgsDatumTransformTableModel( QObject *parent )
{
}

void QgsDatumTransformTableModel::setTransformContext( QgsCoordinateTransformContext &context )
void QgsDatumTransformTableModel::setTransformContext( const QgsCoordinateTransformContext &context )
{
mTransformContext = context;
reset();
}

void QgsDatumTransformTableModel::removeTransform( QModelIndexList indexes )
void QgsDatumTransformTableModel::removeTransform( const QModelIndexList &indexes )
{
QgsCoordinateReferenceSystem sourceCrs;
QgsCoordinateReferenceSystem destinationCrs;
Expand Down Expand Up @@ -188,10 +188,10 @@ QgsDatumTransformTableWidget::~QgsDatumTransformTableWidget()

void QgsDatumTransformTableWidget::addDatumTransform()
{
QgsDatumTransformDialog *dlg = new QgsDatumTransformDialog();
if ( dlg->exec() )
QgsDatumTransformDialog dlg;
if ( dlg.exec() )
{
QPair< QPair<QgsCoordinateReferenceSystem, int>, QPair<QgsCoordinateReferenceSystem, int > > dt = dlg->selectedDatumTransforms();
QPair< QPair<QgsCoordinateReferenceSystem, int>, QPair<QgsCoordinateReferenceSystem, int > > dt = dlg.selectedDatumTransforms();
QgsCoordinateTransformContext context = mModel->transformContext();
context.addSourceDestinationDatumTransform( dt.first.first, dt.second.first, dt.first.second, dt.second.second );
mModel->setTransformContext( context );
Expand All @@ -218,30 +218,31 @@ void QgsDatumTransformTableWidget::editDatumTransform()
int destinationTransform = -1;
for ( QModelIndexList::const_iterator it = selectedIndexes.constBegin(); it != selectedIndexes.constEnd(); it ++ )
{
if ( it->column() == QgsDatumTransformTableModel::SourceCrsColumn )
switch ( it->column() )
{
sourceCrs = QgsCoordinateReferenceSystem( mModel->data( *it, Qt::DisplayRole ).toString() );
}
if ( it->column() == QgsDatumTransformTableModel::DestinationCrsColumn )
{
destinationCrs = QgsCoordinateReferenceSystem( mModel->data( *it, Qt::DisplayRole ).toString() );
}
if ( it->column() == QgsDatumTransformTableModel::SourceTransformColumn )
{
sourceTransform = mModel->data( *it, Qt::UserRole ).toInt();
}
if ( it->column() == QgsDatumTransformTableModel::DestinationTransformColumn )
{
destinationTransform = mModel->data( *it, Qt::UserRole ).toInt();
case QgsDatumTransformTableModel::SourceCrsColumn:
sourceCrs = QgsCoordinateReferenceSystem( mModel->data( *it, Qt::DisplayRole ).toString() );
break;
case QgsDatumTransformTableModel::DestinationCrsColumn:
destinationCrs = QgsCoordinateReferenceSystem( mModel->data( *it, Qt::DisplayRole ).toString() );
break;
case QgsDatumTransformTableModel::SourceTransformColumn:
sourceTransform = mModel->data( *it, Qt::UserRole ).toInt();
break;
case QgsDatumTransformTableModel::DestinationTransformColumn:
destinationTransform = mModel->data( *it, Qt::UserRole ).toInt();
break;
default:
break;
}
}
if ( sourceCrs.isValid() && destinationCrs.isValid() &&
( sourceTransform != -1 || destinationTransform != -1 ) )
{
QgsDatumTransformDialog *dlg = new QgsDatumTransformDialog( sourceCrs, destinationCrs, qMakePair( sourceTransform, destinationTransform ) );
if ( dlg->exec() )
QgsDatumTransformDialog dlg( sourceCrs, destinationCrs, qMakePair( sourceTransform, destinationTransform ) );
if ( dlg.exec() )
{
QPair< QPair<QgsCoordinateReferenceSystem, int>, QPair<QgsCoordinateReferenceSystem, int > > dt = dlg->selectedDatumTransforms();
QPair< QPair<QgsCoordinateReferenceSystem, int>, QPair<QgsCoordinateReferenceSystem, int > > dt = dlg.selectedDatumTransforms();
QgsCoordinateTransformContext context = mModel->transformContext();
// QMap::insert takes care of replacing existing value
context.addSourceDestinationDatumTransform( sourceCrs, destinationCrs, dt.first.second, dt.second.second );
Expand Down
6 changes: 3 additions & 3 deletions src/app/qgsdatumtransformtablewidget.h
Expand Up @@ -45,7 +45,7 @@ class APP_EXPORT QgsDatumTransformTableModel : public QAbstractTableModel

QgsDatumTransformTableModel( QObject *parent = nullptr );

void setTransformContext( QgsCoordinateTransformContext &context );
void setTransformContext( const QgsCoordinateTransformContext &context );

QgsCoordinateTransformContext transformContext() const
{
Expand All @@ -55,7 +55,7 @@ class APP_EXPORT QgsDatumTransformTableModel : public QAbstractTableModel
/**
* remove the transformation at given indexes
*/
void removeTransform( QModelIndexList indexes );
void removeTransform( const QModelIndexList &indexes );

int rowCount( const QModelIndex &parent ) const override;
int columnCount( const QModelIndex &parent ) const override;
Expand All @@ -76,7 +76,7 @@ class APP_EXPORT QgsDatumTransformTableWidget : public QWidget, private Ui::QgsD
explicit QgsDatumTransformTableWidget( QWidget *parent = 0 );
~QgsDatumTransformTableWidget();

void setTransformContext( QgsCoordinateTransformContext &context )
void setTransformContext( const QgsCoordinateTransformContext &context )
{
mModel->setTransformContext( context );
}
Expand Down

0 comments on commit 8ab658c

Please sign in to comment.