diff --git a/cura/Machines/Models/BaseMaterialsModel.py b/cura/Machines/Models/BaseMaterialsModel.py index 5cb5446372..3d29b71a8e 100644 --- a/cura/Machines/Models/BaseMaterialsModel.py +++ b/cura/Machines/Models/BaseMaterialsModel.py @@ -4,6 +4,8 @@ from typing import Optional, Dict, Set from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty + +from UM.Preferences import Preferences from UM.Qt.ListModel import ListModel import cura.CuraApplication # Imported like this to prevent a circular reference. @@ -111,7 +113,7 @@ class BaseMaterialsModel(ListModel): ## This is an abstract method that needs to be implemented by the specific # models themselves. def _update(self): - pass + self._favorite_ids = set(Preferences.getInstance().getValue("cura/favorite_materials").split(";")) ## This method is used by all material models in the beginning of the # _update() method in order to prevent errors. It's the same in all models diff --git a/cura/Machines/Models/FavoriteMaterialsModel.py b/cura/Machines/Models/FavoriteMaterialsModel.py index bab6df6260..91b90b215f 100644 --- a/cura/Machines/Models/FavoriteMaterialsModel.py +++ b/cura/Machines/Models/FavoriteMaterialsModel.py @@ -19,12 +19,10 @@ class FavoriteMaterialsModel(BaseMaterialsModel): self._update() def _update(self): + super()._update() if not self._canUpdate(): return - # Get updated list of favorites - self._favorite_ids = self._material_manager.getFavorites() - item_list = [] for root_material_id, container_node in self._available_materials.items(): diff --git a/cura/Machines/Models/GenericMaterialsModel.py b/cura/Machines/Models/GenericMaterialsModel.py index f5edc22051..a6534f0e9d 100644 --- a/cura/Machines/Models/GenericMaterialsModel.py +++ b/cura/Machines/Models/GenericMaterialsModel.py @@ -10,12 +10,10 @@ class GenericMaterialsModel(BaseMaterialsModel): self._update() def _update(self): + super()._update() if not self._canUpdate(): return - # Get updated list of favorites - self._favorite_ids = self._material_manager.getFavorites() - item_list = [] for root_material_id, container_node in self._available_materials.items(): diff --git a/cura/Machines/Models/MaterialBrandsModel.py b/cura/Machines/Models/MaterialBrandsModel.py index 8bb5217fe7..3af67e37d0 100644 --- a/cura/Machines/Models/MaterialBrandsModel.py +++ b/cura/Machines/Models/MaterialBrandsModel.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import Qt, pyqtSignal @@ -27,10 +27,9 @@ class MaterialBrandsModel(BaseMaterialsModel): self._update() def _update(self): + super()._update() if not self._canUpdate(): return - # Get updated list of favorites - self._favorite_ids = self._material_manager.getFavorites() brand_item_list = [] brand_group_dict = {}