forked from qt-creator/qt-creator
QmlDesigner: Delete material properly via material browser
Deleting is now made the same way as deleting a selected node, so dangling references to the deleted material are removed. Fixes: QDS-7716 Change-Id: I552c328eb928bfc20e3e33caa0e817f6d22162cc Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -288,8 +288,7 @@ void MaterialBrowserModel::removeMaterial(const ModelNode &material)
|
|||||||
|
|
||||||
void MaterialBrowserModel::deleteSelectedMaterial()
|
void MaterialBrowserModel::deleteSelectedMaterial()
|
||||||
{
|
{
|
||||||
if (isValidIndex(m_selectedIndex))
|
deleteMaterial(m_selectedIndex);
|
||||||
m_materialList[m_selectedIndex].destroy();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MaterialBrowserModel::updateSelectedMaterial()
|
void MaterialBrowserModel::updateSelectedMaterial()
|
||||||
@@ -387,7 +386,11 @@ void MaterialBrowserModel::pasteMaterialProperties(int idx)
|
|||||||
|
|
||||||
void MaterialBrowserModel::deleteMaterial(int idx)
|
void MaterialBrowserModel::deleteMaterial(int idx)
|
||||||
{
|
{
|
||||||
m_materialList[idx].destroy();
|
if (isValidIndex(idx)) {
|
||||||
|
ModelNode node = m_materialList[idx];
|
||||||
|
if (node.isValid())
|
||||||
|
QmlObjectNode(node).destroy();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MaterialBrowserModel::renameMaterial(int idx, const QString &newName)
|
void MaterialBrowserModel::renameMaterial(int idx, const QString &newName)
|
||||||
|
Reference in New Issue
Block a user