Remove some changes, debugging - CURA-4451

This commit is contained in:
ChrisTerBeke 2017-10-25 09:52:14 +02:00
parent c679f4aa6b
commit 7bf854aa0f
11 changed files with 35 additions and 132 deletions

View file

@ -272,6 +272,7 @@ class CuraApplication(QtApplication):
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", "normal")
empty_quality_container.addMetaDataEntry("type", "quality") empty_quality_container.addMetaDataEntry("type", "quality")
empty_quality_container.addMetaDataEntry("supported", False)
ContainerRegistry.getInstance().addContainer(empty_quality_container) ContainerRegistry.getInstance().addContainer(empty_quality_container)
empty_quality_changes_container = copy.deepcopy(empty_container) empty_quality_changes_container = copy.deepcopy(empty_container)
empty_quality_changes_container._id = "empty_quality_changes" empty_quality_changes_container._id = "empty_quality_changes"

View file

@ -862,8 +862,8 @@ class MachineManager(QObject):
name_changed_connect_stacks.append(stack_quality) name_changed_connect_stacks.append(stack_quality)
name_changed_connect_stacks.append(stack_quality_changes) name_changed_connect_stacks.append(stack_quality_changes)
self._replaceQualityOrQualityChangesInStack(stack, stack_quality, postpone_emit=True) self._replaceQualityOrQualityChangesInStack(stack, stack_quality, postpone_emit = True)
self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes, postpone_emit=True) self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes, postpone_emit = True)
# Connect to onQualityNameChanged # Connect to onQualityNameChanged
for stack in name_changed_connect_stacks: for stack in name_changed_connect_stacks:
@ -927,7 +927,8 @@ class MachineManager(QObject):
for stack in stacks: for stack in stacks:
material = stack.material material = stack.material
quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material]) quality = quality_manager.findQualityByQualityType(quality_type, global_machine_definition, [material])
if not quality: #No quality profile is found for this quality type. if not quality:
# No quality profile is found for this quality type.
quality = self._empty_quality_container quality = self._empty_quality_container
result.append({"stack": stack, "quality": quality, "quality_changes": empty_quality_changes}) result.append({"stack": stack, "quality": quality, "quality_changes": empty_quality_changes})

View file

@ -1,47 +0,0 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from UM.Signal import signalemitter
from UM.Settings.InstanceContainer import InstanceContainer
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase
## A container for not supported profiles.
#
#
@signalemitter
class NotSupportedProfileContainer(InstanceContainer):
def __init__(self, container_id: str, machine_id: str, material_id: str, *args, **kwargs):
super().__init__(container_id, *args, **kwargs)
# self._id = str(container_id) # type: str
# self._name = "Not supported" # type: str
self.setMetaData({
"setting_version": 3,
"supported": False,
"type": "quality",
"weight": "0",
"material": material_id
})
# register this container
ContainerRegistry.getInstance().addContainer(self)
# set printer definition
definition = ContainerRegistry.getInstance().findDefinitionContainers(id = machine_id)
self.setDefinition(definition[0])
# register the container mime type
not_support_instance_mime = MimeType(
name = "application/x-cura-notsupportedinstancecontainer",
comment = "Cura Not Supported Instance Container",
suffixes = []
)
MimeTypeDatabase.addMimeType(not_support_instance_mime)
ContainerRegistry.addContainerTypeByName(NotSupportedProfileContainer, "not_supported_instance", not_support_instance_mime.name)

View file

@ -11,7 +11,6 @@ from UM.Settings.Models.InstanceContainersModel import InstanceContainersModel
from cura.QualityManager import QualityManager from cura.QualityManager import QualityManager
from cura.Settings.ExtruderManager import ExtruderManager from cura.Settings.ExtruderManager import ExtruderManager
from cura.Settings.NotSupportedProfileContainer import NotSupportedProfileContainer
## QML Model for listing the current list of valid quality profiles. ## QML Model for listing the current list of valid quality profiles.
@ -20,14 +19,12 @@ class ProfilesModel(InstanceContainersModel):
LayerHeightRole = Qt.UserRole + 1001 LayerHeightRole = Qt.UserRole + 1001
LayerHeightWithoutUnitRole = Qt.UserRole + 1002 LayerHeightWithoutUnitRole = Qt.UserRole + 1002
AvailableRole = Qt.UserRole + 1003 AvailableRole = Qt.UserRole + 1003
NotSupportedRole = Qt.UserRole + 1004
def __init__(self, parent = None): def __init__(self, parent = None):
super().__init__(parent) super().__init__(parent)
self.addRoleName(self.LayerHeightRole, "layer_height") self.addRoleName(self.LayerHeightRole, "layer_height")
self.addRoleName(self.LayerHeightWithoutUnitRole, "layer_height_without_unit") self.addRoleName(self.LayerHeightWithoutUnitRole, "layer_height_without_unit")
self.addRoleName(self.AvailableRole, "available") self.addRoleName(self.AvailableRole, "available")
self.addRoleName(self.NotSupportedRole, "not_supported")
Application.getInstance().globalContainerStackChanged.connect(self._update) Application.getInstance().globalContainerStackChanged.connect(self._update)
@ -74,12 +71,9 @@ class ProfilesModel(InstanceContainersModel):
# The actual list of quality profiles come from the first extruder in the extruder list. # The actual list of quality profiles come from the first extruder in the extruder list.
result = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, extruder_stacks) result = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, extruder_stacks)
# If not qualities are found we dynamically create an empty container with name "Not Supported"
if len(result) == 0: if len(result) == 0:
machine_id = global_container_stack.definition.getId() # If not qualities are found we dynamically create a not supported container for this machine + material combination
material_id = extruder_stacks[0].material.getId() not_supported_container = ContainerRegistry.getInstance().findContainers(id = "empty_quality")[0]
container_id = machine_id + "_" + material_id + "_not_supported"
not_supported_container = NotSupportedProfileContainer(container_id, machine_id, material_id)
result.append(not_supported_container) result.append(not_supported_container)
return result return result
@ -127,8 +121,7 @@ class ProfilesModel(InstanceContainersModel):
extruder_stacks = new_extruder_stacks + extruder_stacks extruder_stacks = new_extruder_stacks + extruder_stacks
# Get a list of usable/available qualities for this machine and material # Get a list of usable/available qualities for this machine and material
qualities = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, qualities = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, extruder_stacks)
extruder_stacks)
container_registry = ContainerRegistry.getInstance() container_registry = ContainerRegistry.getInstance()
machine_manager = Application.getInstance().getMachineManager() machine_manager = Application.getInstance().getMachineManager()
@ -177,8 +170,7 @@ class ProfilesModel(InstanceContainersModel):
if not profile: if not profile:
self._setItemLayerHeight(item, "", "") self._setItemLayerHeight(item, "", "")
item["available"] = False item["available"] = False
item["not_supported"] = True yield None
yield item
continue continue
profile = profile[0] profile = profile[0]
@ -187,7 +179,6 @@ class ProfilesModel(InstanceContainersModel):
# Easy case: This profile defines its own layer height. # Easy case: This profile defines its own layer height.
if profile.hasProperty("layer_height", "value"): if profile.hasProperty("layer_height", "value"):
self._setItemLayerHeight(item, profile.getProperty("layer_height", "value"), unit) self._setItemLayerHeight(item, profile.getProperty("layer_height", "value"), unit)
item["not_supported"] = False
yield item yield item
continue continue
@ -206,7 +197,6 @@ class ProfilesModel(InstanceContainersModel):
quality = None quality = None
if quality and quality.hasProperty("layer_height", "value"): if quality and quality.hasProperty("layer_height", "value"):
self._setItemLayerHeight(item, quality.getProperty("layer_height", "value"), unit) self._setItemLayerHeight(item, quality.getProperty("layer_height", "value"), unit)
item["not_supported"] = False
yield item yield item
continue continue
@ -217,7 +207,6 @@ class ProfilesModel(InstanceContainersModel):
if not skip_until_container or skip_until_container == ContainerRegistry.getInstance().getEmptyInstanceContainer(): #No variant in stack. if not skip_until_container or skip_until_container == ContainerRegistry.getInstance().getEmptyInstanceContainer(): #No variant in stack.
skip_until_container = global_container_stack.getBottom() skip_until_container = global_container_stack.getBottom()
self._setItemLayerHeight(item, global_container_stack.getRawProperty("layer_height", "value", skip_until_container = skip_until_container.getId()), unit) # Fall through to the currently loaded material. self._setItemLayerHeight(item, global_container_stack.getRawProperty("layer_height", "value", skip_until_container = skip_until_container.getId()), unit) # Fall through to the currently loaded material.
item["not_supported"] = False
yield item yield item
def _setItemLayerHeight(self, item, value, unit): def _setItemLayerHeight(self, item, value, unit):

View file

@ -11,8 +11,11 @@
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"platform": "builder_premium_platform.stl", "platform": "builder_premium_platform.stl",
"platform_offset": [-126, -36, 117], "platform_offset": [-126, -36, 117],
"has_machine_quality": true, "has_machine_quality": true,
"preferred_quality": "*Normal*", "preferred_material": "*pla*",
"preferred_quality": "*normal*",
"machine_extruder_trains": "machine_extruder_trains":
{ {
"0": "builder_premium_small_rear", "0": "builder_premium_small_rear",

View file

@ -17,12 +17,12 @@ Menu
MenuItem MenuItem
{ {
text: model.name + (model.layer_height != "" ? (" - " + model.layer_height) : "") text: model.name + " - " + model.layer_height
checkable: true checkable: true
checked: Cura.MachineManager.activeQualityChangesId == "" && Cura.MachineManager.activeQualityType == model.metadata.quality_type checked: Cura.MachineManager.activeQualityId == model.id
exclusiveGroup: group exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveQuality(model.id) onTriggered: Cura.MachineManager.setActiveQuality(model.id)
visible: model.available || model.not_supported visible: model.available
} }
onObjectAdded: menu.insertItem(index, object); onObjectAdded: menu.insertItem(index, object);

View file

@ -63,10 +63,14 @@ Item
menu: ProfileMenu { } menu: ProfileMenu { }
function generateActiveQualityText () { function generateActiveQualityText () {
var result = "" var result = catalog.i18nc("@", "No Profile Available") // default text
if (Cura.MachineManager.activeQualityName) { console.log("Cura.MachineManager.activeQualityName", Cura.MachineManager.activeQualityName)
result += Cura.MachineManager.activeQualityName 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
if (Cura.MachineManager.activeQualityLayerHeight > 0) { if (Cura.MachineManager.activeQualityLayerHeight > 0) {
result += " <font color=\"" + UM.Theme.getColor("text_detail") + "\">" result += " <font color=\"" + UM.Theme.getColor("text_detail") + "\">"

View file

@ -245,35 +245,29 @@ Column
color: UM.Theme.getColor("text"); color: UM.Theme.getColor("text");
} }
ToolButton { ToolButton
{
id: materialSelection id: materialSelection
text: Cura.MachineManager.activeMaterialName text: Cura.MachineManager.activeMaterialName
tooltip: Cura.MachineManager.activeMaterialName tooltip: Cura.MachineManager.activeMaterialName
visible: Cura.MachineManager.hasMaterials visible: Cura.MachineManager.hasMaterials
property var valueError:
{
var data = Cura.ContainerManager.getContainerMetaDataEntry(Cura.MachineManager.activeMaterialId, "compatible")
if(data == "False")
{
return true
}
else
{
return false
}
}
property var valueWarning: ! Cura.MachineManager.isActiveQualitySupported
enabled: !extrudersList.visible || base.currentExtruderIndex > -1 enabled: !extrudersList.visible || base.currentExtruderIndex > -1
height: UM.Theme.getSize("setting_control").height height: UM.Theme.getSize("setting_control").height
width: parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width width: parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width
anchors.right: parent.right anchors.right: parent.right
style: UM.Theme.styles.sidebar_header_button style: UM.Theme.styles.sidebar_header_button
activeFocusOnPress: true; activeFocusOnPress: true;
menu: MaterialMenu {
extruderIndex: base.currentExtruderIndex
}
menu: MaterialMenu { extruderIndex: base.currentExtruderIndex } property var valueError: !isMaterialSupported()
property var valueWarning: ! Cura.MachineManager.isActiveQualitySupported
function isMaterialSupported () {
return Cura.ContainerManager.getContainerMetaDataEntry(Cura.MachineManager.activeMaterialId, "compatible") == "True"
}
} }
} }

View file

@ -1,14 +0,0 @@
[general]
version = 2
name = Not Supported
definition = ultimaker3
[metadata]
weight = 0
type = quality
quality_type = normal
material = generic_pva_ultimaker3_AA_0.4
supported = False
setting_version = 3
[values]

View file

@ -1,14 +0,0 @@
[general]
version = 2
name = Not Supported
definition = ultimaker3
[metadata]
weight = 0
type = quality
quality_type = normal
material = generic_pva_ultimaker3_AA_0.8
supported = False
setting_version = 3
[values]

View file

@ -1,14 +0,0 @@
[general]
version = 2
name = Not Supported
definition = ultimaker3
[metadata]
weight = 0
type = quality
quality_type = superdraft
material = generic_pva_ultimaker3_AA_0.8
supported = False
setting_version = 3
[values]