void MapToVariantConverter::addProperties(QVariantMap &variantMap, const Properties &properties) const { if (properties.isEmpty()) return; QVariantMap propertiesMap; QVariantMap propertyTypesMap; Properties::const_iterator it = properties.constBegin(); Properties::const_iterator it_end = properties.constEnd(); for (; it != it_end; ++it) { int type = it.value().userType(); QVariant value = toExportValue(it.value()); if (type == filePathTypeId()) value = mMapDir.relativeFilePath(value.toString()); propertiesMap[it.key()] = value; propertyTypesMap[it.key()] = typeToName(type); } variantMap[QLatin1String("properties")] = propertiesMap; variantMap[QLatin1String("propertytypes")] = propertyTypesMap; }
QVariant MapToVariantConverter::toVariant(const Properties &properties) const { QVariantMap variantMap; Properties::const_iterator it = properties.constBegin(); Properties::const_iterator it_end = properties.constEnd(); for (; it != it_end; ++it) { QVariant value = toExportValue(it.value()); if (it.value().userType() == filePathTypeId()) value = mMapDir.relativeFilePath(value.toString()); variantMap[it.key()] = value; } return variantMap; }
QVariant MapToVariantConverter::propertyTypesToVariant(const Properties &properties) const { QVariantMap variantMap; Properties::const_iterator it = properties.constBegin(); Properties::const_iterator it_end = properties.constEnd(); for (; it != it_end; ++it) variantMap[it.key()] = typeToName(it.value().userType()); return variantMap; }
void MapToVariantConverter::addProperties(QVariantMap &variantMap, const Properties &properties) const { if (properties.isEmpty()) return; QVariantList propertiesVariantList; Properties::const_iterator it = properties.constBegin(); Properties::const_iterator it_end = properties.constEnd(); for (; it != it_end; ++it) { int type = it.value().userType(); const QVariant value = toExportValue(it.value(), mMapDir); QVariantMap propertyVariantMap; propertyVariantMap[QLatin1String("name")] = it.key(); propertyVariantMap[QLatin1String("value")] = value; propertyVariantMap[QLatin1String("type")] = typeToName(type); propertiesVariantList << propertyVariantMap; } variantMap[QLatin1String("properties")] = propertiesVariantList; }