Skip to content

Commit d77906a

Browse files
committed
Fix save/restore of a layers geometry properties
1 parent c01220c commit d77906a

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/core/qgsvectorlayer.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -2055,6 +2055,10 @@ bool QgsVectorLayer::readSymbology( const QDomNode &layerNode, QString &errorMes
20552055
mFieldWidgetSetups[fieldName] = setup;
20562056
}
20572057

2058+
QDomElement geometryOptionsElement = layerNode.namedItem( QStringLiteral( "geometryOptions" ) ).toElement();
2059+
mGeometryOptions.geometryPrecision = geometryOptionsElement.attribute( QStringLiteral( "geometryPrecision" ), QStringLiteral( "0.0" ) ).toDouble();
2060+
mGeometryOptions.removeDuplicateNodes = geometryOptionsElement.attribute( QStringLiteral( "removeDuplicateNodes" ), QStringLiteral( "0" ) ).toInt() == 1;
2061+
20582062
mEditFormConfig.readXml( layerNode, context );
20592063

20602064
mAttributeTableConfig.readXml( layerNode );
@@ -2249,6 +2253,12 @@ bool QgsVectorLayer::writeSymbology( QDomNode &node, QDomDocument &doc, QString
22492253
QDomElement fieldConfigurationElement = doc.createElement( QStringLiteral( "fieldConfiguration" ) );
22502254
node.appendChild( fieldConfigurationElement );
22512255

2256+
QDomElement geometryOptionsElement = doc.createElement( QStringLiteral( "geometryOptions" ) );
2257+
node.appendChild( geometryOptionsElement );
2258+
2259+
geometryOptionsElement.setAttribute( QStringLiteral( "removeDuplicateNodes" ), mGeometryOptions.removeDuplicateNodes ? 1 : 0 );
2260+
geometryOptionsElement.setAttribute( QStringLiteral( "geometryPrecision" ), mGeometryOptions.geometryPrecision );
2261+
22522262
int index = 0;
22532263
Q_FOREACH ( const QgsField &field, mFields )
22542264
{

0 commit comments

Comments
 (0)