ktimetracker
timekard.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KARM_TIMEKARD_H
00024 #define KARM_TIMEKARD_H
00025
00026 #undef Color // X11 headers
00027 #undef GrayScale // X11 headers
00028
00029 #include <QList>
00030
00031 #include "reportcriteria.h"
00032
00033 class QString;
00034 class QDate;
00035
00036 class Task;
00037 class TaskView;
00038
00046 class Week
00047 {
00048 public:
00050 Week();
00051 Week( const QDate &from );
00052 QDate start() const;
00053 QDate end() const;
00054 QList<QDate> days() const;
00055
00066 static QList<Week> weeksFromDateRange(const QDate& from,
00067 const QDate& to);
00068
00075 QString name() const;
00076
00077
00078 private:
00079 QDate _start;
00080 };
00081
00085 class TimeKard
00086 {
00087 public:
00091 TimeKard() {}
00092
00102 QString totalsAsText(TaskView* taskview, ReportCriteria rc);
00103
00109 QString historyAsText(TaskView* taskview, const QDate& from,
00110 const QDate& to, bool justThisTask, bool perWeek, bool totalsOnly);
00111
00112 private:
00113 void printTask(Task *t, QString &s, int level, const ReportCriteria &rc);
00114
00115 void printTaskHistory(const Task *t, const QMap<QString, long>& datamap,
00116 QMap<QString, long>& daytotals,
00117 const QDate& from, const QDate& to,
00118 const int level, QString& retval, bool totalsOnly);
00119
00120 QString sectionHistoryAsText(TaskView* taskview,
00121 const QDate& sectionFrom, const QDate& sectionTo,
00122 const QDate& from, const QDate& to,
00123 const QString& name,
00124 bool justThisTask, bool totalsOnly);
00125
00126 };
00127 #endif // KARM_TIMEKARD_H