4 #include <QAbstractTableModel>
13 class TaskModel : public QAbstractTableModel {
17 TaskModel(QObject *parent = 0);
18 QModelIndex index(Task *t) const;
19 QModelIndex indexRowEnd(Task *t);
20 Task *getTask(const QModelIndex &ix) const;
21 Task *getTask(const int i) const;
22 int rowCount(const QModelIndex &parent) const;
23 int columnCount(const QModelIndex &parent) const;
24 QVariant data(const QModelIndex &index, int role) const;
25 QVariant headerData(int section, Qt::Orientation orientation,
27 Qt::ItemFlags flags(const QModelIndex &index) const;
28 bool setData(const QModelIndex &index, const QVariant &value,
29 int role = Qt::EditRole);
30 // bool setData(const QModelIndex &index, Task *t, int
31 // role=Qt::EditRole);
32 void emitDataChanged(Task *t);
33 bool insertRows(int position, int rows,
34 const QModelIndex &index = QModelIndex(), Task *t = nullptr);
35 bool removeRows(int position, int rows,
36 const QModelIndex &index = QModelIndex());
38 int count(VymModel *model = nullptr) const;
39 Task *createTask(BranchItem *bi);
40 void deleteTask(Task *t);
41 bool updateAwake(bool force = false);
42 void recalcPriorities();
44 void setShowParentsLevel(uint i);
45 uint getShowParentsLevel();
47 // Drag and drop support
48 Qt::DropActions supportedDropActions() const;
49 QStringList mimeTypes() const;
50 QMimeData *mimeData(const QModelIndexList &indexes) const;
51 bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row,
52 int column, const QModelIndex &parent);
56 uint showParentsLevel;
61 QIcon task_new_morning_icon;
62 QIcon task_new_sleeping_icon;
65 QIcon task_wip_morning_icon;
66 QIcon task_wip_sleeping_icon;
67 QIcon task_finished_icon;
69 QIcon taskfilter_stopsign_icon;
70 QIcon taskfilter_stopsign_arrow_up_icon;
71 QIcon taskfilter_stopsign_arrow_2up_icon;