void PropertyEditorValue::setValue(const QVariant &value) { if (!compareVariants(m_value, value) && !cleverDoubleCompare(value, m_value) && !cleverColorCompare(value, m_value)) m_value = value; fixAmbigousColorNames(modelNode(), name(), &m_value); fixUrl(modelNode(), name(), &m_value); if (m_value.isValid()) emit valueChangedQml(); emit isBoundChanged(); }
void PropertyEditorValue::setValueWithEmit(const QVariant &value) { if (m_value != value || isBound()) { QVariant newValue = value; if (modelNode().isValid() && modelNode().metaInfo().isValid() && modelNode().metaInfo().hasProperty(name())) if (modelNode().metaInfo().propertyTypeName(name()) == "QUrl") newValue = QUrl(newValue.toString()); if (cleverDoubleCompare(newValue, m_value)) return; if (cleverColorCompare(newValue, m_value)) return; setValue(newValue); m_isBound = false; emit valueChanged(name(), value); emit valueChangedQml(); emit isBoundChanged(); } }