@@ -1630,10 +1630,6 @@ bool QgsVectorLayer::readXml( const QDomNode& layer_node )
1630
1630
return false ;
1631
1631
}
1632
1632
1633
- QDomElement mapLayerNode = layer_node.toElement ();
1634
- if ( mapLayerNode.attribute ( " readOnly" , " 0" ).toInt () == 1 )
1635
- mReadOnly = true ;
1636
-
1637
1633
QDomElement pkeyElem = pkeyNode.toElement ();
1638
1634
if ( !pkeyElem.isNull () )
1639
1635
{
@@ -1679,24 +1675,6 @@ bool QgsVectorLayer::readXml( const QDomNode& layer_node )
1679
1675
1680
1676
readStyleManager ( layer_node );
1681
1677
1682
- // default expressions
1683
- mDefaultExpressionMap .clear ();
1684
- QDomNode defaultsNode = layer_node.namedItem ( " defaults" );
1685
- if ( !defaultsNode.isNull () )
1686
- {
1687
- QDomNodeList defaultNodeList = defaultsNode.toElement ().elementsByTagName ( " default" );
1688
- for ( int i = 0 ; i < defaultNodeList.size (); ++i )
1689
- {
1690
- QDomElement defaultElem = defaultNodeList.at ( i ).toElement ();
1691
-
1692
- QString field = defaultElem.attribute ( " field" , QString () );
1693
- QString expression = defaultElem.attribute ( " expression" , QString () );
1694
- if ( field.isEmpty () || expression.isEmpty () )
1695
- continue ;
1696
-
1697
- mDefaultExpressionMap .insert ( field, expression );
1698
- }
1699
- }
1700
1678
updateFields ();
1701
1679
1702
1680
setLegend ( QgsMapLayerLegend::defaultVectorLegend ( this ) );
@@ -1874,9 +1852,6 @@ bool QgsVectorLayer::writeXml( QDomNode & layer_node,
1874
1852
layer_node.appendChild ( provider );
1875
1853
}
1876
1854
1877
- // save readonly state
1878
- mapLayerNode.setAttribute ( " readOnly" , mReadOnly );
1879
-
1880
1855
// save preview expression
1881
1856
QDomElement prevExpElem = document.createElement ( " previewExpression" );
1882
1857
QDomText prevExpText = document.createTextNode ( mDisplayExpression );
@@ -1899,17 +1874,6 @@ bool QgsVectorLayer::writeXml( QDomNode & layer_node,
1899
1874
// save expression fields
1900
1875
mExpressionFieldBuffer ->writeXml ( layer_node, document );
1901
1876
1902
- // default expressions
1903
- QDomElement defaultsElem = document.createElement ( " defaults" );
1904
- Q_FOREACH ( const QgsField& field, mUpdatedFields )
1905
- {
1906
- QDomElement defaultElem = document.createElement ( " default" );
1907
- defaultElem.setAttribute ( " field" , field.name () );
1908
- defaultElem.setAttribute ( " expression" , field.defaultValueExpression () );
1909
- defaultsElem.appendChild ( defaultElem );
1910
- }
1911
- layer_node.appendChild ( defaultsElem );
1912
-
1913
1877
writeStyleManager ( layer_node, document );
1914
1878
1915
1879
// renderer specific settings
@@ -1963,6 +1927,24 @@ bool QgsVectorLayer::readSymbology( const QDomNode& node, QString& errorMessage
1963
1927
mAttributeAliasMap .insert ( field, aliasElem.attribute ( " name" ) );
1964
1928
}
1965
1929
}
1930
+ // default expressions
1931
+ mDefaultExpressionMap .clear ();
1932
+ QDomNode defaultsNode = node.namedItem ( " defaults" );
1933
+ if ( !defaultsNode.isNull () )
1934
+ {
1935
+ QDomNodeList defaultNodeList = defaultsNode.toElement ().elementsByTagName ( " default" );
1936
+ for ( int i = 0 ; i < defaultNodeList.size (); ++i )
1937
+ {
1938
+ QDomElement defaultElem = defaultNodeList.at ( i ).toElement ();
1939
+
1940
+ QString field = defaultElem.attribute ( " field" , QString () );
1941
+ QString expression = defaultElem.attribute ( " expression" , QString () );
1942
+ if ( field.isEmpty () || expression.isEmpty () )
1943
+ continue ;
1944
+
1945
+ mDefaultExpressionMap .insert ( field, expression );
1946
+ }
1947
+ }
1966
1948
updateFields ();
1967
1949
1968
1950
// Attributes excluded from WMS and WFS
@@ -1996,6 +1978,11 @@ bool QgsVectorLayer::readSymbology( const QDomNode& node, QString& errorMessage
1996
1978
1997
1979
readCustomProperties ( node, " variable" );
1998
1980
1981
+ QDomElement mapLayerNode = node.toElement ();
1982
+ if ( mapLayerNode.attribute ( " readOnly" , " 0" ).toInt () == 1 )
1983
+ mReadOnly = true ;
1984
+
1985
+
1999
1986
return true ;
2000
1987
}
2001
1988
@@ -2101,7 +2088,6 @@ bool QgsVectorLayer::readStyle( const QDomNode &node, QString &errorMessage )
2101
2088
2102
2089
if ( !labelattributesnode.isNull () && mLabel )
2103
2090
{
2104
- QgsDebugMsg ( " calling readXML" );
2105
2091
mLabel ->readXML ( labelattributesnode );
2106
2092
}
2107
2093
@@ -2193,6 +2179,20 @@ bool QgsVectorLayer::writeSymbology( QDomNode& node, QDomDocument& doc, QString&
2193
2179
mEditFormConfig ->writeXml ( node );
2194
2180
mConditionalStyles ->writeXml ( node, doc );
2195
2181
2182
+ // save readonly state
2183
+ node.toElement ().setAttribute ( " readOnly" , mReadOnly );
2184
+
2185
+ // default expressions
2186
+ QDomElement defaultsElem = node.ownerDocument ().createElement ( " defaults" );
2187
+ Q_FOREACH ( const QgsField& field, mUpdatedFields )
2188
+ {
2189
+ QDomElement defaultElem = doc.createElement ( " default" );
2190
+ defaultElem.setAttribute ( " field" , field.name () );
2191
+ defaultElem.setAttribute ( " expression" , field.defaultValueExpression () );
2192
+ defaultsElem.appendChild ( defaultElem );
2193
+ }
2194
+ node.appendChild ( defaultsElem );
2195
+
2196
2196
return true ;
2197
2197
}
2198
2198
0 commit comments