diff --git a/src/app/locator/qgsinbuiltlocatorfilters.cpp b/src/app/locator/qgsinbuiltlocatorfilters.cpp index 413205cdb96..f600a21703f 100644 --- a/src/app/locator/qgsinbuiltlocatorfilters.cpp +++ b/src/app/locator/qgsinbuiltlocatorfilters.cpp @@ -71,19 +71,20 @@ QgsLayoutLocatorFilter::QgsLayoutLocatorFilter( QObject *parent ) void QgsLayoutLocatorFilter::fetchResults( const QString &string, const QgsLocatorContext &, QgsFeedback *feedback ) { - Q_FOREACH ( QgsComposition *composition, QgsProject::instance()->layoutManager()->compositions() ) + const QList< QgsMasterLayoutInterface * > layouts = QgsProject::instance()->layoutManager()->layouts(); + for ( QgsMasterLayoutInterface *layout : layouts ) { if ( feedback->isCanceled() ) return; - if ( composition && stringMatches( composition->name(), string ) ) + if ( layout && stringMatches( layout->name(), string ) ) { QgsLocatorResult result; result.filter = this; - result.displayString = composition->name(); - result.userData = composition->name(); + result.displayString = layout->name(); + result.userData = layout->name(); //result.icon = QgsMapLayerModel::iconForLayer( layer->layer() ); - result.score = static_cast< double >( string.length() ) / composition->name().length(); + result.score = static_cast< double >( string.length() ) / layout->name().length(); emit resultFetched( result ); } } @@ -92,11 +93,11 @@ void QgsLayoutLocatorFilter::fetchResults( const QString &string, const QgsLocat void QgsLayoutLocatorFilter::triggerResult( const QgsLocatorResult &result ) { QString layoutName = result.userData.toString(); - QgsComposition *composition = QgsProject::instance()->layoutManager()->compositionByName( layoutName ); - if ( !composition ) + QgsMasterLayoutInterface *layout = QgsProject::instance()->layoutManager()->layoutByName( layoutName ); + if ( !layout ) return; - QgisApp::instance()->openComposer( composition ); + QgisApp::instance()->openLayoutDesignerDialog( layout ); }