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)
|
||||
{
|
||||
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)
|
||||
|
@@ -448,6 +448,9 @@ public:
|
||||
|
||||
struct Data : BaseAspect::Data { qint64 value = 0; };
|
||||
|
||||
signals:
|
||||
void valueChanged(int newValue);
|
||||
|
||||
private:
|
||||
std::unique_ptr<Internal::IntegerAspectPrivate> d;
|
||||
};
|
||||
|
Reference in New Issue
Block a user