[QGIS-Developer] Adding Map layer to current project destroy custom layer variables in Qgis3

Matthias Kuhn matthias at opengis.ch
Thu Jun 21 02:48:53 PDT 2018


Hi David,

Variables are a part of QML / Layer Style. There is a QEP open about
handling of this:

https://github.com/qgis/QGIS-Enhancement-Proposals/issues/125

While variables are not explicitly mentioned in there, it would be good
to treat them in the same way. I.e. allow exporting and importing QML
files without variables. This should allow to export and subsequently
load a style without variables being embedded.
Would be great if you could add a comment to the QEP.

Thanks
Matthias

On 06/20/2018 10:06 PM, David Marteau wrote:
> 
> Just found out that this is not addMapLayer that remove the variables
> but 'layer.loadNamedStyle'
> 
> Print layer.customProperty('variableNames') just before calling
> 'layer.loadNamedStyle' show variables
> Print layer.customProperty('variableNames') just after the call :  empty
> list
> 
> Reproduced in the python console:
> 
>>>> QgsExpressionContextUtils.setLayerVariable(layer,'FOO','BAR')
>>>> layer.customProperty('variableNames')
> ['FOO']
>>>> layer.loadNamedStyle('mystyle.qml')
> ('', True)
>>>> layer.customProperty('variableNames')
> []
> 
> 
>> Le 20 juin 2018 à 18:13, David Marteau <dmarteau at 3liz.com
>> <mailto:dmarteau at 3liz.com>> a écrit :
>>
>> Hi
>>
>> I'm trying to set custom layers variables from processing
>> using  QgsExpressionContextUtils.setLayerVariables to destination
>> layers , I have found that those variables does not appear in 
>> Qgis. 
>>
>> I have found that when the layer is inserted in the current project
>> (https://github.com/qgis/QGIS/blob/master/python/plugins/processing/gui/Postprocessing.py#L81)
>> the layer variables are removed - Checking existence of the variable
>> before
>> and after the call of 'addMaperLayer' shows that layer variables are
>> removed from custom properties.
>>
>> I cannot tell if this is a bug or not because it seems that the
>> removal may occurs in some signal handler. So if somebody has some
>> clues to where to look, I will be grateful.
>>
>>
>> Qgis version: 3.0.3-Girona
>>
>> David
> 
> 
> 
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> 


More information about the QGIS-Developer mailing list