forked from qt-creator/qt-creator
QmlDesigner: Show proper error dialog if adding duplicate property
Task-number: QDS-7702 Change-Id: I43f07afa95cef75e53bbc0259f6dd21b7c1a5363 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
#include <qmldesignerconstants.h>
|
#include <qmldesignerconstants.h>
|
||||||
#include <qmldesignerplugin.h>
|
#include <qmldesignerplugin.h>
|
||||||
|
|
||||||
|
#include <coreplugin/messagebox.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QScopeGuard>
|
#include <QScopeGuard>
|
||||||
@@ -150,6 +151,12 @@ void DynamicPropertiesProxyModel::createProperty(const QString &name, const QStr
|
|||||||
if (selectedNodes.count() == 1) {
|
if (selectedNodes.count() == 1) {
|
||||||
const ModelNode modelNode = selectedNodes.constFirst();
|
const ModelNode modelNode = selectedNodes.constFirst();
|
||||||
if (modelNode.isValid()) {
|
if (modelNode.isValid()) {
|
||||||
|
if (modelNode.hasProperty(name.toUtf8())) {
|
||||||
|
Core::AsynchronousMessageBox::warning(tr("Property already exists"),
|
||||||
|
tr("Property '%1' already exists")
|
||||||
|
.arg(name));
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
if (Internal::DynamicPropertiesModel::isValueType(typeName)) {
|
if (Internal::DynamicPropertiesModel::isValueType(typeName)) {
|
||||||
QVariant value = Internal::DynamicPropertiesModel::defaultValueForType(typeName);
|
QVariant value = Internal::DynamicPropertiesModel::defaultValueForType(typeName);
|
||||||
|
Reference in New Issue
Block a user