mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Switch to the new quality profile when it is created
This commit is contained in:
parent
a8bd57a9eb
commit
d2ffd59431
3 changed files with 44 additions and 15 deletions
|
@ -240,8 +240,7 @@ class CuraApplication(QtApplication):
|
|||
if kwargs["parsed_command_line"].get("trigger_early_crash", False):
|
||||
assert not "This crash is triggered by the trigger_early_crash command line argument."
|
||||
|
||||
# new stuff
|
||||
self._variant_manager = VariantManager(ContainerRegistry.getInstance())
|
||||
self._variant_manager = None
|
||||
|
||||
self.default_theme = "cura-light"
|
||||
|
||||
|
@ -723,9 +722,6 @@ class CuraApplication(QtApplication):
|
|||
return False
|
||||
return True
|
||||
|
||||
def getVariantManager(self):
|
||||
return self._variant_manager
|
||||
|
||||
def preRun(self):
|
||||
# Last check for unknown commandline arguments
|
||||
parser = self.getCommandlineParser()
|
||||
|
@ -743,14 +739,15 @@ class CuraApplication(QtApplication):
|
|||
self.preRun()
|
||||
|
||||
container_registry = ContainerRegistry.getInstance()
|
||||
self._variant_manager = VariantManager(container_registry)
|
||||
self._variant_manager.initialize()
|
||||
|
||||
from cura.Machines.MaterialManager import MaterialManager
|
||||
self._material_manager = MaterialManager(container_registry)
|
||||
self._material_manager = MaterialManager(container_registry, parent = self)
|
||||
self._material_manager.initialize()
|
||||
|
||||
from cura.Machines.QualityManager import QualityManager
|
||||
self._quality_manager = QualityManager(container_registry)
|
||||
self._quality_manager = QualityManager(container_registry, parent = self)
|
||||
self._quality_manager.initialize()
|
||||
|
||||
self.getMachineManager() # ensure creation of machine manager
|
||||
|
@ -856,6 +853,16 @@ class CuraApplication(QtApplication):
|
|||
self._extruder_manager = ExtruderManager.createExtruderManager()
|
||||
return self._extruder_manager
|
||||
|
||||
def getVariantManager(self, *args):
|
||||
return self._variant_manager
|
||||
|
||||
def getMaterialManager(self, *args):
|
||||
return self._material_manager
|
||||
|
||||
@pyqtSlot(result = QObject)
|
||||
def getQualityManager(self, *args):
|
||||
return self._quality_manager
|
||||
|
||||
def getObjectsModel(self, *args):
|
||||
if self._object_manager is None:
|
||||
self._object_manager = ObjectsModel.createObjectsModel()
|
||||
|
|
|
@ -333,7 +333,7 @@ class ContainerManager(QObject):
|
|||
|
||||
self._performMerge(quality_changes, stack.getTop())
|
||||
|
||||
self._machine_manager.activeQualityChanged.emit()
|
||||
self._machine_manager.activeQualityChangesGroupChanged.emit()
|
||||
|
||||
return True
|
||||
|
||||
|
@ -394,12 +394,6 @@ class ContainerManager(QObject):
|
|||
self._performMerge(new_changes, user_container)
|
||||
|
||||
self._container_registry.addContainer(new_changes)
|
||||
#stack.replaceContainer(stack.getContainerIndex(quality_changes_container), new_changes)
|
||||
|
||||
#self._machine_manager.activeQualityChanged.emit()
|
||||
|
||||
#self._machine_manager.activeQualityGroupChanged.emit()
|
||||
#self._machine_manager.activeQualityChangesGroupChanged.emit()
|
||||
|
||||
#
|
||||
# Remove the given quality changes group
|
||||
|
|
|
@ -171,8 +171,36 @@ Item
|
|||
object: "<new name>"
|
||||
onAccepted:
|
||||
{
|
||||
base.newQualityChangesNameToSwitchTo = newName; // We want to switch to the new profile once it's created
|
||||
Cura.ContainerManager.createQualityChanges(newName);
|
||||
qualityListView.currentIndex = -1; // TODO: Reset selection.
|
||||
}
|
||||
}
|
||||
|
||||
property string newQualityChangesNameToSwitchTo: ""
|
||||
|
||||
// This connection makes sure that we will switch to the new
|
||||
Connections
|
||||
{
|
||||
target: qualitiesModel
|
||||
onItemsChanged: {
|
||||
var currentItemName = base.currentItem == null ? "" : base.currentItem.name;
|
||||
|
||||
for (var idx = 0; idx < qualitiesModel.rowCount(); ++idx) {
|
||||
var item = qualitiesModel.getItem(idx);
|
||||
if (base.newQualityChangesNameToSwitchTo != "") {
|
||||
if (item.name == base.newQualityChangesNameToSwitchTo) {
|
||||
// Switch to the newly created profile if needed
|
||||
qualityListView.currentIndex = idx;
|
||||
if (item.is_read_only) {
|
||||
Cura.MachineManager.setQualityGroup(item.quality_group);
|
||||
} else {
|
||||
Cura.MachineManager.setQualityChangesGroup(item.quality_changes_group);
|
||||
}
|
||||
base.newQualityChangesNameToSwitchTo = "";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue