Просмотр исходного кода

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!)
Jaime van Kessel 6 лет назад
Родитель
Сommit
7754b8a447

+ 0 - 1
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()

+ 5 - 1
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