mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Added "optional_extruder" setting type
CURA-3814
This commit is contained in:
parent
4d853d5d52
commit
20cb3ea01f
4 changed files with 181 additions and 1 deletions
|
@ -67,6 +67,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
|||
self._simple_names = False
|
||||
|
||||
self._active_extruder_stack = None
|
||||
self._use_optional_extruder = False
|
||||
|
||||
#Listen to changes.
|
||||
Application.getInstance().globalContainerStackChanged.connect(self._updateExtruders)
|
||||
|
@ -89,6 +90,18 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
|||
def addGlobal(self):
|
||||
return self._add_global
|
||||
|
||||
useOptionalExtruderChanged = pyqtSignal()
|
||||
|
||||
def setUseOptionalExtruder(self, use_optional_extruder):
|
||||
if use_optional_extruder != self._use_optional_extruder:
|
||||
self._use_optional_extruder = use_optional_extruder
|
||||
self.useOptionalExtruderChanged.emit()
|
||||
self._updateExtruders()
|
||||
|
||||
@pyqtProperty(bool, fset = setUseOptionalExtruder, notify = useOptionalExtruderChanged)
|
||||
def useOptionalExtruder(self):
|
||||
return self._use_optional_extruder
|
||||
|
||||
## Set the simpleNames property.
|
||||
def setSimpleNames(self, simple_names):
|
||||
if simple_names != self._simple_names:
|
||||
|
@ -184,5 +197,16 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
|||
|
||||
if changed:
|
||||
items.sort(key = lambda i: i["index"])
|
||||
# We need optional extruder to be last, so add it after we do sorting.
|
||||
# This way we can simply intrepret the -1 of the index as the last item (which it now always is)
|
||||
if self._use_optional_extruder:
|
||||
item = {
|
||||
"id": "zomg",
|
||||
"name": "Not overridden",
|
||||
"color": self.defaultColors[0],
|
||||
"index": -1,
|
||||
"definition": ""
|
||||
}
|
||||
items.append(item)
|
||||
self.setItems(items)
|
||||
self.modelChanged.emit()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue