forked from qt-creator/qt-creator
Utils: Allow programmatically change of IntegerAspect
Using setValue() on an IntegerAspect only had a visual effect if it happened before adding it to a layout. If the aspect had been added already the value silently got changed (internally) but this was never reflected on the respective SpinBox. Change-Id: I60297d9d38835842b3b02a36787c0a2001477427 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -1825,7 +1825,15 @@ qint64 IntegerAspect::value() const
|
|||||||
|
|
||||||
void IntegerAspect::setValue(qint64 value)
|
void IntegerAspect::setValue(qint64 value)
|
||||||
{
|
{
|
||||||
BaseAspect::setValue(value);
|
if (BaseAspect::setValueQuietly(value)) {
|
||||||
|
if (d->m_spinBox)
|
||||||
|
d->m_spinBox->setValue(value);
|
||||||
|
//qDebug() << "SetValue: Changing" << labelText() << " to " << value;
|
||||||
|
emit changed();
|
||||||
|
//QTC_CHECK(!labelText().isEmpty());
|
||||||
|
emit valueChanged(value);
|
||||||
|
//qDebug() << "SetValue: Changed" << labelText() << " to " << value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntegerAspect::setRange(qint64 min, qint64 max)
|
void IntegerAspect::setRange(qint64 min, qint64 max)
|
||||||
|
@@ -448,6 +448,9 @@ public:
|
|||||||
|
|
||||||
struct Data : BaseAspect::Data { qint64 value = 0; };
|
struct Data : BaseAspect::Data { qint64 value = 0; };
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void valueChanged(int newValue);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<Internal::IntegerAspectPrivate> d;
|
std::unique_ptr<Internal::IntegerAspectPrivate> d;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user