foreach ( QgsMapLayer* l, layers ) { if ( l->id() == mLayerId ) { mLayer = l; disconnect( QgsMapLayerRegistry::instance(), SIGNAL( layersAdded( QList<QgsMapLayer*> ) ), this, SLOT( registryLayersAdded( QList<QgsMapLayer*> ) ) ); emit layerLoaded(); break; } }
void QgsLayerTreeLayer::attachToLayer() { // layer is not necessarily already loaded QgsMapLayer* l = QgsMapLayerRegistry::instance()->mapLayer( mLayerId ); if ( l ) { mLayer = l; mLayerName = l->name(); } else { if ( mLayerName.isEmpty() ) mLayerName = "(?)"; // wait for the layer to be eventually loaded connect( QgsMapLayerRegistry::instance(), SIGNAL( layersAdded( QList<QgsMapLayer*> ) ), this, SLOT( registryLayersAdded( QList<QgsMapLayer*> ) ) ); } }
Q_FOREACH ( QgsMapLayer* l, layers ) { if ( l->id() == mLayerId ) { disconnect( QgsMapLayerRegistry::instance(), SIGNAL( layersAdded( QList<QgsMapLayer*> ) ), this, SLOT( registryLayersAdded( QList<QgsMapLayer*> ) ) ); attachToLayer(); emit layerLoaded(); break; } }