Skip to content

Commit

Permalink
Save and read provider encoding from project file. Fixes bug #1310
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@10546 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
mhugent committed Apr 12, 2009
1 parent f1ab01a commit eecc31f
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions src/core/qgsvectorlayer.cpp
Expand Up @@ -2116,11 +2116,14 @@ bool QgsVectorLayer::readXml( QDomNode & layer_node )
return false;
}

//read provider encoding
QDomNode encodingNode = layer_node.namedItem( "encoding" );
if ( ! encodingNode.isNull() && mDataProvider )
QDomElement pkeyElem = pkeyNode.toElement();
if(!pkeyElem.isNull())
{
mDataProvider->setEncoding( encodingNode.toElement().text() );
QString encodingString = pkeyElem.attribute("encoding");
if(!encodingString.isEmpty())
{
mDataProvider->setEncoding(encodingString);
}
}

QString errorMsg;
Expand Down Expand Up @@ -2252,10 +2255,14 @@ bool QgsVectorLayer::writeXml( QDomNode & layer_node,
mapLayerNode.setAttribute( "geometry", QGis::qgisVectorGeometryType[geometryType()] );

// add provider node
QDomElement provider = document.createElement( "provider" );
QDomText providerText = document.createTextNode( providerType() );
provider.appendChild( providerText );
layer_node.appendChild( provider );
if(mDataProvider)
{
QDomElement provider = document.createElement( "provider" );
provider.setAttribute("encoding", mDataProvider->encoding());
QDomText providerText = document.createTextNode( providerType() );
provider.appendChild( providerText );
layer_node.appendChild( provider );
}

// renderer specific settings

Expand Down

0 comments on commit eecc31f

Please sign in to comment.