mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-19 23:19:13 +08:00
WIP: Remove old Settings/MaterialManager
This commit is contained in:
parent
20e0f8a82a
commit
7fa218e9cd
@ -73,7 +73,6 @@ from . import CameraImageProvider
|
|||||||
from . import MachineActionManager
|
from . import MachineActionManager
|
||||||
|
|
||||||
from cura.Settings.MachineManager import MachineManager
|
from cura.Settings.MachineManager import MachineManager
|
||||||
from cura.Settings.MaterialManager import MaterialManager
|
|
||||||
from cura.Settings.ExtruderManager import ExtruderManager
|
from cura.Settings.ExtruderManager import ExtruderManager
|
||||||
from cura.Settings.UserChangesModel import UserChangesModel
|
from cura.Settings.UserChangesModel import UserChangesModel
|
||||||
from cura.Settings.ExtrudersModel import ExtrudersModel
|
from cura.Settings.ExtrudersModel import ExtrudersModel
|
||||||
@ -852,11 +851,6 @@ class CuraApplication(QtApplication):
|
|||||||
self._extruder_manager = ExtruderManager.createExtruderManager()
|
self._extruder_manager = ExtruderManager.createExtruderManager()
|
||||||
return self._extruder_manager
|
return self._extruder_manager
|
||||||
|
|
||||||
def getMaterialManager(self, *args):
|
|
||||||
if self._material_manager is None:
|
|
||||||
self._material_manager = MaterialManager.createMaterialManager()
|
|
||||||
return self._material_manager
|
|
||||||
|
|
||||||
def getObjectsModel(self, *args):
|
def getObjectsModel(self, *args):
|
||||||
if self._object_manager is None:
|
if self._object_manager is None:
|
||||||
self._object_manager = ObjectsModel.createObjectsModel()
|
self._object_manager = ObjectsModel.createObjectsModel()
|
||||||
@ -930,7 +924,6 @@ class CuraApplication(QtApplication):
|
|||||||
qmlRegisterSingletonType(CuraSceneController, "Cura", 1, 2, "SceneController", self.getCuraSceneController)
|
qmlRegisterSingletonType(CuraSceneController, "Cura", 1, 2, "SceneController", self.getCuraSceneController)
|
||||||
qmlRegisterSingletonType(ExtruderManager, "Cura", 1, 0, "ExtruderManager", self.getExtruderManager)
|
qmlRegisterSingletonType(ExtruderManager, "Cura", 1, 0, "ExtruderManager", self.getExtruderManager)
|
||||||
qmlRegisterSingletonType(MachineManager, "Cura", 1, 0, "MachineManager", self.getMachineManager)
|
qmlRegisterSingletonType(MachineManager, "Cura", 1, 0, "MachineManager", self.getMachineManager)
|
||||||
qmlRegisterSingletonType(MaterialManager, "Cura", 1, 0, "MaterialManager", self.getMaterialManager)
|
|
||||||
qmlRegisterSingletonType(SettingInheritanceManager, "Cura", 1, 0, "SettingInheritanceManager", self.getSettingInheritanceManager)
|
qmlRegisterSingletonType(SettingInheritanceManager, "Cura", 1, 0, "SettingInheritanceManager", self.getSettingInheritanceManager)
|
||||||
qmlRegisterSingletonType(SimpleModeSettingsManager, "Cura", 1, 2, "SimpleModeSettingsManager", self.getSimpleModeSettingsManager)
|
qmlRegisterSingletonType(SimpleModeSettingsManager, "Cura", 1, 2, "SimpleModeSettingsManager", self.getSimpleModeSettingsManager)
|
||||||
qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, "MachineActionManager", self.getMachineActionManager)
|
qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, "MachineActionManager", self.getMachineActionManager)
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
# Copyright (c) 2017 Ultimaker B.V.
|
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSlot #To expose data to QML.
|
|
||||||
|
|
||||||
from cura.Settings.ContainerManager import ContainerManager
|
|
||||||
from UM.Logger import Logger
|
|
||||||
from UM.Message import Message #To create a warning message about material diameter.
|
|
||||||
from UM.i18n import i18nCatalog #Translated strings.
|
|
||||||
|
|
||||||
catalog = i18nCatalog("cura")
|
|
||||||
|
|
||||||
## Handles material-related data, processing requests to change them and
|
|
||||||
# providing data for the GUI.
|
|
||||||
#
|
|
||||||
# TODO: Move material-related managing over from the machine manager to here.
|
|
||||||
class MaterialManager(QObject):
|
|
||||||
## Creates the global values for the material manager to use.
|
|
||||||
def __init__(self, parent = None):
|
|
||||||
super().__init__(parent)
|
|
||||||
|
|
||||||
#Material diameter changed warning message.
|
|
||||||
self._material_diameter_warning_message = Message(catalog.i18nc("@info:status Has a cancel button next to it.",
|
|
||||||
"The selected material diameter causes the material to become incompatible with the current printer."), title = catalog.i18nc("@info:title", "Incompatible Material"))
|
|
||||||
self._material_diameter_warning_message.addAction("Undo", catalog.i18nc("@action:button", "Undo"), None, catalog.i18nc("@action", "Undo changing the material diameter."))
|
|
||||||
self._material_diameter_warning_message.actionTriggered.connect(self._materialWarningMessageAction)
|
|
||||||
|
|
||||||
## Creates an instance of the MaterialManager.
|
|
||||||
#
|
|
||||||
# This should only be called by PyQt to create the singleton instance of
|
|
||||||
# this class.
|
|
||||||
@staticmethod
|
|
||||||
def createMaterialManager(engine = None, script_engine = None):
|
|
||||||
return MaterialManager()
|
|
||||||
|
|
||||||
@pyqtSlot(str, str)
|
|
||||||
def showMaterialWarningMessage(self, material_id, previous_diameter):
|
|
||||||
self._material_diameter_warning_message.previous_diameter = previous_diameter #Make sure that the undo button can properly undo the action.
|
|
||||||
self._material_diameter_warning_message.material_id = material_id
|
|
||||||
self._material_diameter_warning_message.show()
|
|
||||||
|
|
||||||
## Called when clicking "undo" on the warning dialogue for disappeared
|
|
||||||
# materials.
|
|
||||||
#
|
|
||||||
# This executes the undo action, restoring the material diameter.
|
|
||||||
#
|
|
||||||
# \param button The identifier of the button that was pressed.
|
|
||||||
def _materialWarningMessageAction(self, message, button):
|
|
||||||
if button == "Undo":
|
|
||||||
container_manager = ContainerManager.getInstance()
|
|
||||||
container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "properties/diameter", self._material_diameter_warning_message.previous_diameter)
|
|
||||||
approximate_previous_diameter = str(round(float(self._material_diameter_warning_message.previous_diameter)))
|
|
||||||
container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "approximate_diameter", approximate_previous_diameter)
|
|
||||||
container_manager.setContainerProperty(self._material_diameter_warning_message.material_id, "material_diameter", "value", self._material_diameter_warning_message.previous_diameter);
|
|
||||||
message.hide()
|
|
||||||
else:
|
|
||||||
Logger.log("w", "Unknown button action for material diameter warning message: {action}".format(action = button))
|
|
Loading…
x
Reference in New Issue
Block a user