KCal Library
todo.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
00029 #ifndef KCAL_TODO_H
00030 #define KCAL_TODO_H
00031
00032 #include "incidence.h"
00033 #include <QtCore/QByteArray>
00034
00035 namespace KCal {
00036
00041 class KCAL_EXPORT Todo : public Incidence
00042 {
00043 public:
00047 typedef ListBase<Todo> List;
00048
00052 Todo();
00053
00058 Todo( const Todo &other );
00059
00063 ~Todo();
00064
00069 QByteArray type() const;
00070
00075 Todo *clone();
00076
00086 void setDtDue( const KDateTime &dtDue, bool first = false );
00087
00096 KDateTime dtDue( bool first = false ) const;
00097
00106 QString dtDueTimeStr( bool shortfmt = true,
00107 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00108
00117 QString dtDueDateStr( bool shortfmt = true,
00118 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00119
00128 QString dtDueStr( bool shortfmt = true,
00129 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00130
00134 bool hasDueDate() const;
00135
00141 void setHasDueDate( bool hasDueDate );
00142
00146 bool hasStartDate() const;
00147
00153 void setHasStartDate( bool hasStartDate );
00154
00159 virtual KDateTime dtStart() const;
00160
00168 KDateTime dtStart( bool first ) const;
00169
00175 void setDtStart( const KDateTime &dtStart );
00176
00189 QString dtStartTimeStr( bool shortfmt, bool first,
00190 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00191
00196 virtual QString dtStartTimeStr( bool shortfmt = true,
00197 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00198
00211 QString dtStartDateStr( bool shortfmt, bool first,
00212 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00213
00218 virtual QString dtStartDateStr( bool shortfmt = true,
00219 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00220
00233 QString dtStartStr( bool shortfmt, bool first,
00234 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00235
00240 virtual QString dtStartStr( bool shortfmt = true,
00241 const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00242
00248 bool isCompleted() const;
00249
00258 void setCompleted( bool completed );
00259
00264 int percentComplete() const;
00265
00275 void setPercentComplete( int percent );
00276
00280 KDateTime completed() const;
00281
00288 QString completedStr( bool shortfmt = false ) const;
00289
00295 void setCompleted( const KDateTime &completeDate );
00296
00301 bool hasCompletedDate() const;
00302
00307 virtual void shiftTimes( const KDateTime::Spec &oldSpec,
00308 const KDateTime::Spec &newSpec );
00309
00315 void setDtRecurrence( const KDateTime &dt );
00316
00320 KDateTime dtRecurrence() const;
00321
00331 virtual bool recursOn( const QDate &date,
00332 const KDateTime::Spec &timeSpec ) const;
00333
00338 bool isOverdue() const;
00339
00345 bool operator==( const Todo &todo ) const;
00346
00347 protected:
00351 virtual KDateTime endDateRecurrenceBase() const;
00352
00353 private:
00358 bool accept( Visitor &v ) { return v.visit( this ); }
00359
00360
00361 class Private;
00362 Private *const d;
00363
00364 };
00365
00366 }
00367
00368 #endif