forked from qt-creator/qt-creator
QmlDesigner: VariantProperty::value() return const &
- Use const reference to prevent rvalue errors - Add -> operator to use "->" instead of ".value()." Change-Id: I3ddf6afa8cd8448829f885a821ae01b86aba3c8f Reviewed-by: Ali Kianian <ali.kianian@qt.io>
This commit is contained in:
@@ -20,7 +20,7 @@ using EnumerationNameView = QByteArrayView;
|
|||||||
class Enumeration
|
class Enumeration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Enumeration() = default;
|
constexpr Enumeration() = default;
|
||||||
Enumeration(EnumerationName enumerationName)
|
Enumeration(EnumerationName enumerationName)
|
||||||
: m_enumerationName{std::move(enumerationName)}
|
: m_enumerationName{std::move(enumerationName)}
|
||||||
{}
|
{}
|
||||||
|
@@ -26,10 +26,14 @@ class QMLDESIGNERCORE_EXPORT VariantProperty final : public AbstractProperty
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void setValue(const QVariant &value);
|
void setValue(const QVariant &value);
|
||||||
QVariant value() const;
|
const QVariant &value() const;
|
||||||
|
|
||||||
|
const QVariant &operator->() const { return value(); }
|
||||||
|
|
||||||
|
const QVariant &operator*() const { return value(); }
|
||||||
|
|
||||||
void setEnumeration(const EnumerationName &enumerationName);
|
void setEnumeration(const EnumerationName &enumerationName);
|
||||||
Enumeration enumeration() const;
|
const Enumeration &enumeration() const;
|
||||||
bool holdsEnumeration() const;
|
bool holdsEnumeration() const;
|
||||||
|
|
||||||
void setDynamicTypeNameAndValue(const TypeName &type, const QVariant &value);
|
void setDynamicTypeNameAndValue(const TypeName &type, const QVariant &value);
|
||||||
|
@@ -11,7 +11,7 @@ InternalVariantProperty::InternalVariantProperty(PropertyNameView name, const In
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant InternalVariantProperty::value() const
|
const QVariant &InternalVariantProperty::value() const
|
||||||
{
|
{
|
||||||
return m_value;
|
return m_value;
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,7 @@ public:
|
|||||||
|
|
||||||
bool isValid() const override;
|
bool isValid() const override;
|
||||||
|
|
||||||
QVariant value() const;
|
const QVariant &value() const;
|
||||||
void setValue(const QVariant &value);
|
void setValue(const QVariant &value);
|
||||||
|
|
||||||
void setDynamicValue(const TypeName &type, const QVariant &value);
|
void setDynamicValue(const TypeName &type, const QVariant &value);
|
||||||
|
@@ -47,7 +47,7 @@ void VariantProperty::setValue(const QVariant &value)
|
|||||||
privateModel()->setVariantProperty(internalNodeSharedPointer(), name(), value);
|
privateModel()->setVariantProperty(internalNodeSharedPointer(), name(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant VariantProperty::value() const
|
const QVariant &VariantProperty::value() const
|
||||||
{
|
{
|
||||||
if (isValid()) {
|
if (isValid()) {
|
||||||
auto property = internalNode()->variantProperty(name());
|
auto property = internalNode()->variantProperty(name());
|
||||||
@@ -55,7 +55,9 @@ QVariant VariantProperty::value() const
|
|||||||
return property->value();
|
return property->value();
|
||||||
}
|
}
|
||||||
|
|
||||||
return QVariant();
|
static const QVariant nullVariant;
|
||||||
|
|
||||||
|
return nullVariant;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VariantProperty::setEnumeration(const EnumerationName &enumerationName)
|
void VariantProperty::setEnumeration(const EnumerationName &enumerationName)
|
||||||
@@ -63,9 +65,14 @@ void VariantProperty::setEnumeration(const EnumerationName &enumerationName)
|
|||||||
setValue(QVariant::fromValue(Enumeration(enumerationName)));
|
setValue(QVariant::fromValue(Enumeration(enumerationName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Enumeration VariantProperty::enumeration() const
|
const Enumeration &VariantProperty::enumeration() const
|
||||||
{
|
{
|
||||||
return value().value<Enumeration>();
|
if (auto enumeration = get_if<Enumeration>(&value()))
|
||||||
|
return *enumeration;
|
||||||
|
|
||||||
|
static constinit const Enumeration nullEnumeration;
|
||||||
|
|
||||||
|
return nullEnumeration;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VariantProperty::holdsEnumeration() const
|
bool VariantProperty::holdsEnumeration() const
|
||||||
|
Reference in New Issue
Block a user