mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 07:19:05 +08:00
Merge branch 'master' of github.com:Ultimaker/Cura
This commit is contained in:
commit
34a2c7ca0f
@ -49,18 +49,6 @@ Item
|
||||
visibility_handler.addSkipResetSetting(currentMeshType)
|
||||
}
|
||||
|
||||
function setOverhangsMeshType()
|
||||
{
|
||||
if (infillOnlyCheckbox.checked)
|
||||
{
|
||||
setMeshType(infillMeshType)
|
||||
}
|
||||
else
|
||||
{
|
||||
setMeshType(cuttingMeshType)
|
||||
}
|
||||
}
|
||||
|
||||
function setMeshType(type)
|
||||
{
|
||||
UM.ActiveTool.setProperty("MeshType", type)
|
||||
@ -140,26 +128,43 @@ Item
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
CheckBox
|
||||
|
||||
ComboBox
|
||||
{
|
||||
id: infillOnlyCheckbox
|
||||
id: infillOnlyComboBox
|
||||
width: parent.width / 2 - UM.Theme.getSize("default_margin").width
|
||||
|
||||
text: catalog.i18nc("@action:checkbox", "Infill only");
|
||||
model: ListModel
|
||||
{
|
||||
id: infillOnlyComboBoxModel
|
||||
|
||||
style: UM.Theme.styles.checkbox;
|
||||
Component.onCompleted: {
|
||||
append({ text: catalog.i18nc("@item:inlistbox", "Infill mesh only") })
|
||||
append({ text: catalog.i18nc("@item:inlistbox", "Cutting mesh") })
|
||||
}
|
||||
}
|
||||
|
||||
visible: currentMeshType === infillMeshType || currentMeshType === cuttingMeshType
|
||||
onClicked: setOverhangsMeshType()
|
||||
|
||||
|
||||
onActivated:
|
||||
{
|
||||
if (index == 0){
|
||||
setMeshType(infillMeshType)
|
||||
} else {
|
||||
setMeshType(cuttingMeshType)
|
||||
}
|
||||
}
|
||||
|
||||
Binding
|
||||
{
|
||||
target: infillOnlyCheckbox
|
||||
property: "checked"
|
||||
value: currentMeshType === infillMeshType
|
||||
target: infillOnlyComboBox
|
||||
property: "currentIndex"
|
||||
value: currentMeshType === infillMeshType ? 0 : 1
|
||||
}
|
||||
}
|
||||
|
||||
Column // Settings Dialog
|
||||
Column // List of selected Settings to override for the selected object
|
||||
{
|
||||
// This is to ensure that the panel is first increasing in size up to 200 and then shows a scrollbar.
|
||||
// It kinda looks ugly otherwise (big panel, no content on it)
|
||||
|
@ -82,6 +82,7 @@ class PerObjectSettingsTool(Tool):
|
||||
selected_object.addDecorator(SettingOverrideDecorator())
|
||||
stack = selected_object.callDecoration("getStack")
|
||||
|
||||
settings_visibility_changed = False
|
||||
settings = stack.getTop()
|
||||
for property_key in ["infill_mesh", "cutting_mesh", "support_mesh", "anti_overhang_mesh"]:
|
||||
if property_key != mesh_type:
|
||||
@ -103,11 +104,14 @@ class PerObjectSettingsTool(Tool):
|
||||
new_instance.setProperty("value", 0)
|
||||
new_instance.resetState() # Ensure that the state is not seen as a user state.
|
||||
settings.addInstance(new_instance)
|
||||
visible = self.visibility_handler.getVisible()
|
||||
visible.add(property_key)
|
||||
self.visibility_handler.setVisible(visible)
|
||||
settings_visibility_changed = True
|
||||
|
||||
elif old_mesh_type == "infill_mesh" and settings.getInstance(property_key) and settings.getProperty(property_key, "value") == 0:
|
||||
settings.removeInstance(property_key)
|
||||
settings_visibility_changed = True
|
||||
|
||||
if settings_visibility_changed:
|
||||
self.visibility_handler.forceVisibilityChanged()
|
||||
|
||||
self.propertyChanged.emit()
|
||||
return True
|
||||
|
Loading…
x
Reference in New Issue
Block a user