Skip to content

Commit 6792d23

Browse files
authored
Merge pull request #9768 from m-kuhn/qobject_cast
Use qobject_cast instead of dynamic_cast
2 parents 33139f3 + 7bc7092 commit 6792d23

12 files changed

+20
-20
lines changed

src/app/decorations/qgsdecorationgrid.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ bool QgsDecorationGrid::getIntervalFromCurrentLayer( double *values )
809809
QMessageBox::warning( nullptr, tr( "Get Interval from Layer" ), tr( "Please select a raster layer." ) );
810810
return false;
811811
}
812-
QgsRasterLayer *rlayer = dynamic_cast<QgsRasterLayer *>( layer );
812+
QgsRasterLayer *rlayer = qobject_cast<QgsRasterLayer *>( layer );
813813
if ( !rlayer || rlayer->width() == 0 || rlayer->height() == 0 )
814814
{
815815
QMessageBox::warning( nullptr, tr( "Get Interval from Layer" ), tr( "Invalid raster layer" ) );

src/app/qgsdxfexportdialog.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ QgsVectorLayer *QgsVectorLayerAndAttributeModel::vectorLayer( const QModelIndex
124124
if ( !n || !QgsLayerTree::isLayer( n ) )
125125
return nullptr;
126126

127-
return dynamic_cast<QgsVectorLayer *>( QgsLayerTree::toLayer( n )->layer() );
127+
return qobject_cast<QgsVectorLayer *>( QgsLayerTree::toLayer( n )->layer() );
128128
}
129129

130130
int QgsVectorLayerAndAttributeModel::attributeIndex( const QgsVectorLayer *vl ) const

src/app/qgsjoindialog.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ void QgsJoinDialog::joinedLayerChanged( QgsMapLayer *layer )
159159
{
160160
mJoinFieldComboBox->clear();
161161

162-
QgsVectorLayer *vLayer = dynamic_cast<QgsVectorLayer *>( layer );
162+
QgsVectorLayer *vLayer = qobject_cast<QgsVectorLayer *>( layer );
163163
if ( !vLayer )
164164
{
165165
return;

src/app/qgsmaptoolpinlabels.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ void QgsMapToolPinLabels::highlightPinnedLabels()
203203
{
204204
continue;
205205
}
206-
QgsVectorLayer *vlayer = dynamic_cast<QgsVectorLayer *>( layer );
206+
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
207207
if ( !vlayer )
208208
{
209209
QgsDebugMsg( QStringLiteral( "Failed to cast to vector layer" ) );

src/app/qgsmaptoolshowhidelabels.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void QgsMapToolShowHideLabels::canvasPressEvent( QgsMapMouseEvent *e )
4949
Q_UNUSED( e );
5050

5151
QgsMapLayer *layer = mCanvas->currentLayer();
52-
QgsVectorLayer *vlayer = dynamic_cast<QgsVectorLayer *>( layer );
52+
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
5353
if ( !vlayer )
5454
return;
5555

@@ -127,7 +127,7 @@ void QgsMapToolShowHideLabels::canvasReleaseEvent( QgsMapMouseEvent *e )
127127
void QgsMapToolShowHideLabels::showHideLabels( QMouseEvent *e )
128128
{
129129
QgsMapLayer *layer = mCanvas->currentLayer();
130-
QgsVectorLayer *vlayer = dynamic_cast<QgsVectorLayer *>( layer );
130+
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
131131
if ( !vlayer )
132132
return;
133133

src/core/layertree/qgslayertreemodellegendnode.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ QSizeF QgsSymbolLegendNode::drawSymbol( const QgsLegendSettings &settings, ItemC
469469
double dotsPerMM = context.scaleFactor();
470470

471471
int opacity = 255;
472-
if ( QgsVectorLayer *vectorLayer = dynamic_cast<QgsVectorLayer *>( layerNode()->layer() ) )
472+
if ( QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layerNode()->layer() ) )
473473
opacity = ( 255 * vectorLayer->opacity() );
474474

475475
p->save();
@@ -537,7 +537,7 @@ void QgsSymbolLegendNode::exportSymbolToJson( const QgsLegendSettings &settings,
537537
QImage img( pix.toImage().convertToFormat( QImage::Format_ARGB32_Premultiplied ) );
538538

539539
int opacity = 255;
540-
if ( QgsVectorLayer *vectorLayer = dynamic_cast<QgsVectorLayer *>( layerNode()->layer() ) )
540+
if ( QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layerNode()->layer() ) )
541541
opacity = ( 255 * vectorLayer->opacity() );
542542

543543
if ( opacity != 255 )
@@ -702,7 +702,7 @@ QSizeF QgsRasterSymbolLegendNode::drawSymbol( const QgsLegendSettings &settings,
702702
if ( ctx && ctx->painter )
703703
{
704704
QColor itemColor = mColor;
705-
if ( QgsRasterLayer *rasterLayer = dynamic_cast<QgsRasterLayer *>( layerNode()->layer() ) )
705+
if ( QgsRasterLayer *rasterLayer = qobject_cast<QgsRasterLayer *>( layerNode()->layer() ) )
706706
{
707707
if ( QgsRasterRenderer *rasterRenderer = rasterLayer->renderer() )
708708
itemColor.setAlpha( rasterRenderer->opacity() * 255.0 );
@@ -737,7 +737,7 @@ void QgsRasterSymbolLegendNode::exportSymbolToJson( const QgsLegendSettings &set
737737
painter.setRenderHint( QPainter::Antialiasing );
738738

739739
QColor itemColor = mColor;
740-
if ( QgsRasterLayer *rasterLayer = dynamic_cast<QgsRasterLayer *>( layerNode()->layer() ) )
740+
if ( QgsRasterLayer *rasterLayer = qobject_cast<QgsRasterLayer *>( layerNode()->layer() ) )
741741
{
742742
if ( QgsRasterRenderer *rasterRenderer = rasterLayer->renderer() )
743743
itemColor.setAlpha( rasterRenderer->opacity() * 255.0 );

src/core/qgsmaplayermodel.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ QIcon QgsMapLayerModel::iconForLayer( QgsMapLayer *layer )
369369

370370
case QgsMapLayerType::VectorLayer:
371371
{
372-
QgsVectorLayer *vl = dynamic_cast<QgsVectorLayer *>( layer );
372+
QgsVectorLayer *vl = qobject_cast<QgsVectorLayer *>( layer );
373373
if ( !vl )
374374
{
375375
return QIcon();

src/core/qgssnappingconfig.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ void QgsSnappingConfig::reset()
151151
const auto constMapLayers = mProject->mapLayers();
152152
for ( QgsMapLayer *ml : constMapLayers )
153153
{
154-
QgsVectorLayer *vl = dynamic_cast<QgsVectorLayer *>( ml );
154+
QgsVectorLayer *vl = qobject_cast<QgsVectorLayer *>( ml );
155155
if ( vl )
156156
{
157157
mIndividualLayerSettings.insert( vl, IndividualLayerSettings( enabled, type, tolerance, units ) );

src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ bool QgsGeometryCheckerResultTab::exportErrorsDo( const QString &file )
299299
QStringList toRemove;
300300
for ( QgsMapLayer *maplayer : QgsProject::instance()->mapLayers() )
301301
{
302-
if ( dynamic_cast<QgsVectorLayer *>( maplayer ) &&
302+
if ( qobject_cast<QgsVectorLayer *>( maplayer ) &&
303303
static_cast<QgsVectorLayer *>( maplayer )->dataProvider()->dataSourceUri() == layer->dataProvider()->dataSourceUri() )
304304
{
305305
toRemove.append( maplayer->id() );

src/plugins/georeferencer/qgsgcpcanvasitem.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ double QgsGCPCanvasItem::residualToScreenFactor() const
193193
QgsMapLayer *mapLayer = canvasLayers.at( 0 );
194194
if ( mapLayer )
195195
{
196-
QgsRasterLayer *rasterLayer = dynamic_cast<QgsRasterLayer *>( mapLayer );
196+
QgsRasterLayer *rasterLayer = qobject_cast<QgsRasterLayer *>( mapLayer );
197197
if ( rasterLayer )
198198
{
199199
mapUnitsPerRasterPixel = rasterLayer->rasterUnitsPerPixelX();

src/plugins/globe/globe_plugin.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,7 @@ void GlobePlugin::updateLayers()
913913
{
914914
if ( mapLayer )
915915
disconnect( mapLayer, SIGNAL( repaintRequested() ), this, SLOT( layerChanged() ) );
916-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
916+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
917917
disconnect( static_cast<QgsVectorLayer *>( mapLayer ), SIGNAL( layerTransparencyChanged( int ) ), this, SLOT( layerChanged() ) );
918918
}
919919
osgEarth::ModelLayerVector modelLayers;
@@ -927,7 +927,7 @@ void GlobePlugin::updateLayers()
927927
QgsMapLayer *mapLayer = QgsProject::instance()->mapLayer( QString::fromStdString( modelLayer->getName() ) );
928928
if ( mapLayer )
929929
disconnect( mapLayer, SIGNAL( repaintRequested() ), this, SLOT( layerChanged() ) );
930-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
930+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
931931
disconnect( static_cast<QgsVectorLayer *>( mapLayer ), SIGNAL( layerTransparencyChanged( int ) ), this, SLOT( layerChanged() ) );
932932
if ( !selectedLayerIds.contains( QString::fromStdString( modelLayer->getName() ) ) )
933933
mMapNode->getMap()->removeModelLayer( modelLayer );
@@ -939,7 +939,7 @@ void GlobePlugin::updateLayers()
939939
connect( mapLayer, SIGNAL( repaintRequested() ), this, SLOT( layerChanged() ) );
940940

941941
QgsGlobeVectorLayerConfig *layerConfig = 0;
942-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
942+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
943943
{
944944
layerConfig = QgsGlobeVectorLayerConfig::getConfig( static_cast<QgsVectorLayer *>( mapLayer ) );
945945
connect( static_cast<QgsVectorLayer *>( mapLayer ), SIGNAL( layerTransparencyChanged( int ) ), this, SLOT( layerChanged() ) );
@@ -985,7 +985,7 @@ void GlobePlugin::layerChanged( QgsMapLayer *mapLayer )
985985
if ( mMapNode )
986986
{
987987
QgsGlobeVectorLayerConfig *layerConfig = 0;
988-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
988+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
989989
{
990990
layerConfig = QgsGlobeVectorLayerConfig::getConfig( static_cast<QgsVectorLayer *>( mapLayer ) );
991991
}

src/plugins/globe/qgsglobevectorlayerproperties.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ bool QgsGlobeLayerPropertiesFactory::supportsLayer( QgsMapLayer *layer ) const
211211

212212
void QgsGlobeLayerPropertiesFactory::readGlobeVectorLayerConfig( QgsMapLayer *mapLayer, const QDomElement &elem )
213213
{
214-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
214+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
215215
{
216216
QgsVectorLayer *vLayer = static_cast<QgsVectorLayer *>( mapLayer );
217217
QgsGlobeVectorLayerConfig *config = QgsGlobeVectorLayerConfig::getConfig( vLayer );
@@ -254,7 +254,7 @@ void QgsGlobeLayerPropertiesFactory::readGlobeVectorLayerConfig( QgsMapLayer *ma
254254

255255
void QgsGlobeLayerPropertiesFactory::writeGlobeVectorLayerConfig( QgsMapLayer *mapLayer, QDomElement &elem, QDomDocument &doc )
256256
{
257-
if ( dynamic_cast<QgsVectorLayer *>( mapLayer ) )
257+
if ( qobject_cast<QgsVectorLayer *>( mapLayer ) )
258258
{
259259
QgsVectorLayer *vLayer = static_cast<QgsVectorLayer *>( mapLayer );
260260
QgsGlobeVectorLayerConfig *config = QgsGlobeVectorLayerConfig::getConfig( vLayer );

0 commit comments

Comments
 (0)