Cleanup QPropertyBindingError
Remove location(). The method would always return an empty value. If you need the location, the binding itself has it. Remove setDescription() and require that the description gets passed in the constructor. Never create a d pointer if type is NoError, so we can quickly check for it inline. Change-Id: I7eb8a94786281069d6ea2d82567c09aa50c52ef6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
parent
4e400369c0
commit
0d1208f0f0
@ -384,11 +384,16 @@ void QPropertyObserverPointer::observeProperty(QPropertyBasePointer property)
|
||||
property.addObserver(ptr);
|
||||
}
|
||||
|
||||
QPropertyBindingError::QPropertyBindingError(Type type)
|
||||
QPropertyBindingError::QPropertyBindingError()
|
||||
{
|
||||
}
|
||||
|
||||
QPropertyBindingError::QPropertyBindingError(Type type, const QString &description)
|
||||
{
|
||||
if (type != NoError) {
|
||||
d = new QPropertyBindingErrorPrivate;
|
||||
d->type = type;
|
||||
d->description = description;
|
||||
}
|
||||
}
|
||||
|
||||
@ -425,13 +430,6 @@ QPropertyBindingError::Type QPropertyBindingError::type() const
|
||||
return d->type;
|
||||
}
|
||||
|
||||
void QPropertyBindingError::setDescription(const QString &description)
|
||||
{
|
||||
if (!d)
|
||||
d = new QPropertyBindingErrorPrivate;
|
||||
d->description = description;
|
||||
}
|
||||
|
||||
QString QPropertyBindingError::description() const
|
||||
{
|
||||
if (!d)
|
||||
@ -439,13 +437,6 @@ QString QPropertyBindingError::description() const
|
||||
return d->description;
|
||||
}
|
||||
|
||||
QPropertyBindingSourceLocation QPropertyBindingError::location() const
|
||||
{
|
||||
if (!d)
|
||||
return QPropertyBindingSourceLocation();
|
||||
return d->location;
|
||||
}
|
||||
|
||||
/*!
|
||||
\class QProperty
|
||||
\inmodule QtCore
|
||||
|
@ -99,17 +99,18 @@ public:
|
||||
UnknownError
|
||||
};
|
||||
|
||||
QPropertyBindingError(Type type = NoError);
|
||||
QPropertyBindingError();
|
||||
QPropertyBindingError(Type type, const QString &description = QString());
|
||||
|
||||
QPropertyBindingError(const QPropertyBindingError &other);
|
||||
QPropertyBindingError &operator=(const QPropertyBindingError &other);
|
||||
QPropertyBindingError(QPropertyBindingError &&other);
|
||||
QPropertyBindingError &operator=(QPropertyBindingError &&other);
|
||||
~QPropertyBindingError();
|
||||
|
||||
bool hasError() const { return d.get() != nullptr; }
|
||||
Type type() const;
|
||||
void setDescription(const QString &description);
|
||||
QString description() const;
|
||||
QPropertyBindingSourceLocation location() const;
|
||||
|
||||
private:
|
||||
QSharedDataPointer<QPropertyBindingErrorPrivate> d;
|
||||
|
@ -103,7 +103,6 @@ class QPropertyBindingErrorPrivate : public QSharedData
|
||||
public:
|
||||
QPropertyBindingError::Type type = QPropertyBindingError::NoError;
|
||||
QString description;
|
||||
QPropertyBindingSourceLocation location;
|
||||
};
|
||||
|
||||
struct BindingEvaluationState
|
||||
|
@ -506,8 +506,7 @@ void tst_QProperty::bindingSourceLocation()
|
||||
void tst_QProperty::bindingError()
|
||||
{
|
||||
QProperty<int> prop = Qt::makePropertyBinding([]() -> std::variant<int, QPropertyBindingError> {
|
||||
QPropertyBindingError error(QPropertyBindingError::UnknownError);
|
||||
error.setDescription(QLatin1String("my error"));
|
||||
QPropertyBindingError error(QPropertyBindingError::UnknownError, QLatin1String("my error"));
|
||||
return error;
|
||||
});
|
||||
QCOMPARE(prop.value(), 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user