mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Move setMaterialName to MaterialManagementModel
No longer use the material manager which is deprecated. Contributes to issue CURA-6600.
This commit is contained in:
parent
5b8ed91b04
commit
99ccddefa4
2 changed files with 17 additions and 2 deletions
|
@ -4,6 +4,8 @@
|
||||||
from PyQt5.QtCore import QObject, pyqtSlot # To allow the preference page proxy to be used from the actual preferences page.
|
from PyQt5.QtCore import QObject, pyqtSlot # To allow the preference page proxy to be used from the actual preferences page.
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
from UM.Logger import Logger
|
||||||
|
|
||||||
from cura.Settings.CuraContainerRegistry import CuraContainerRegistry # To find the sets of materials belonging to each other, and currently loaded extruder stacks.
|
from cura.Settings.CuraContainerRegistry import CuraContainerRegistry # To find the sets of materials belonging to each other, and currently loaded extruder stacks.
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
@ -22,6 +24,7 @@ class MaterialManagementModel(QObject):
|
||||||
# future we might enable this functionality again (deleting the material
|
# future we might enable this functionality again (deleting the material
|
||||||
# from those stacks) but for now it is easier to prevent the user from
|
# from those stacks) but for now it is easier to prevent the user from
|
||||||
# doing this.
|
# doing this.
|
||||||
|
# \param material_node The ContainerTree node of the material to check.
|
||||||
# \return Whether or not the material can be removed.
|
# \return Whether or not the material can be removed.
|
||||||
@pyqtSlot("QVariant", result = bool)
|
@pyqtSlot("QVariant", result = bool)
|
||||||
def canMaterialBeRemoved(self, material_node: "MaterialNode"):
|
def canMaterialBeRemoved(self, material_node: "MaterialNode"):
|
||||||
|
@ -30,4 +33,16 @@ class MaterialManagementModel(QObject):
|
||||||
for extruder_stack in container_registry.findContainerStacks(type = "extruder_train"):
|
for extruder_stack in container_registry.findContainerStacks(type = "extruder_train"):
|
||||||
if extruder_stack.material.getId() in ids_to_remove:
|
if extruder_stack.material.getId() in ids_to_remove:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
## Change the user-visible name of a material.
|
||||||
|
# \param material_node The ContainerTree node of the material to rename.
|
||||||
|
# \param name The new name for the material.
|
||||||
|
@pyqtSlot("QVariant", str)
|
||||||
|
def setMaterialName(self, material_node: "MaterialNode", name: str) -> None:
|
||||||
|
container_registry = CuraContainerRegistry.getInstance()
|
||||||
|
root_material_id = material_node.base_file
|
||||||
|
if container_registry.isReadOnly(root_material_id):
|
||||||
|
Logger.log("w", "Cannot set name of read-only container %s.", root_material_id)
|
||||||
|
return
|
||||||
|
return container_registry.findContainers(id = root_material_id)[0].setName(name)
|
|
@ -565,7 +565,7 @@ TabView
|
||||||
}
|
}
|
||||||
|
|
||||||
// update the values
|
// update the values
|
||||||
CuraApplication.getMaterialManager().setMaterialName(base.currentMaterialNode, new_name)
|
base.materialManagement.setMaterialName(base.currentMaterialNode, new_name)
|
||||||
properties.name = new_name
|
properties.name = new_name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue