Merge pull request #4579 from alexbruy/layer-naming

homogenize layer naming when adding via browser and add vector dialog (fix #15510)
This commit is contained in:
Alexander Bruy 2017-05-19 08:32:25 +03:00 committed by GitHub
commit d7b952b4c0

View File

@ -9857,6 +9857,17 @@ QgsVectorLayer *QgisApp::addVectorLayer( const QString &vectorLayerPath, const Q
{
// Register this layer with the layers registry
QList<QgsMapLayer *> myList;
//set friendly name for datasources with only one layer
QStringList sublayers = layer->dataProvider()->subLayers();
QStringList elements = sublayers.at( 0 ).split( ':' );
Q_ASSERT( elements.size() >= 4 );
if ( layer->name() != elements.at( 1 ) )
{
layer->setName( QStringLiteral( "%1 %2 %3" ).arg( layer->name(), elements.at( 1 ), elements.at( 3 ) ) );
}
myList << layer;
QgsProject::instance()->addMapLayers( myList );
bool ok;