5 #include "branchitem.h"
10 Task::Task(TaskModel *tm)
12 // qDebug()<<"Constr. Task";
14 awake=Task::WideAwake;
18 date_creation=QDateTime::currentDateTime();
19 date_sleep=QDate::currentDate();
24 // qDebug()<<"Destr. Task";
25 if (branch) branch->setTask (NULL);
28 void Task::setModel (TaskModel* tm)
33 void Task::cycleStatus(bool reverse)
46 setStatus ( (Task::Status) i );
48 if (branch) branch->updateTaskFlag ();
51 void Task::setStatus(const QString &s)
54 setStatus(NotStarted);
57 else if (s=="Finished")
60 qWarning()<<"Task::setStatus Unknown value: "<<s;
63 void Task::setStatus(Status s)
65 if (s==status) return;
67 if (branch) branch->updateTaskFlag();
70 Task::Status Task::getStatus()
75 QString Task::getStatusString()
79 case NotStarted: return "NotStarted";
80 case WIP: return "WIP";
81 case Finished: return "Finished";
86 QString Task::getIconString()
101 if (status != Finished)
115 void Task::setAwake(const QString &s)
119 else if (s=="Morning")
121 else if (s=="WideAwake")
124 qWarning()<<"Task::setAwake Unknown value: "<<s;
127 void Task::setAwake(Task::Awake a)
129 if (a==awake) return;
132 if (branch) branch->updateTaskFlag();
135 Task::Awake Task::getAwake()
140 QString Task::getAwakeString()
144 case Sleeping: return "Sleeping";
145 case Morning: return "Morning";
146 case WideAwake: return "WideAwake";
151 void Task::recalcAwake()
153 if ( getDaysSleep() <= 0 && awake==Task::Sleeping)
154 setAwake(Task::Morning);
157 void Task::setPriority (int p)
162 int Task::getPriority()
167 int Task::getAgeCreation()
169 return date_creation.daysTo (QDateTime::currentDateTime() );
172 int Task::getAgeModified()
174 if (date_modified.isValid() )
175 return date_modified.daysTo (QDateTime::currentDateTime() );
177 return getAgeCreation();
180 void Task::setDateCreation (const QString &s)
182 date_creation=QDateTime().fromString (s,Qt::ISODate);
186 void Task::setDateModified()
188 date_modified=QDateTime::currentDateTime();
191 void Task::setDateModified(const QString &s)
193 date_modified=QDateTime().fromString (s,Qt::ISODate);
196 void Task::setDateSleep(int n)
198 setDateSleep ( QDate::currentDate().addDays (n).toString(Qt::ISODate) );
201 void Task::setDateSleep(const QString &s)
203 date_sleep=QDate().fromString (s,Qt::ISODate);
204 if (getDaysSleep()>0)
208 if (status == Finished) setStatus(WIP);
211 int Task::getDaysSleep()
214 if (date_sleep.isValid() )
215 d=QDate::currentDate().daysTo (date_sleep);
219 void Task::setBranch (BranchItem *bi)
222 mapName=bi->getModel()->getMapName();
225 BranchItem* Task::getBranch ()
230 QString Task::getName ()
233 return branch->getHeadingPlain();
236 qWarning()<<"Task::getName no branch!";
241 QString Task::getMapName ()
246 QString Task::saveToDir()
249 if (getDaysSleep()>0)
250 sleepAttr = attribut ("date_sleep",date_sleep.toString (Qt::ISODate) );
251 return singleElement ("task",
252 attribut ("status",getStatusString() ) +
253 attribut ("awake",getAwakeString() ) +
254 attribut ("date_creation",date_creation.toString (Qt::ISODate) ) +
255 attribut ("date_modified",date_modified.toString (Qt::ISODate) ) +