tasks widget created model and proxy model with methods that can be overriden

This commit is contained in:
iLLiCiTiT 2021-12-16 21:18:33 +01:00
parent 249171bd65
commit 889953af31

View file

@ -194,6 +194,8 @@ class TasksWidget(QtWidgets.QWidget):
task_changed = QtCore.Signal()
def __init__(self, dbcon, parent=None):
self._dbcon = dbcon
super(TasksWidget, self).__init__(parent)
tasks_view = DeselectableTreeView(self)
@ -204,9 +206,8 @@ class TasksWidget(QtWidgets.QWidget):
header_view = tasks_view.header()
header_view.setSortIndicator(0, QtCore.Qt.AscendingOrder)
tasks_model = TasksModel(dbcon)
tasks_proxy = TasksProxyModel()
tasks_proxy.setSourceModel(tasks_model)
tasks_model = self._create_source_model()
tasks_proxy = self._create_proxy_model(tasks_model)
tasks_view.setModel(tasks_proxy)
layout = QtWidgets.QVBoxLayout(self)
@ -222,6 +223,14 @@ class TasksWidget(QtWidgets.QWidget):
self._last_selected_task_name = None
def _create_source_model(self):
return TasksModel(self._dbcon)
def _create_proxy_model(self, source_model):
proxy = TasksProxyModel()
proxy.setSourceModel(source_model)
return proxy
def refresh(self):
self._tasks_model.refresh()