From a746710e26a57be7ae4a641d46efe648381f28e2 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 28 Jun 2016 17:30:46 +0200 Subject: [PATCH] Introduce a MaterialSettingsVisibilityHandler that will only show those settings relevant for materials Contriubtes to CURA-342 --- cura/CuraApplication.py | 3 +++ .../MaterialSettingsVisibilityHandler.py | 19 +++++++++++++++++++ cura/Settings/__init__.py | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 cura/Settings/MaterialSettingsVisibilityHandler.py create mode 100644 cura/Settings/__init__.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c12ce3b8e5..9970f0efce 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -46,6 +46,8 @@ from . import MachineManagerModel from . import ContainerSettingsModel from . import MachineActionManager +import cura.Settings + from PyQt5.QtCore import pyqtSlot, QUrl, pyqtSignal, pyqtProperty, QEvent, Q_ENUMS from PyQt5.QtGui import QColor, QIcon from PyQt5.QtQml import qmlRegisterUncreatableType, qmlRegisterSingletonType, qmlRegisterType @@ -424,6 +426,7 @@ class CuraApplication(QtApplication): qmlRegisterType(ExtrudersModel.ExtrudersModel, "Cura", 1, 0, "ExtrudersModel") qmlRegisterType(ContainerSettingsModel.ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") + qmlRegisterType(cura.Settings.MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") qmlRegisterSingletonType(QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml")), "Cura", 1, 0, "Actions") diff --git a/cura/Settings/MaterialSettingsVisibilityHandler.py b/cura/Settings/MaterialSettingsVisibilityHandler.py new file mode 100644 index 0000000000..7286f509bf --- /dev/null +++ b/cura/Settings/MaterialSettingsVisibilityHandler.py @@ -0,0 +1,19 @@ +# Copyright (c) 2016 Ultimaker B.V. +# Uranium is released under the terms of the AGPLv3 or higher. + +import UM.Settings.Models + +class MaterialSettingsVisibilityHandler(UM.Settings.Models.SettingVisibilityHandler): + def __init__(self, parent = None, *args, **kwargs): + super().__init__(parent = parent, *args, **kwargs) + + material_settings = set([ + "material_print_temperature", + "material_bed_temperature", + "material_standby_temperature", + "cool_fan_speed", + "retraction_amount", + "retraction_speed", + ]) + + self.setVisible(material_settings) diff --git a/cura/Settings/__init__.py b/cura/Settings/__init__.py new file mode 100644 index 0000000000..d6fe389478 --- /dev/null +++ b/cura/Settings/__init__.py @@ -0,0 +1,2 @@ + +from .MaterialSettingsVisibilityHandler import MaterialSettingsVisibilityHandler