diff --git a/src/imports/effectlib/designer/IdComboBox.qml b/src/imports/effectlib/designer/IdComboBox.qml index 16fda808c843a3a7f2f53549433d1f97937073c3..be341ae425bf6711bc8660c1512e15ee8dc9dd36 100644 --- a/src/imports/effectlib/designer/IdComboBox.qml +++ b/src/imports/effectlib/designer/IdComboBox.qml @@ -46,11 +46,11 @@ HelperWidgets.ComboBox { modelNodeBackendProperty: modelNodeBackend } - property string defaultItem: qsTr("[None]") + property string defaultItem: qsTr("None") property string textValue: comboBox.backendValue.expression property bool block: false property bool dirty: true - property var editRegExp: /^[a-z_]\w*|^\[None\]$/ + property var editRegExp: /^[a-z_]\w*/ onTextValueChanged: { if (comboBox.block) @@ -64,7 +64,8 @@ HelperWidgets.ComboBox { onEditTextChanged: { comboBox.dirty = true - colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null) + colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null + || comboBox.editText === parenthesize(defaultItem)) } onFocusChanged: { if (comboBox.dirty) @@ -91,12 +92,12 @@ HelperWidgets.ComboBox { if (text === "") { comboBox.currentIndex = 0 - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } else { if (comboBox.currentIndex === -1) comboBox.editText = text else if (comboBox.currentIndex === 0) - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } if (comboBox.currentIndex === 0) { @@ -111,7 +112,12 @@ HelperWidgets.ComboBox { function addDefaultItem(arr) { var copy = arr.slice() - copy.unshift(comboBox.defaultItem) + copy.unshift(parenthesize(comboBox.defaultItem)) return copy } + + function parenthesize(value) + { + return "[" + value + "]" + } } diff --git a/src/imports/materiallib/designer/IdComboBox.qml b/src/imports/materiallib/designer/IdComboBox.qml index 16fda808c843a3a7f2f53549433d1f97937073c3..be341ae425bf6711bc8660c1512e15ee8dc9dd36 100644 --- a/src/imports/materiallib/designer/IdComboBox.qml +++ b/src/imports/materiallib/designer/IdComboBox.qml @@ -46,11 +46,11 @@ HelperWidgets.ComboBox { modelNodeBackendProperty: modelNodeBackend } - property string defaultItem: qsTr("[None]") + property string defaultItem: qsTr("None") property string textValue: comboBox.backendValue.expression property bool block: false property bool dirty: true - property var editRegExp: /^[a-z_]\w*|^\[None\]$/ + property var editRegExp: /^[a-z_]\w*/ onTextValueChanged: { if (comboBox.block) @@ -64,7 +64,8 @@ HelperWidgets.ComboBox { onEditTextChanged: { comboBox.dirty = true - colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null) + colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null + || comboBox.editText === parenthesize(defaultItem)) } onFocusChanged: { if (comboBox.dirty) @@ -91,12 +92,12 @@ HelperWidgets.ComboBox { if (text === "") { comboBox.currentIndex = 0 - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } else { if (comboBox.currentIndex === -1) comboBox.editText = text else if (comboBox.currentIndex === 0) - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } if (comboBox.currentIndex === 0) { @@ -111,7 +112,12 @@ HelperWidgets.ComboBox { function addDefaultItem(arr) { var copy = arr.slice() - copy.unshift(comboBox.defaultItem) + copy.unshift(parenthesize(comboBox.defaultItem)) return copy } + + function parenthesize(value) + { + return "[" + value + "]" + } } diff --git a/src/imports/quick3d/designer/IdComboBox.qml b/src/imports/quick3d/designer/IdComboBox.qml index 11d035535dc106b0b0a80ab1878525dbfa960c38..9020bc0fb25a74ac57f46dc452457ddf919a700a 100644 --- a/src/imports/quick3d/designer/IdComboBox.qml +++ b/src/imports/quick3d/designer/IdComboBox.qml @@ -46,11 +46,11 @@ HelperWidgets.ComboBox { modelNodeBackendProperty: modelNodeBackend } - property string defaultItem: qsTr("[None]") + property string defaultItem: qsTr("None") property string textValue: comboBox.backendValue.expression property bool block: false property bool dirty: true - property var editRegExp: /^[a-z_]\w*|^\[None\]$/ + property var editRegExp: /^[a-z_]\w*/ onTextValueChanged: { if (comboBox.block) @@ -64,7 +64,8 @@ HelperWidgets.ComboBox { onEditTextChanged: { comboBox.dirty = true - colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null) + colorLogic.errorState = !(editRegExp.exec(comboBox.editText) !== null + || comboBox.editText === parenthesize(defaultItem)) } onFocusChanged: { if (comboBox.dirty) @@ -91,12 +92,12 @@ HelperWidgets.ComboBox { if (text === "") { comboBox.currentIndex = 0 - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } else { if (comboBox.currentIndex === -1) comboBox.editText = text else if (comboBox.currentIndex === 0) - comboBox.editText = comboBox.defaultItem + comboBox.editText = parenthesize(comboBox.defaultItem) } if (comboBox.currentIndex === 0) { @@ -111,7 +112,12 @@ HelperWidgets.ComboBox { function addDefaultItem(arr) { var copy = arr.slice() - copy.unshift(comboBox.defaultItem) + copy.unshift(parenthesize(comboBox.defaultItem)) return copy } + + function parenthesize(value) + { + return "[" + value + "]" + } }