diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 824778fb7973..a3940068ad4c 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -4934,6 +4934,7 @@ void QgisApp::askUserForGDALSublayers( QgsRasterLayer *layer ) QgsLayerTreeGroup *group = nullptr; bool addToGroup = settings.value( QStringLiteral( "/qgis/openSublayersInGroup" ), true ).toBool(); + bool newLayersVisible = settings.value( QStringLiteral( "/qgis/new_layers_visible" ), true ).toBool(); if ( addToGroup ) { group = QgsProject::instance()->layerTreeRoot()->insertGroup( 0, layer->name() ); @@ -4967,6 +4968,10 @@ void QgisApp::askUserForGDALSublayers( QgsRasterLayer *layer ) } } } + + // Respect if user don't want the new group of layers visible. + if ( addToGroup && ! newLayersVisible ) + group->setItemVisibilityCheckedRecursive( newLayersVisible ); } } @@ -5131,6 +5136,7 @@ void QgisApp::askUserForOGRSublayers( QgsVectorLayer *layer ) { QgsSettings settings; bool addToGroup = settings.value( QStringLiteral( "/qgis/openSublayersInGroup" ), true ).toBool(); + bool newLayersVisible = settings.value( QStringLiteral( "/qgis/new_layers_visible" ), true ).toBool(); QgsLayerTreeGroup *group = nullptr; if ( addToGroup ) group = QgsProject::instance()->layerTreeRoot()->insertGroup( 0, name ); @@ -5144,6 +5150,10 @@ void QgisApp::askUserForOGRSublayers( QgsVectorLayer *layer ) if ( addToGroup ) group->addLayer( l ); } + + // Respect if user don't want the new group of layers visible. + if ( addToGroup && ! newLayersVisible ) + group->setItemVisibilityCheckedRecursive( newLayersVisible ); } }