Do not allow changing checked state if an item is read only

This commit is contained in:
Magne Sjaastad committed 2015-11-02 09:50:43 +01:00
1 parent d9523dbd74
commit 572601c3db
1 file changed
+9 -7
@@ -689,7 +689,9 @@ bool PdmUiTreeViewModel::setData(const QModelIndex &index, const QVariant &value
return true;
}
else if (role == Qt::CheckStateRole && uiObject->objectToggleField())
else if ( role == Qt::CheckStateRole &&
uiObject->objectToggleField() &&
!uiObject->objectToggleField()->uiCapability()->isUiReadOnly(m_uiConfigName))
{
bool toggleOn = (value == Qt::Checked);
@@ -728,16 +730,16 @@ Qt::ItemFlags PdmUiTreeViewModel::flags(const QModelIndex &index) const
if (pdmUiObject)
{
if (pdmUiObject->userDescriptionField() && !pdmUiObject->userDescriptionField()->uiCapability()->isUiReadOnly())
{
flagMask = flagMask | Qt::ItemIsEditable;
}
{
flagMask = flagMask | Qt::ItemIsEditable;
}
if (pdmUiObject->objectToggleField())
{
flagMask = flagMask | Qt::ItemIsUserCheckable;
{
flagMask = flagMask | Qt::ItemIsUserCheckable;
}
}
}
}
if (treeItem->isValid())
{