]> git.sven.stormbind.net Git - sven/vym.git/blob - task.h
Import Upstream version 2.6.11
[sven/vym.git] / task.h
1 #ifndef TASK_H
2 #define TASK_H
3
4 #include <QString>
5
6 #include <QDateTime>
7 #include "xmlobj.h"
8
9 class BranchItem;
10 class QString;
11 class TaskModel;
12 class VymModel;
13
14 class Task:public XMLObj {
15 public:
16     enum Status {NotStarted,WIP,Finished};
17     enum Awake {Sleeping,Morning,WideAwake};
18
19     Task(TaskModel* tm);
20     ~Task();
21     void setModel (TaskModel* tm);
22     void cycleStatus(bool reverse=false);
23     void setStatus(const QString &s);
24     void setStatus(Status ts);
25     Status getStatus(); 
26     QString getStatusString();
27     QString getIconString();    //! Used to create icons in task list and flags in mapview
28     void setAwake(const QString &s);
29     void setAwake(Awake a);
30     Awake getAwake();
31     QString getAwakeString();
32 private:
33     void recalcAwake();
34 public:
35     void setPriority(int  p);
36     int getPriority();
37     int getAgeCreation();
38     int getAgeModified();
39     void setDateCreation (const QString &s);
40     void setDateModified ();
41     void setDateModified (const QString &s);
42     void setDateSleep    (int n);
43     void setDateSleep    (const QString &s);
44     int getDaysSleep();
45     QString getName();
46     void setBranch (BranchItem *bi);
47     BranchItem* getBranch();
48     QString getMapName();
49     QString saveToDir();
50
51 private:
52     TaskModel* model;
53     Status status; 
54     Awake awake;
55     int prio;
56     BranchItem *branch;
57     QString mapName;
58     QDateTime date_creation;
59     QDateTime date_modified;
60     QDate     date_sleep;
61 };
62
63 #endif