mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 04:29:01 +08:00
correctly show not supported when any of the extruders has a not supported profile - CURA-4451
This commit is contained in:
parent
9b62b48509
commit
88ffe0d358
@ -270,7 +270,7 @@ class CuraApplication(QtApplication):
|
|||||||
empty_quality_container = copy.deepcopy(empty_container)
|
empty_quality_container = copy.deepcopy(empty_container)
|
||||||
empty_quality_container._id = "empty_quality"
|
empty_quality_container._id = "empty_quality"
|
||||||
empty_quality_container.setName("Not Supported")
|
empty_quality_container.setName("Not Supported")
|
||||||
empty_quality_container.addMetaDataEntry("quality_type", "normal")
|
empty_quality_container.addMetaDataEntry("quality_type", "not_supported")
|
||||||
empty_quality_container.addMetaDataEntry("type", "quality")
|
empty_quality_container.addMetaDataEntry("type", "quality")
|
||||||
empty_quality_container.addMetaDataEntry("supported", False)
|
empty_quality_container.addMetaDataEntry("supported", False)
|
||||||
ContainerRegistry.getInstance().addContainer(empty_quality_container)
|
ContainerRegistry.getInstance().addContainer(empty_quality_container)
|
||||||
|
@ -87,7 +87,7 @@ class QualityManager:
|
|||||||
qualities = set(quality_type_dict.values())
|
qualities = set(quality_type_dict.values())
|
||||||
for material_container in material_containers[1:]:
|
for material_container in material_containers[1:]:
|
||||||
next_quality_type_dict = self.__fetchQualityTypeDictForMaterial(machine_definition, material_container)
|
next_quality_type_dict = self.__fetchQualityTypeDictForMaterial(machine_definition, material_container)
|
||||||
qualities.update(set(next_quality_type_dict.values()))
|
qualities.intersection_update(set(next_quality_type_dict.values()))
|
||||||
|
|
||||||
return list(qualities)
|
return list(qualities)
|
||||||
|
|
||||||
|
@ -843,8 +843,6 @@ class MachineManager(QObject):
|
|||||||
if not containers or not self._global_container_stack:
|
if not containers or not self._global_container_stack:
|
||||||
return
|
return
|
||||||
|
|
||||||
Logger.log("d", "Attempting to change the active quality to %s", quality_id)
|
|
||||||
|
|
||||||
# Quality profile come in two flavours: type=quality and type=quality_changes
|
# Quality profile come in two flavours: type=quality and type=quality_changes
|
||||||
# If we found a quality_changes profile then look up its parent quality profile.
|
# If we found a quality_changes profile then look up its parent quality profile.
|
||||||
container_type = containers[0].getMetaDataEntry("type")
|
container_type = containers[0].getMetaDataEntry("type")
|
||||||
@ -864,6 +862,19 @@ class MachineManager(QObject):
|
|||||||
if new_quality_settings_list is None:
|
if new_quality_settings_list is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
has_not_supported_quality = False
|
||||||
|
|
||||||
|
# check if any of the extruder stacks have a not supported profile
|
||||||
|
# if that is the case, all stacks should have a not supported state (otherwise it will show quality_type normal)
|
||||||
|
for setting_info in new_quality_settings_list:
|
||||||
|
if setting_info["quality"].getMetaDataEntry("quality_type") == "not_supported":
|
||||||
|
has_not_supported_quality = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if has_not_supported_quality:
|
||||||
|
for setting_info in new_quality_settings_list:
|
||||||
|
setting_info["quality"] = self._empty_quality_container
|
||||||
|
|
||||||
self._new_quality_containers.clear()
|
self._new_quality_containers.clear()
|
||||||
|
|
||||||
for setting_info in new_quality_settings_list:
|
for setting_info in new_quality_settings_list:
|
||||||
@ -871,8 +882,6 @@ class MachineManager(QObject):
|
|||||||
stack_quality = setting_info["quality"]
|
stack_quality = setting_info["quality"]
|
||||||
stack_quality_changes = setting_info["quality_changes"]
|
stack_quality_changes = setting_info["quality_changes"]
|
||||||
|
|
||||||
Logger.log("d", "=======================setting new quality=%s, %s", stack.getId(), stack_quality.getId())
|
|
||||||
|
|
||||||
self._new_quality_containers.append({
|
self._new_quality_containers.append({
|
||||||
"stack": stack,
|
"stack": stack,
|
||||||
"quality": stack_quality,
|
"quality": stack_quality,
|
||||||
|
@ -91,7 +91,6 @@ class ProfilesModel(InstanceContainersModel):
|
|||||||
# If not qualities are found we dynamically create a not supported container for this machine + material combination
|
# If not qualities are found we dynamically create a not supported container for this machine + material combination
|
||||||
not_supported_container = ContainerRegistry.getInstance().findContainers(id = "empty_quality")[0]
|
not_supported_container = ContainerRegistry.getInstance().findContainers(id = "empty_quality")[0]
|
||||||
result.append(not_supported_container)
|
result.append(not_supported_container)
|
||||||
# return result
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Menu
|
|||||||
|
|
||||||
MenuItem
|
MenuItem
|
||||||
{
|
{
|
||||||
text: model.name + " - " + model.layer_height
|
text: (model.layer_height != "") ? model.name + " - " + model.layer_height : model.name
|
||||||
checkable: true
|
checkable: true
|
||||||
checked: Cura.MachineManager.activeQualityId == model.id
|
checked: Cura.MachineManager.activeQualityId == model.id
|
||||||
exclusiveGroup: group
|
exclusiveGroup: group
|
||||||
|
@ -65,11 +65,7 @@ Item
|
|||||||
function generateActiveQualityText () {
|
function generateActiveQualityText () {
|
||||||
var result = catalog.i18nc("@", "No Profile Available") // default text
|
var result = catalog.i18nc("@", "No Profile Available") // default text
|
||||||
|
|
||||||
console.log("Cura.MachineManager.activeQualityName", Cura.MachineManager.activeQualityName)
|
if (Cura.MachineManager.isActiveQualitySupported ) {
|
||||||
console.log("Cura.ProfilesModel.rowCount()", Cura.ProfilesModel.rowCount())
|
|
||||||
console.log("Cura.MachineManager.isActiveQualitySupported", Cura.MachineManager.isActiveQualitySupported)
|
|
||||||
|
|
||||||
if (Cura.MachineManager.activeQualityName && Cura.ProfilesModel.rowCount() > 0) {
|
|
||||||
result = Cura.MachineManager.activeQualityName
|
result = Cura.MachineManager.activeQualityName
|
||||||
|
|
||||||
if (Cura.MachineManager.activeQualityLayerHeight > 0) {
|
if (Cura.MachineManager.activeQualityLayerHeight > 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user