added forgotten Task model in asset widgets

This commit is contained in:
Jakub Trllo 2019-04-16 14:28:28 +02:00
parent 01b34cebd3
commit ba47be8087
2 changed files with 66 additions and 0 deletions

View file

@ -15,6 +15,7 @@ from .model_tree import TreeModel
from .model_asset import AssetModel
from .model_filter_proxy_exact_match import ExactMatchesFilterProxyModel
from .model_filter_proxy_recursive_sort import RecursiveSortFilterProxyModel
from .model_tasks_template import TasksTemplateModel
from .model_tree_view_deselectable import DeselectableTreeView
from .widget_asset_view import AssetView

View file

@ -0,0 +1,65 @@
from . import QtCore, TreeModel
from . import Node
from . import awesome, style
class TasksTemplateModel(TreeModel):
"""A model listing the tasks combined for a list of assets"""
COLUMNS = ["Tasks"]
def __init__(self):
super(TasksTemplateModel, self).__init__()
self.selectable = False
self._icons = {
"__default__": awesome.icon("fa.folder-o",
color=style.colors.default)
}
def set_tasks(self, tasks):
"""Set assets to track by their database id
Arguments:
asset_ids (list): List of asset ids.
"""
self.clear()
# let cleared task view if no tasks are available
if len(tasks) == 0:
return
self.beginResetModel()
icon = self._icons["__default__"]
for task in tasks:
node = Node({
"Tasks": task,
"icon": icon
})
self.add_child(node)
self.endResetModel()
def flags(self, index):
if self.selectable is False:
return QtCore.Qt.ItemIsEnabled
else:
return (
QtCore.Qt.ItemIsEnabled |
QtCore.Qt.ItemIsSelectable
)
def data(self, index, role):
if not index.isValid():
return
# Add icon to the first column
if role == QtCore.Qt.DecorationRole:
if index.column() == 0:
return index.internalPointer()['icon']
return super(TasksTemplateModel, self).data(index, role)