Make function more readable

This commit is contained in:
Nyall Dawson 2024-05-13 14:14:51 +10:00 committed by Martin Dobias
parent c79168a6bc
commit 9492c69d9f
2 changed files with 48 additions and 41 deletions

View File

@ -32,6 +32,21 @@ void QgsAppCanvasFiltering::setupElevationControllerAction( QAction *action, Qgs
connect( action, &QAction::toggled, canvas, [canvas, action, this]( bool checked )
{
if ( checked )
{
createElevationController( action, canvas );
}
else
{
canvas->setZRange( QgsDoubleRange() );
if ( QgsElevationControllerWidget *controller = mCanvasElevationControllerMap.value( canvas ) )
{
controller->deleteLater();
}
}
} );
}
void QgsAppCanvasFiltering::createElevationController( QAction *senderAction, QgsMapCanvas *canvas )
{
QgsElevationControllerWidget *controller = new QgsElevationControllerWidget();
connect( controller, &QgsElevationControllerWidget::rangeChanged, canvas, &QgsMapCanvas::setZRange );
@ -44,9 +59,9 @@ void QgsAppCanvasFiltering::setupElevationControllerAction( QAction *action, Qgs
} );
QAction *disableAction = new QAction( tr( "Disable Elevation Filter" ), controller );
controller->menu()->addAction( disableAction );
connect( disableAction, &QAction::triggered, action, [action]
connect( disableAction, &QAction::triggered, senderAction, [senderAction]
{
action->setChecked( false );
senderAction->setChecked( false );
} );
canvas->addOverlayWidget( controller, Qt::Edge::LeftEdge );
@ -75,13 +90,3 @@ void QgsAppCanvasFiltering::setupElevationControllerAction( QAction *action, Qgs
} );
}
}
else
{
canvas->setZRange( QgsDoubleRange() );
if ( QgsElevationControllerWidget *controller = mCanvasElevationControllerMap.value( canvas ) )
{
controller->deleteLater();
}
}
} );
}

View File

@ -36,6 +36,8 @@ class QgsAppCanvasFiltering : public QObject
private:
void createElevationController( QAction *senderAction, QgsMapCanvas *canvas );
QHash< QgsMapCanvas *, QgsElevationControllerWidget * > mCanvasElevationControllerMap;
};