aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltyperegistrar
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-05-12 13:58:33 +0200
committerUlf Hermann <ulf.hermann@qt.io>2021-05-12 23:44:39 +0200
commit7690240e00b185327b9a6f660366a698f99b78db (patch)
tree14b53e2f6e1a4ba8e1a5e5f35c2008057b857661 /src/qmltyperegistrar
parentd760cc22b38e7b96da5ac3507f6ee2eba71f8375 (diff)
qmltyperegistrar: Refactor generation of readonly attribute
It only makes sense for properties. There is no need to pass false to all the writeType() calls. Change-Id: Ib49a033d0bddbbeb4391ce27197134d8f024654f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmltyperegistrar')
-rw-r--r--src/qmltyperegistrar/qmltypescreator.cpp15
-rw-r--r--src/qmltyperegistrar/qmltypescreator.h3
2 files changed, 8 insertions, 10 deletions
diff --git a/src/qmltyperegistrar/qmltypescreator.cpp b/src/qmltyperegistrar/qmltypescreator.cpp
index ce67db1a2e..302689dfb7 100644
--- a/src/qmltyperegistrar/qmltypescreator.cpp
+++ b/src/qmltyperegistrar/qmltypescreator.cpp
@@ -112,8 +112,7 @@ void QmlTypesCreator::writeClassProperties(const QmlTypesClassDescription &colle
m_qml.writeScriptBinding(QLatin1String("attachedType"), enquote(collector.attachedType));
}
-void QmlTypesCreator::writeType(const QJsonObject &property, const QString &key, bool isReadonly,
- bool parsePointer)
+void QmlTypesCreator::writeType(const QJsonObject &property, const QString &key, bool parsePointer)
{
auto it = property.find(key);
if (it == property.end())
@@ -161,8 +160,6 @@ void QmlTypesCreator::writeType(const QJsonObject &property, const QString &key,
const QLatin1String trueString("true");
if (isList)
m_qml.writeScriptBinding(QLatin1String("isList"), trueString);
- if (isReadonly)
- m_qml.writeScriptBinding(QLatin1String("isReadonly"), trueString);
if (isPointer)
m_qml.writeScriptBinding(QLatin1String("isPointer"), trueString);
}
@@ -178,8 +175,7 @@ void QmlTypesCreator::writeProperties(const QJsonArray &properties)
if (it != obj.end())
m_qml.writeScriptBinding(QLatin1String("revision"), QString::number(it.value().toInt()));
- writeType(obj, QLatin1String("type"), !obj.contains(QLatin1String("write"))
- && !obj.contains(QLatin1String("member")), true);
+ writeType(obj, QLatin1String("type"), true);
if (!obj.contains(QStringLiteral("privateClass"))) {
const auto bindable = obj.constFind(QLatin1String("bindable"));
@@ -193,6 +189,9 @@ void QmlTypesCreator::writeProperties(const QJsonArray &properties)
m_qml.writeScriptBinding(QLatin1String("write"), enquote(write->toString()));
}
+ if (!obj.contains(QLatin1String("write")) && !obj.contains(QLatin1String("member")))
+ m_qml.writeScriptBinding(QLatin1String("isReadonly"), QLatin1String("true"));
+
const auto required = obj.constFind(QLatin1String("required"));
if (required != obj.constEnd() && required->toBool())
m_qml.writeScriptBinding(QLatin1String("isRequired"), QLatin1String("true"));
@@ -216,7 +215,7 @@ void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &typ
m_qml.writeScriptBinding(QLatin1String("name"), enquote(name));
if (revision != obj.end())
m_qml.writeScriptBinding(QLatin1String("revision"), QString::number(revision.value().toInt()));
- writeType(obj, QLatin1String("returnType"), false, false);
+ writeType(obj, QLatin1String("returnType"), false);
const auto isConstructor = obj.find(QLatin1String("isConstructor"));
if (isConstructor != obj.constEnd() && isConstructor->toBool())
m_qml.writeScriptBinding(QLatin1String("isConstructor"), QLatin1String("true"));
@@ -226,7 +225,7 @@ void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &typ
const QString name = obj[QLatin1String("name")].toString();
if (!name.isEmpty())
m_qml.writeScriptBinding(QLatin1String("name"), enquote(name));
- writeType(obj, QLatin1String("type"), false, true);
+ writeType(obj, QLatin1String("type"), true);
m_qml.writeEndObject();
}
m_qml.writeEndObject();
diff --git a/src/qmltyperegistrar/qmltypescreator.h b/src/qmltyperegistrar/qmltypescreator.h
index 045707af0a..0908a1e047 100644
--- a/src/qmltyperegistrar/qmltypescreator.h
+++ b/src/qmltyperegistrar/qmltypescreator.h
@@ -50,8 +50,7 @@ public:
private:
void writeClassProperties(const QmlTypesClassDescription &collector);
- void writeType(const QJsonObject &property, const QString &key, bool isReadonly,
- bool parsePointer);
+ void writeType(const QJsonObject &property, const QString &key, bool parsePointer);
void writeProperties(const QJsonArray &properties);
void writeMethods(const QJsonArray &methods, const QString &type);
void writeEnums(const QJsonArray &enums);