]> git.sven.stormbind.net Git - sven/vym.git/blob - src/taskeditor.h
Replace Pierre as the maintainer
[sven/vym.git] / src / taskeditor.h
1 #ifndef TASKEDITOR_H
2 #define TASKEDITOR_H
3
4 #include <QTableView>
5 #include <QWidget>
6
7 #include "taskfiltermodel.h"
8
9 class BranchItem;
10 class QTableView;
11 class Task;
12 class TaskModel;
13 class QSortFilterProxyModel;
14
15 class TaskEditor : public QWidget {
16     Q_OBJECT
17
18   public:
19     TaskEditor(QWidget *parent = NULL);
20     ~TaskEditor();
21     void setMapName(const QString &);
22     bool isUsedFilterMap();
23     void setFilterMap();
24     bool isUsedFilterActive();
25     void setFilterActive();
26     void setFilterNew();
27     void setFilterBlocker();
28     void setFilterFlags1();
29     void setFilterFlags2();
30     void setFilterFlags3();
31     void updateFilters();
32     bool taskVisible(Task*);
33     void resetDeltaPrio();
34     bool select(Task *task);
35     void clearSelection();
36     void showSelection();
37     void contextMenuEvent(QContextMenuEvent *e);
38
39   private slots:
40     void cellClicked(QModelIndex);
41     void headerContextMenu();
42     void updateColumnLayout();
43     void selectionChanged(const QItemSelection &selected,
44                           const QItemSelection &);
45     void toggleFilterMap();
46     void toggleFilterActive();
47     void toggleFilterNew();
48     void toggleFilterBlocker();
49     void toggleFilterFlags1();
50     void toggleFilterFlags2();
51     void toggleFilterFlags3();
52
53   private:
54     QTableView *view;
55     TaskFilterModel *filterActiveModel;
56     QString currentMapName;
57     QAction *actionToggleFilterMap;
58     QAction *actionToggleFilterActive;
59     QAction *actionToggleFilterNew;
60     QAction *actionToggleFilterBlocker;
61     QAction *actionToggleFilterFlags1;
62     QAction *actionToggleFilterFlags2;
63     QAction *actionToggleFilterFlags3;
64     bool blockExternalSelect;
65 };
66
67 #endif