Core: Make Id and Feature more separate

Remove Id from the public interfaces of Feature and FeatureSet and
disallow implicit conversions from Id to Feature.

Change-Id: I33ba692ce82552f0c2b867c6c57b9c8547264243
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-06-24 12:32:28 +02:00
parent 60a8442d8c
commit 0511721313
11 changed files with 27 additions and 31 deletions

View File

@@ -167,7 +167,7 @@ QVector<JsonKitsPage::ConditionalFeature> JsonKitsPage::parseFeatures(const QVar
foreach (const QVariant &element, data.toList()) {
if (element.type() == QVariant::String) {
result.append({ Id::fromString(element.toString()), QVariant(true) });
result.append({ Feature::fromString(element.toString()), QVariant(true) });
} else if (element.type() == QVariant::Map) {
const QVariantMap obj = element.toMap();
const QString feature = obj.value(QLatin1String(KEY_FEATURE)).toString();
@@ -177,7 +177,7 @@ QVector<JsonKitsPage::ConditionalFeature> JsonKitsPage::parseFeatures(const QVar
return QVector<ConditionalFeature>();
}
result.append({ Id::fromString(feature), obj.value(QLatin1String(KEY_CONDITION), true) });
result.append({ Feature::fromString(feature), obj.value(QLatin1String(KEY_CONDITION), true) });
} else {
if (errorMessage)
*errorMessage = tr("Feature list element is not a string or object.");