Update _favorite_ids in BaseMaterialsModel._update

And make all subclasses run its super _update as well to make sure that this gets updated for them. It's necessary for the _createMaterialItem functionality because it needs to add an is_favorite role.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-21 17:30:12 +02:00
parent 5d76f96354
commit ea1c99b708
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276
4 changed files with 7 additions and 10 deletions

View file

@ -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