Skip to content

Commit af03d2f

Browse files
committed
Remove Q_FOREACH, fix inefficient loops
1 parent 944cb8c commit af03d2f

File tree

4 files changed

+25
-17
lines changed

4 files changed

+25
-17
lines changed

src/app/geocms/geonode/qgsgeonodedataitems.cpp

+12-7
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ QVector<QgsDataItem *> QgsGeoNodeServiceItem::createChildren()
137137

138138
QVector<QgsDataItem *> items;
139139
QList<QgsDataItemProvider *> *providerList = dataItemProvidersFn();
140-
Q_FOREACH ( QgsDataItemProvider *pr, *providerList )
140+
for ( QgsDataItemProvider *pr : qgsAsConst( *providerList ) )
141141
{
142142
if ( !pr->name().startsWith( mServiceName ) )
143143
continue;
@@ -160,7 +160,7 @@ QVector<QgsDataItem *> QgsGeoNodeServiceItem::createChildren()
160160
return items;
161161
}
162162

163-
Q_FOREACH ( QgsDataItem *item, items )
163+
for ( QgsDataItem *item : qgsAsConst( items ) )
164164
{
165165
item->populate( true ); // populate in foreground - this is already run in a thread
166166

@@ -178,12 +178,15 @@ QVector<QgsDataItem *> QgsGeoNodeServiceItem::createChildren()
178178
skipProvider = true;
179179
}
180180

181-
Q_FOREACH ( QgsDataItem *item, serviceItems.keys() )
181+
auto serviceItemIt = serviceItems.constBegin();
182+
for ( ; serviceItemIt != serviceItems.constEnd(); ++serviceItemIt )
182183
{
183-
QString providerKey = serviceItems.value( item );
184+
QgsDataItem *item = serviceItemIt.key();
185+
QString providerKey = serviceItemIt.value();
184186

185187
// Add layers directly to service item
186-
Q_FOREACH ( QgsDataItem *subItem, item->children() )
188+
const QVector< QgsDataItem * > serviceChildItems = item->children();
189+
for ( QgsDataItem *subItem : serviceChildItems )
187190
{
188191
if ( subItem->path().endsWith( QStringLiteral( "error" ) ) )
189192
{
@@ -205,7 +208,8 @@ QVector<QgsDataItem *> QgsGeoNodeServiceItem::createChildren()
205208
void QgsGeoNodeServiceItem::replacePath( QgsDataItem *item, QString before, QString after )
206209
{
207210
item->setPath( item->path().replace( before, after ) );
208-
Q_FOREACH ( QgsDataItem *subItem, item->children() )
211+
const QVector< QgsDataItem * > children = item->children();
212+
for ( QgsDataItem *subItem : children )
209213
{
210214
replacePath( subItem, before, after );
211215
}
@@ -224,7 +228,8 @@ QVector<QgsDataItem *> QgsGeoNodeRootItem::createChildren()
224228
{
225229
QVector<QgsDataItem *> connections;
226230

227-
Q_FOREACH ( const QString &connName, QgsGeoNodeConnectionUtils::connectionList() )
231+
const QStringList names = QgsGeoNodeConnectionUtils::connectionList();
232+
for ( const QString &connName : names )
228233
{
229234
std::unique_ptr< QgsGeoNodeConnection > connection( new QgsGeoNodeConnection( connName ) );
230235
QString path = mPath + '/' + connName;

src/core/geocms/geonode/qgsgeonoderequest.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ void QgsGeoNodeRequest::replyFinished()
209209
QNetworkCacheMetaData cmd = nam->cache()->metaData( mGeoNodeReply->request().url() );
210210

211211
QNetworkCacheMetaData::RawHeaderList hl;
212-
Q_FOREACH ( const QNetworkCacheMetaData::RawHeader &h, cmd.rawHeaders() )
212+
const QNetworkCacheMetaData::RawHeaderList cmdHeaders = cmd.rawHeaders();
213+
for ( const QNetworkCacheMetaData::RawHeader &h : cmdHeaders )
213214
{
214215
if ( h.first != QStringLiteral( "Cache-Control" ) )
215216
hl.append( h );

src/providers/wfs/qgswfsdataitems.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,14 @@ QVector<QgsDataItem *> QgsWfsDataItemProvider::createDataItems( const QString &p
251251
QString url = connection.uri().param( "url" );
252252
QgsGeoNodeRequest geonodeRequest( url, true );
253253

254-
QStringList encodedUris( geonodeRequest.fetchServiceUrlsBlocking( QStringLiteral( "WFS" ) ) );
254+
const QStringList encodedUris( geonodeRequest.fetchServiceUrlsBlocking( QStringLiteral( "WFS" ) ) );
255255

256256
if ( !encodedUris.isEmpty() )
257257
{
258-
Q_FOREACH ( QString encodedUri, encodedUris )
258+
for ( const QString &encodedUri : encodedUris )
259259
{
260260
QgsWFSDataSourceURI uri( encodedUri );
261-
QgsDebugMsg( QString( "WFS full uri: '%1'." ).arg( QString( uri.uri() ) ) );
261+
QgsDebugMsg( QStringLiteral( "WFS full uri: '%1'." ).arg( uri.uri() ) );
262262

263263
QgsDataItem *item = new QgsWfsConnectionItem( parentItem, QStringLiteral( "WFS" ), path, uri.uri() );
264264
if ( item )

src/providers/wms/qgswmsdataitems.cpp

+8-6
Original file line numberDiff line numberDiff line change
@@ -566,11 +566,11 @@ QVector<QgsDataItem *> QgsWmsDataItemProvider::createDataItems( const QString &p
566566
QString url = connection.uri().param( "url" );
567567
QgsGeoNodeRequest geonodeRequest( url, true );
568568

569-
QStringList encodedUris( geonodeRequest.fetchServiceUrlsBlocking( QStringLiteral( "WMS" ) ) );
569+
const QStringList encodedUris( geonodeRequest.fetchServiceUrlsBlocking( QStringLiteral( "WMS" ) ) );
570570

571571
if ( !encodedUris.isEmpty() )
572572
{
573-
Q_FOREACH ( QString encodedUri, encodedUris )
573+
for ( const QString &encodedUri : encodedUris )
574574
{
575575
QgsDebugMsg( encodedUri );
576576
QgsDataSourceUri uri;
@@ -612,16 +612,18 @@ QVector<QgsDataItem *> QgsXyzTileDataItemProvider::createDataItems( const QStrin
612612
QString url = connection.uri().param( "url" );
613613
QgsGeoNodeRequest geonodeRequest( url, true );
614614

615-
QgsStringMap urlData( geonodeRequest.fetchServiceUrlDataBlocking( QStringLiteral( "XYZ" ) ) );
615+
const QgsStringMap urlData( geonodeRequest.fetchServiceUrlDataBlocking( QStringLiteral( "XYZ" ) ) );
616616

617617
if ( !urlData.isEmpty() )
618618
{
619-
Q_FOREACH ( QString layerName, urlData.keys() )
619+
auto urlDataIt = urlData.constBegin();
620+
for ( ; urlDataIt != urlData.constEnd(); ++urlDataIt )
620621
{
621-
QgsDebugMsg( urlData[ layerName] );
622+
const QString layerName = urlDataIt.key();
623+
QgsDebugMsg( urlDataIt.value() );
622624
QgsDataSourceUri uri;
623625
uri.setParam( QStringLiteral( "type" ), QStringLiteral( "xyz" ) );
624-
uri.setParam( QStringLiteral( "url" ), urlData[ layerName ] );
626+
uri.setParam( QStringLiteral( "url" ), urlDataIt.value() );
625627

626628
QgsDataItem *item = new QgsXyzLayerItem( parentItem, layerName, path, uri.encodedUri() );
627629
if ( item )

0 commit comments

Comments
 (0)