From 7754b8a447fabdc4bcb4e80512a4304300e5e485 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 21 Feb 2019 20:20:01 +0100 Subject: [PATCH] Only instantiate setting menus when it's visible This saves a bit of time on booting and prevents unneeded updates ( because it doesn't matter if a setting changes if no-one is watching!) --- cura/Machines/Models/BaseMaterialsModel.py | 1 - resources/qml/Menus/SettingsMenu.qml | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cura/Machines/Models/BaseMaterialsModel.py b/cura/Machines/Models/BaseMaterialsModel.py index 212e4fcf1e..555bdb87ec 100644 --- a/cura/Machines/Models/BaseMaterialsModel.py +++ b/cura/Machines/Models/BaseMaterialsModel.py @@ -19,7 +19,6 @@ class BaseMaterialsModel(ListModel): def __init__(self, parent = None): super().__init__(parent) - from cura.CuraApplication import CuraApplication self._application = CuraApplication.getInstance() diff --git a/resources/qml/Menus/SettingsMenu.qml b/resources/qml/Menus/SettingsMenu.qml index 03367a47e4..00337ea8e1 100644 --- a/resources/qml/Menus/SettingsMenu.qml +++ b/resources/qml/Menus/SettingsMenu.qml @@ -14,10 +14,14 @@ Menu PrinterMenu { title: catalog.i18nc("@title:menu menubar:settings", "&Printer") } + onAboutToShow: extruderInstantiator.active = true + onAboutToHide: extruderInstantiator.active = false Instantiator { + id: extruderInstantiator model: Cura.MachineManager.activeMachine.extruderList - + active: false + asynchronous: true Menu { title: modelData.name