Skip to content

Commit

Permalink
Use unique_ptr for mNumberSidesSpinBox
Browse files Browse the repository at this point in the history
  • Loading branch information
lbartoletti committed Oct 3, 2017
1 parent 3e8403b commit b962828
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
9 changes: 4 additions & 5 deletions src/app/qgsmaptooladdregularpolygon.cpp
Expand Up @@ -39,22 +39,21 @@ QgsMapToolAddRegularPolygon::~QgsMapToolAddRegularPolygon()
void QgsMapToolAddRegularPolygon::createNumberSidesSpinBox()
{
deleteNumberSidesSpinBox();
mNumberSidesSpinBox = new QSpinBox();
mNumberSidesSpinBox = std::unique_ptr<QSpinBox>( new QSpinBox() );
mNumberSidesSpinBox->setMaximum( 99999999 );
mNumberSidesSpinBox->setMinimum( 3 );
mNumberSidesSpinBox->setPrefix( tr( "Number of sides: " ) );
mNumberSidesSpinBox->setValue( mNumberSides );
QgisApp::instance()->addUserInputWidget( mNumberSidesSpinBox );
QgisApp::instance()->addUserInputWidget( mNumberSidesSpinBox.get() );
mNumberSidesSpinBox->setFocus( Qt::TabFocusReason );
}

void QgsMapToolAddRegularPolygon::deleteNumberSidesSpinBox()
{
if ( mNumberSidesSpinBox )
{
QgisApp::instance()->statusBarIface()->removeWidget( mNumberSidesSpinBox );
delete mNumberSidesSpinBox;
mNumberSidesSpinBox = nullptr;
QgisApp::instance()->statusBarIface()->removeWidget( mNumberSidesSpinBox.get() );
mNumberSidesSpinBox.reset( nullptr );
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/app/qgsmaptooladdregularpolygon.h
Expand Up @@ -40,7 +40,7 @@ class QgsMapToolAddRegularPolygon: public QgsMapToolCapture
protected:
explicit QgsMapToolAddRegularPolygon( QgsMapCanvas *canvas ); //forbidden

QSpinBox *mNumberSidesSpinBox = nullptr;
std::unique_ptr<QSpinBox> mNumberSidesSpinBox;
int mNumberSides;

//! (re-)create the spin box to enter the number of sides
Expand Down

0 comments on commit b962828

Please sign in to comment.