libkcal
todo.hGo 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 #ifndef KCAL_TODO_H
00022 #define KCAL_TODO_H
00023
00024 #include "incidence.h"
00025
00026 namespace KCal {
00027
00031 class LIBKCAL_EXPORT Todo : public Incidence
00032 {
00033 public:
00034 typedef ListBase<Todo> List;
00035
00036 Todo();
00037 Todo( const Todo & );
00038 ~Todo();
00039 Todo& operator=( const Todo& );
00040 bool operator==( const Todo& ) const;
00041
00042 QCString type() const { return "Todo"; }
00043
00048 Todo *clone();
00049
00056 void setDtDue(const QDateTime &dtDue, bool first = false);
00065 QDateTime dtDue( bool first = false ) const;
00070 QString dtDueTimeStr() const;
00078 QString dtDueDateStr( bool shortfmt = true ) const;
00083 QString dtDueStr() const;
00084
00088 bool hasDueDate() const;
00094 void setHasDueDate( bool hasDueDate );
00095
00099 bool hasStartDate() const;
00105 void setHasStartDate( bool hasStartDate );
00106
00114 QDateTime dtStart( bool first = false ) const;
00115
00119 void setDtStart( const QDateTime &dtStart );
00120
00128 QString dtStartTimeStr( bool first = false ) const;
00138 QString dtStartDateStr( bool shortfmt = true, bool first = false ) const;
00146 QString dtStartStr( bool first = false ) const;
00147
00151 bool isCompleted() const;
00158 void setCompleted( bool completed );
00159
00164 int percentComplete() const;
00169 void setPercentComplete( int );
00170
00174 QDateTime completed() const;
00179 QString completedStr() const;
00183 void setCompleted( const QDateTime &completed );
00184
00189 bool hasCompletedDate() const;
00190
00194 void setDtRecurrence( const QDateTime &dt );
00195
00199 QDateTime dtRecurrence() const;
00200
00207 virtual bool recursOn( const QDate &date ) const;
00208
00213 bool isOverdue() const;
00214
00215 protected:
00217 virtual QDateTime endDateRecurrenceBase() const { return dtDue(); }
00218
00219 private:
00220 bool accept(Visitor &v) { return v.visit( this ); }
00222 bool recurTodo();
00223
00224 QDateTime mDtDue;
00225
00226 QDateTime mDtRecurrence;
00227
00228 bool mHasDueDate;
00229 bool mHasStartDate;
00230
00231 QDateTime mCompleted;
00232 bool mHasCompletedDate;
00233
00234 int mPercentComplete;
00235
00236 class Private;
00237 Private *d;
00238 };
00239
00240 }
00241
00242 #endif
|