From 64b1af3fa0e35f673db50273564ac9eab4e5e09c Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 3 May 2019 15:13:01 +0200 Subject: [PATCH] Warn that the EDITABLE flag for property declarations is deprecated Additionally mark QMetaProperty::isEditable as deprecated. Change-Id: I1abe4c6f2d30c2f96380f9e5942be431dbfed38f Reviewed-by: Lars Knoll --- src/corelib/kernel/qmetaobject.cpp | 2 ++ src/corelib/kernel/qmetaobject.h | 4 +++- src/tools/moc/moc.cpp | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 1661520b783..62e626b187e 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -3599,6 +3599,7 @@ bool QMetaProperty::isRequired() const \sa isDesignable(), isScriptable(), isStored() */ +#if QT_DEPRECATED_SINCE(5, 15) bool QMetaProperty::isEditable(const QObject *object) const { if (!mobj) @@ -3612,6 +3613,7 @@ bool QMetaProperty::isEditable(const QObject *object) const } return b; } +#endif /*! \class QMetaClassInfo diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index beb85becaed..e4018740b8c 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -262,7 +262,9 @@ public: bool isDesignable(const QObject *obj = nullptr) const; bool isScriptable(const QObject *obj = nullptr) const; bool isStored(const QObject *obj = nullptr) const; - bool isEditable(const QObject *obj = nullptr) const; +#if QT_DEPRECATED_SINCE(5, 15) + QT_DEPRECATED bool isEditable(const QObject *obj = nullptr) const; +#endif bool isUser(const QObject *obj = nullptr) const; bool isConstant() const; bool isFinal() const; diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index c175d1d86db..9dbc22dc2cb 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -1296,9 +1296,12 @@ void Moc::createPropertyDef(PropertyDef &propDef) propDef.designable = v + v2; checkIsFunction(propDef.designable, "DESIGNABLE"); break; - case 'E': if (l != "EDITABLE") error(2); + case 'E': if (l != "EDITABLE") error(2); { + const QByteArray msg = "EDITABLE flag for property declaration is deprecated."; + warning(msg.constData()); propDef.editable = v + v2; checkIsFunction(propDef.editable, "EDITABLE"); + } break; case 'N': if (l != "NOTIFY") error(2); propDef.notify = v;