Switch enumkeytovalue to existing functionality

This commit is contained in:
Matthias Kuhn 2019-03-11 11:21:53 +01:00
parent 1d36be8683
commit c8333d5f4d
No known key found for this signature in database
GPG Key ID: 7A7F1A1C90C3E6A7

View File

@ -62,26 +62,6 @@
#include "qgsmessagelog.h"
#include <QMessageBox>
// TODO: Move to qgis.h?
/**
* Converts a string representation \a key of an enum into the value.
* If it cannot be converted, the \a defaultValue will be returned.
*
*/
template <class T>
T enumValueToKey( const QString &key, T defaultValue )
{
const QMetaEnum metaEnum( QMetaEnum::fromType<T>() );
bool ok;
T result = static_cast<QgsWkbTypes::GeometryType>( metaEnum.keyToValue( key.toUtf8().constData(), &ok ) );
if ( !ok )
result = defaultValue;
return result;
}
using namespace pal;
// -------------
@ -893,7 +873,7 @@ void QgsPalLayerSettings::readXml( QDomElement &elem, const QgsReadWriteContext
geometryGenerator = placementElem.attribute( QStringLiteral( "geometryGenerator" ) );
geometryGeneratorEnabled = placementElem.attribute( QStringLiteral( "geometryGeneratorEnabled" ) ).toInt();
geometryGeneratorType = enumValueToKey( placementElem.attribute( QStringLiteral( "geometryGeneratorType" ) ), QgsWkbTypes::PointGeometry );
geometryGeneratorType = qgsEnumKeyToValue( placementElem.attribute( QStringLiteral( "geometryGeneratorType" ) ), QgsWkbTypes::PointGeometry );
// rendering
QDomElement renderingElem = elem.firstChildElement( QStringLiteral( "rendering" ) );