Use qmetaobject_p.h's MetaObjectFlag in QMetaObjectBuilder

This saves duplicating them with its own flags.

Task-number: QTBUG-85700
Change-Id: I9e938322fd787282cfd9f941f83af8c0d76aaa9d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Edward Welbourne 2020-09-24 17:01:11 +02:00
parent 0ce1865ffa
commit 5e43997a70
5 changed files with 10 additions and 16 deletions

View File

@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
** Contact: https://www.qt.io/licensing/
**
@ -102,11 +102,13 @@ enum MethodFlags {
MethodRevisioned = 0x80
};
enum MetaObjectFlags { // keep it in sync with QMetaObjectBuilder::MetaObjectFlag enum
enum MetaObjectFlag {
DynamicMetaObject = 0x01,
RequiresVariantMetaObject = 0x02,
PropertyAccessInStaticMetaCall = 0x04 // since Qt 5.5, property code is in the static metacall
};
Q_DECLARE_FLAGS(MetaObjectFlags, MetaObjectFlag)
Q_DECLARE_OPERATORS_FOR_FLAGS(MetaObjectFlags)
enum MetaDataFlags {
IsUnresolvedType = 0x80000000,

View File

@ -321,9 +321,9 @@ void QMetaObjectBuilder::setSuperClass(const QMetaObject *meta)
\sa setFlags()
*/
QMetaObjectBuilder::MetaObjectFlags QMetaObjectBuilder::flags() const
MetaObjectFlags QMetaObjectBuilder::flags() const
{
return (QMetaObjectBuilder::MetaObjectFlags)d->flags;
return MetaObjectFlags(d->flags);
}
/*!

View File

@ -58,6 +58,7 @@
#include <QtCore/qhash.h>
#include <QtCore/qmap.h>
#include <private/qmetaobject_p.h>
QT_BEGIN_NAMESPACE
@ -93,14 +94,6 @@ public:
};
Q_DECLARE_FLAGS(AddMembers, AddMember)
// ### TODO Qt6: remove me and use the MetaObjectFlags enum from qmetaobject_p.h
enum MetaObjectFlag { // keep it in sync with enum MetaObjectFlags from qmetaobject_p.h
DynamicMetaObject = 0x01,
RequiresVariantMetaObject = 0x02,
PropertyAccessInStaticMetaCall = 0x04 // since Qt 5.5, property code is in the static metacall
};
Q_DECLARE_FLAGS(MetaObjectFlags, MetaObjectFlag)
QMetaObjectBuilder();
explicit QMetaObjectBuilder(const QMetaObject *prototype, QMetaObjectBuilder::AddMembers members = AllMembers);
virtual ~QMetaObjectBuilder();
@ -350,7 +343,6 @@ private:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QMetaObjectBuilder::AddMembers)
Q_DECLARE_OPERATORS_FOR_FLAGS(QMetaObjectBuilder::MetaObjectFlags)
QT_END_NAMESPACE

View File

@ -193,8 +193,8 @@ void tst_QMetaObjectBuilder::flags()
QCOMPARE(builder.flags(), 0);
// Set flags
builder.setFlags(QMetaObjectBuilder::DynamicMetaObject);
QCOMPARE(builder.flags(), QMetaObjectBuilder::DynamicMetaObject);
builder.setFlags(DynamicMetaObject);
QCOMPARE(builder.flags(), DynamicMetaObject);
}
void tst_QMetaObjectBuilder::method()

View File

@ -399,7 +399,7 @@ void tst_QMetaType::registerGadget(const char *name, const QList<GadgetPropertyT
{
QMetaObjectBuilder gadgetBuilder;
gadgetBuilder.setClassName(name);
QMetaObjectBuilder::MetaObjectFlags metaObjectflags = QMetaObjectBuilder::DynamicMetaObject | QMetaObjectBuilder::PropertyAccessInStaticMetaCall;
MetaObjectFlags metaObjectflags = DynamicMetaObject | PropertyAccessInStaticMetaCall;
gadgetBuilder.setFlags(metaObjectflags);
auto dynamicGadgetProperties = std::make_shared<GenericGadgetType>();
for (const auto &prop : gadgetProperties) {