diff --git a/src/plugins/qmldesigner/designercore/include/model.h b/src/plugins/qmldesigner/designercore/include/model.h index 5529064284e..bb45456def8 100644 --- a/src/plugins/qmldesigner/designercore/include/model.h +++ b/src/plugins/qmldesigner/designercore/include/model.h @@ -255,8 +255,7 @@ public: bool hasId(const QString &id) const; bool hasImport(const QString &importUrl) const; - QString generateNewId(const QString &prefixName, const QString &fallbackPrefix = "element", - std::optional> isDuplicate = {}) const; + QString generateNewId(const QString &prefixName, const QString &fallbackPrefix = "element") const; void startDrag(QMimeData *mimeData, const QPixmap &icon); void endDrag(); diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 1100da62d6e..75b9dfd1bb2 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -1863,21 +1863,17 @@ bool Model::hasImport(const QString &importUrl) const }); } -QString Model::generateNewId(const QString &prefixName, const QString &fallbackPrefix, - std::optional> isDuplicate) const +QString Model::generateNewId(const QString &prefixName, const QString &fallbackPrefix) const { QString newId = prefixName; if (newId.isEmpty()) newId = fallbackPrefix; - if (!isDuplicate.has_value()) // TODO: to be removed separately to not break build - isDuplicate = std::bind(&Model::hasId, this, std::placeholders::_1); - return UniqueName::generateId(prefixName, [&] (const QString &id) { // Properties of the root node are not allowed for ids, because they are available in the // complete context without qualification. - return isDuplicate.value()(id) || d->rootNode()->property(id.toUtf8()); + return hasId(id) || d->rootNode()->property(id.toUtf8()); }); }