Skip to content

Commit 28b541a

Browse files
committedJan 21, 2016
Copy layer variables when duplicating layers
1 parent ff8472d commit 28b541a

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7691,6 +7691,24 @@ void QgisApp::duplicateLayers( const QList<QgsMapLayer *>& lyrList )
76917691
{
76927692
dupVLayer->setProviderEncoding( vlayer->dataProvider()->encoding() );
76937693
}
7694+
7695+
//add variables defined in layer properties
7696+
QStringList variableNames = vlayer->customProperty( "variableNames" ).toStringList();
7697+
QStringList variableValues = vlayer->customProperty( "variableValues" ).toStringList();
7698+
7699+
int varIndex = 0;
7700+
Q_FOREACH ( const QString& variableName, variableNames )
7701+
{
7702+
if ( varIndex >= variableValues.length() )
7703+
{
7704+
break;
7705+
}
7706+
7707+
QVariant varValue = variableValues.at( varIndex );
7708+
varIndex++;
7709+
QgsExpressionContextUtils::setLayerVariable( dupVLayer, variableName, varValue );
7710+
}
7711+
76947712
dupLayer = dupVLayer;
76957713
}
76967714
}

0 commit comments

Comments
 (0)
Please sign in to comment.