Index: src/core/qgsvectorlayer.cpp =================================================================== --- src/core/qgsvectorlayer.cpp (revision 12084) +++ src/core/qgsvectorlayer.cpp (working copy) @@ -2318,6 +2318,9 @@ bool QgsVectorLayer::readSymbology( cons // use scale dependent visibility flag QDomElement e = node.toElement(); + toggleScaleBasedVisibility( e.attribute( "scaleBasedVisibilityFlag", "0" ) == "1" ); + setMinimumScale( e.attribute( "minScale", "1" ).toFloat() ); + setMaximumScale( e.attribute( "maxScale", "100000000" ).toFloat() ); label()->setScaleBasedVisibility( e.attribute( "scaleBasedLabelVisibilityFlag", "0" ) == "1" ); label()->setMinScale( e.attribute( "minLabelScale", "1" ).toFloat() ); label()->setMaxScale( e.attribute( "maxLabelScale", "100000000" ).toFloat() ); @@ -2465,6 +2468,9 @@ bool QgsVectorLayer::writeSymbology( QDo { // use scale dependent visibility flag QDomElement mapLayerNode = node.toElement(); + mapLayerNode.setAttribute( "scaleBasedVisibilityFlag", hasScaleBasedVisibility() ? 1 : 0 ); + mapLayerNode.setAttribute( "minScale", minimumScale() ); + mapLayerNode.setAttribute( "maxScale", maximumScale() ); mapLayerNode.setAttribute( "scaleBasedLabelVisibilityFlag", label()->scaleBasedVisibility() ? 1 : 0 ); mapLayerNode.setAttribute( "minLabelScale", label()->minScale() ); mapLayerNode.setAttribute( "maxLabelScale", label()->maxScale() ); Index: src/core/qgsmaplayer.h =================================================================== --- src/core/qgsmaplayer.h (revision 12084) +++ src/core/qgsmaplayer.h (working copy) @@ -293,15 +293,15 @@ class CORE_EXPORT QgsMapLayer : public Q /** Accessor and mutator for the minimum scale member */ void setMinimumScale( float theMinScale ); - float minimumScale(); + float minimumScale() const; /** Accessor and mutator for the maximum scale member */ void setMaximumScale( float theMaxScale ); - float maximumScale(); + float maximumScale() const; /** Accessor and mutator for the scale based visilibility flag */ void toggleScaleBasedVisibility( bool theVisibilityFlag ); - bool hasScaleBasedVisibility(); + bool hasScaleBasedVisibility() const; signals: Index: src/core/qgsmaplayer.cpp =================================================================== --- src/core/qgsmaplayer.cpp (revision 12084) +++ src/core/qgsmaplayer.cpp (working copy) @@ -385,7 +385,7 @@ void QgsMapLayer::toggleScaleBasedVisibi mScaleBasedVisibility = theVisibilityFlag; } -bool QgsMapLayer::hasScaleBasedVisibility() +bool QgsMapLayer::hasScaleBasedVisibility() const { return mScaleBasedVisibility; } @@ -395,7 +395,7 @@ void QgsMapLayer::setMinimumScale( float mMinScale = theMinScale; } -float QgsMapLayer::minimumScale() +float QgsMapLayer::minimumScale() const { return mMinScale; } @@ -406,7 +406,7 @@ void QgsMapLayer::setMaximumScale( float mMaxScale = theMaxScale; } -float QgsMapLayer::maximumScale() +float QgsMapLayer::maximumScale() const { return mMaxScale; }