X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Ftask.h;fp=src%2Ftask.h;h=acad5ae1f34c3fd3cfb2b0c87fe6a854032aa8c8;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/task.h b/src/task.h new file mode 100644 index 0000000..acad5ae --- /dev/null +++ b/src/task.h @@ -0,0 +1,74 @@ +#ifndef TASK_H +#define TASK_H + +#include +#include + +#include "xmlobj.h" + +class BranchItem; +class QString; +class TaskModel; +class VymModel; + +class Task : public XMLObj { + public: + enum Status { NotStarted, WIP, Finished }; + enum Awake { Sleeping, Morning, WideAwake }; + + Task(TaskModel *tm); + ~Task(); + void setModel(TaskModel *tm); + void cycleStatus(bool reverse = false); + void setStatus(const QString &s); + void setStatus(Status ts); + Status getStatus(); + QString getStatusString(); + QString + getIconString(); //! Used to create icons in task list and flags in mapview + void setAwake(const QString &s); + void setAwake(Awake a); + Awake getAwake(); + QString getAwakeString(); + bool updateAwake(); + + public: + void setPriority(int p); + int getPriority(); + int getAgeCreation(); + int getAgeModification(); + void setDateCreation(const QString &s); + QDateTime getDateCreation(); + void setDateModification(); + void setDateModification(const QString &s); + QDateTime getDateModification(); + bool setDaysSleep(qint64 n); + bool setHoursSleep(qint64 n); + bool setSecsSleep(qint64 n); + bool setDateSleep(const QString &s); + bool setDateSleep(const QDateTime &d); + qint64 getDaysSleep(); + qint64 getSecsSleep(); + QDateTime getSleep(); + QString getName(); + void setPriorityDelta(const int &n); + int getPriorityDelta(); + void setBranch(BranchItem *bi); + BranchItem *getBranch(); + QString getMapName(); + QString saveToDir(); + + private: + TaskModel *model; + Status status; + Awake awake; + int prio; + int prio_delta; + BranchItem *branch; + QString mapName; + QDateTime date_creation; + QDateTime date_modification; + QDateTime date_sleep; +}; + +#endif