mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 11:17:49 -06:00
Rewrite IntentModel to return quality types rather than actual profiles
We don't want the profiles, because that'd be specific to one extruder. We want the quality types and intent categories as tuples again. Contributes to issue CURA-6597.
This commit is contained in:
parent
49a6161ee8
commit
6ba70f3425
1 changed files with 12 additions and 7 deletions
|
@ -7,18 +7,18 @@ from UM.Qt.ListModel import ListModel
|
|||
from PyQt5.QtCore import Qt, pyqtProperty, pyqtSignal
|
||||
|
||||
from UM.Settings.ContainerRegistry import ContainerRegistry
|
||||
from cura.Settings.IntentManager import IntentManager
|
||||
import cura.CuraApplication
|
||||
|
||||
class IntentModel(ListModel):
|
||||
NameRole = Qt.UserRole + 1
|
||||
IdRole = Qt.UserRole + 2
|
||||
ContainerRole = Qt.UserRole + 3
|
||||
QualityTypeRole = Qt.UserRole + 2
|
||||
|
||||
def __init__(self, parent: Optional[QObject] = None) -> None:
|
||||
super().__init__(parent)
|
||||
|
||||
self.addRoleName(self.NameRole, "name")
|
||||
self.addRoleName(self.IdRole, "id")
|
||||
self.addRoleName(self.ContainerRole, "container")
|
||||
self.addRoleName(self.QualityTypeRole, "quality_type")
|
||||
|
||||
self._intent_category = "engineering"
|
||||
|
||||
|
@ -34,7 +34,7 @@ class IntentModel(ListModel):
|
|||
self._intent_category = new_category
|
||||
self._intent_category_changed.emit()
|
||||
|
||||
@pyqtProperty(str, fset=setIntentCategory, notify=_intent_category_changed)
|
||||
@pyqtProperty(str, fset = setIntentCategory, notify = _intent_category_changed)
|
||||
def intentCategory(self) -> str:
|
||||
return self._intent_category
|
||||
|
||||
|
@ -44,7 +44,12 @@ class IntentModel(ListModel):
|
|||
|
||||
def _update(self) -> None:
|
||||
new_items = []
|
||||
for container in ContainerRegistry.getInstance().findInstanceContainers(type = "intent", intent_category = self._intent_category):
|
||||
new_items.append({"name": container.getName(), "id": container.getId(), "container": container})
|
||||
application = cura.CuraApplication.CuraApplication.getInstance()
|
||||
quality_manager = application.getQualityManager()
|
||||
global_stack = application.getGlobalContainerStack()
|
||||
|
||||
for intent_category, quality_type in IntentManager.getInstance().currentAvailableIntents():
|
||||
if intent_category == self._intent_category:
|
||||
new_items.append({"name": quality_manager.getQualityGroups(global_stack)[quality_type].name, "quality_type": quality_type})
|
||||
|
||||
self.setItems(new_items)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue