Fix occasional crash when entering profiles section.

Make QualityManagementModel into a singleton.
part of CURA-6600
This commit is contained in:
Remco Burema 2019-08-27 16:21:30 +02:00
parent c333e980dc
commit c71660cc11
2 changed files with 19 additions and 15 deletions

View file

@ -221,8 +221,9 @@ class CuraApplication(QtApplication):
self._cura_scene_controller = None
self._machine_error_checker = None
self._machine_settings_manager = MachineSettingsManager(self, parent = self)
self._machine_settings_manager = MachineSettingsManager(self, parent=self)
self._material_management_model = MaterialManagementModel()
self._quality_management_model = None
self._discovered_printer_model = DiscoveredPrintersModel(self, parent = self)
self._first_start_machine_actions_model = FirstStartMachineActionsModel(self, parent = self)
@ -981,6 +982,12 @@ class CuraApplication(QtApplication):
def getMaterialManagementModel(self):
return self._material_management_model
@pyqtSlot(result=QObject)
def getQualityManagementModel(self):
if not self._quality_management_model:
self._quality_management_model = QualityManagementModel()
return self._quality_management_model
def getSimpleModeSettingsManager(self, *args):
if self._simple_mode_settings_manager is None:
self._simple_mode_settings_manager = SimpleModeSettingsManager()
@ -1059,7 +1066,7 @@ class CuraApplication(QtApplication):
qmlRegisterType(FavoriteMaterialsModel, "Cura", 1, 0, "FavoriteMaterialsModel")
qmlRegisterType(GenericMaterialsModel, "Cura", 1, 0, "GenericMaterialsModel")
qmlRegisterType(MaterialBrandsModel, "Cura", 1, 0, "MaterialBrandsModel")
qmlRegisterType(QualityManagementModel, "Cura", 1, 0, "QualityManagementModel")
qmlRegisterSingletonType(QualityManagementModel, "Cura", 1, 0, "QualityManagementModel", self.getQualityManagementModel)
qmlRegisterSingletonType(MaterialManagementModel, "Cura", 1, 5, "MaterialManagementModel", self.getMaterialManagementModel)
qmlRegisterType(DiscoveredPrintersModel, "Cura", 1, 0, "DiscoveredPrintersModel")