X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;ds=sidebyside;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 <QDateTime>
+#include <QString>
+
+#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