summaryrefslogtreecommitdiff
path: root/platform/qt/src/qt_geojson.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/qt/src/qt_geojson.hpp')
-rw-r--r--platform/qt/src/qt_geojson.hpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/platform/qt/src/qt_geojson.hpp b/platform/qt/src/qt_geojson.hpp
index 7d12660aec..a6958b7edc 100644
--- a/platform/qt/src/qt_geojson.hpp
+++ b/platform/qt/src/qt_geojson.hpp
@@ -178,25 +178,20 @@ namespace style {
namespace conversion {
template <>
-optional<GeoJSON> convertGeoJSON(const QMapbox::Feature& feature, Error&) {
- return GeoJSON { asMapboxGLFeature(feature) };
-}
-
-template <>
-optional<GeoJSON> convertGeoJSON(const QVariant& value, Error& error) {
+optional<GeoJSON> Converter<GeoJSON>::operator()(const QVariant& value, Error& error) const {
#if QT_VERSION >= 0x050000
if (value.typeName() == QStringLiteral("QMapbox::Feature")) {
#else
if (value.typeName() == QString("QMapbox::Feature")) {
#endif
- return convertGeoJSON(value.value<QMapbox::Feature>(), error);
+ return GeoJSON { asMapboxGLFeature(value.value<QMapbox::Feature>()) };
} else if (value.type() != QVariant::ByteArray) {
error = { "JSON data must be in QByteArray" };
return {};
}
QByteArray data = value.toByteArray();
- return convertGeoJSON(std::string(data.constData(), data.size()), error);
+ return convert<GeoJSON>(std::string(data.constData(), data.size()), error);
}
} // namespace conversion