model and proxy model in assets widget is created in methods which may be overriden

This commit is contained in:
iLLiCiTiT 2021-12-16 21:19:12 +01:00
parent 889953af31
commit 33ae30d6ab

View file

@ -582,11 +582,8 @@ class AssetsWidget(QtWidgets.QWidget):
self.dbcon = dbcon
# Tree View
model = AssetModel(dbcon=self.dbcon, parent=self)
proxy = RecursiveSortFilterProxyModel()
proxy.setSourceModel(model)
proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
proxy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
model = self._create_source_model()
proxy = self._create_proxy_model(model)
view = AssetsView(self)
view.setModel(proxy)
@ -628,7 +625,6 @@ class AssetsWidget(QtWidgets.QWidget):
selection_model.selectionChanged.connect(self._on_selection_change)
refresh_btn.clicked.connect(self.refresh)
current_asset_btn.clicked.connect(self.set_current_session_asset)
model.refreshed.connect(self._on_model_refresh)
view.doubleClicked.connect(self.double_clicked)
self._current_asset_btn = current_asset_btn
@ -639,6 +635,18 @@ class AssetsWidget(QtWidgets.QWidget):
self.model_selection = {}
def _create_source_model(self):
model = AssetModel(dbcon=self.dbcon, parent=self)
model.refreshed.connect(self._on_model_refresh)
return model
def _create_proxy_model(self, source_model):
proxy = RecursiveSortFilterProxyModel()
proxy.setSourceModel(source_model)
proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
proxy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
return proxy
@property
def refreshing(self):
return self._model.refreshing