summaryrefslogtreecommitdiffabout
path: root/libkcal/todo.h
Unidiff
Diffstat (limited to 'libkcal/todo.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/todo.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libkcal/todo.h b/libkcal/todo.h
index 2131732..cea976c 100644
--- a/libkcal/todo.h
+++ b/libkcal/todo.h
@@ -1,162 +1,164 @@
1/* 1/*
2 This file is part of libkcal. 2 This file is part of libkcal.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20#ifndef TODO_H 20#ifndef TODO_H
21#define TODO_H 21#define TODO_H
22// 22//
23// Todo component, representing a VTODO object 23// Todo component, representing a VTODO object
24// 24//
25 25
26#include "incidence.h" 26#include "incidence.h"
27 27
28#include <qtimer.h> 28#include <qtimer.h>
29//Added by qt3to4:
30#include <Q3CString>
29 31
30namespace KCal { 32namespace KCal {
31 33
32/** 34/**
33 This class provides a Todo in the sense of RFC2445. 35 This class provides a Todo in the sense of RFC2445.
34*/ 36*/
35 class Todo : public QObject,public Incidence 37 class Todo : public QObject,public Incidence
36{ 38{
37 Q_OBJECT 39 Q_OBJECT
38 public: 40 public:
39 Todo(); 41 Todo();
40 Todo(const Todo &); 42 Todo(const Todo &);
41 ~Todo(); 43 ~Todo();
42 typedef ListBase<Todo> List; 44 typedef ListBase<Todo> List;
43 QCString type() const { return "Todo"; } 45 Q3CString type() const { return "Todo"; }
44 IncTypeID typeID() const { return todoID; } 46 IncTypeID typeID() const { return todoID; }
45 47
46 /** Return an exact copy of this todo. */ 48 /** Return an exact copy of this todo. */
47 Incidence *clone(); 49 Incidence *clone();
48 QDateTime getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const; 50 QDateTime getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const;
49 51
50 /** for setting the todo's due date/time with a QDateTime. */ 52 /** for setting the todo's due date/time with a QDateTime. */
51 void setDtDue(const QDateTime &dtDue); 53 void setDtDue(const QDateTime &dtDue);
52 /** returns an event's Due date/time as a QDateTime. */ 54 /** returns an event's Due date/time as a QDateTime. */
53 QDateTime dtDue() const; 55 QDateTime dtDue() const;
54 /** returns an event's due time as a string formatted according to the 56 /** returns an event's due time as a string formatted according to the
55 users locale settings */ 57 users locale settings */
56 QString dtDueTimeStr() const; 58 QString dtDueTimeStr() const;
57 /** returns an event's due date as a string formatted according to the 59 /** returns an event's due date as a string formatted according to the
58 users locale settings */ 60 users locale settings */
59 QString dtDueDateStr(bool shortfmt=true) const; 61 QString dtDueDateStr(bool shortfmt=true) const;
60 /** returns an event's due date and time as a string formatted according 62 /** returns an event's due date and time as a string formatted according
61 to the users locale settings */ 63 to the users locale settings */
62 QString dtDueStr(bool shortfmt=true) const; 64 QString dtDueStr(bool shortfmt=true) const;
63 65
64 /** returns TRUE or FALSE depending on whether the todo has a due date */ 66 /** returns TRUE or FALSE depending on whether the todo has a due date */
65 bool hasDueDate() const; 67 bool hasDueDate() const;
66 /** sets the event's hasDueDate value. */ 68 /** sets the event's hasDueDate value. */
67 void setHasDueDate(bool f); 69 void setHasDueDate(bool f);
68 70
69 /* 71 /*
70 Looks for a subtodo (including itself ) which is not complete and is 72 Looks for a subtodo (including itself ) which is not complete and is
71 - overdue, or 73 - overdue, or
72 - due today. 74 - due today.
73 It returns 0 for nothing found, 75 It returns 0 for nothing found,
74 1 for found a todo which is due today and no overdue found 76 1 for found a todo which is due today and no overdue found
75 2 for found a overdue todo 77 2 for found a overdue todo
76 */ 78 */
77 int hasDueSubTodo( bool checkSubtodos = true ); 79 int hasDueSubTodo( bool checkSubtodos = true );
78 /* same as above, but a specific date can be specified*/ 80 /* same as above, but a specific date can be specified*/
79 int hasDueSubTodoForDate( const QDate & date, bool checkSubtodos ); 81 int hasDueSubTodoForDate( const QDate & date, bool checkSubtodos );
80 82
81 83
82 /** sets the event's status to the string specified. The string 84 /** sets the event's status to the string specified. The string
83 * must be a recognized value for the status field, i.e. a string 85 * must be a recognized value for the status field, i.e. a string
84 * equivalent of the possible status enumerations previously described. */ 86 * equivalent of the possible status enumerations previously described. */
85// void setStatus(const QString &statStr); 87// void setStatus(const QString &statStr);
86 /** sets the event's status to the value specified. See the enumeration 88 /** sets the event's status to the value specified. See the enumeration
87 * above for possible values. */ 89 * above for possible values. */
88// void setStatus(int); 90// void setStatus(int);
89 /** return the event's status. */ 91 /** return the event's status. */
90// int status() const; 92// int status() const;
91 /** return the event's status in string format. */ 93 /** return the event's status in string format. */
92// QString statusStr() const; 94// QString statusStr() const;
93 95
94 /** return, if this todo is completed */ 96 /** return, if this todo is completed */
95 bool isCompleted() const; 97 bool isCompleted() const;
96 /** set completed state of this todo */ 98 /** set completed state of this todo */
97 void setCompleted(bool); 99 void setCompleted(bool);
98 100
99 /** 101 /**
100 Return how many percent of the task are completed. Returns a value 102 Return how many percent of the task are completed. Returns a value
101 between 0 and 100. 103 between 0 and 100.
102 */ 104 */
103 int percentComplete() const; 105 int percentComplete() const;
104 /** 106 /**
105 Set how many percent of the task are completed. Valid values are in the 107 Set how many percent of the task are completed. Valid values are in the
106 range from 0 to 100. 108 range from 0 to 100.
107 */ 109 */
108 void setPercentComplete(int); 110 void setPercentComplete(int);
109 111
110 /** return date and time when todo was completed */ 112 /** return date and time when todo was completed */
111 QDateTime completed() const; 113 QDateTime completed() const;
112 QString completedStr(bool shortF = true) const; 114 QString completedStr(bool shortF = true) const;
113 /** set date and time of completion */ 115 /** set date and time of completion */
114 void setCompleted(const QDateTime &completed); 116 void setCompleted(const QDateTime &completed);
115 117
116 /** Return true, if todo has a date associated with completion */ 118 /** Return true, if todo has a date associated with completion */
117 bool hasCompletedDate() const; 119 bool hasCompletedDate() const;
118 bool contains ( Todo*); 120 bool contains ( Todo*);
119 void checkSetCompletedFalse(); 121 void checkSetCompletedFalse();
120 bool setRecurDates(); 122 bool setRecurDates();
121 bool isRunning() {return mRunning;} 123 bool isRunning() {return mRunning;}
122 bool hasRunningSub(); 124 bool hasRunningSub();
123 void setRunning( bool ); 125 void setRunning( bool );
124 void setRunningFalse( QString ); 126 void setRunningFalse( QString );
125 void stopRunning(); 127 void stopRunning();
126 int runTime(); 128 int runTime();
127 QDateTime runStart () const { return mRunStart;} 129 QDateTime runStart () const { return mRunStart;}
128 void saveRunningInfo( QString comment, QDateTime start, QDateTime end ); 130 void saveRunningInfo( QString comment, QDateTime start, QDateTime end );
129 public slots: 131 public slots:
130 void saveRunningInfoToFile( QString st ); 132 void saveRunningInfoToFile( QString st );
131 void saveRunningInfoToFile( ); 133 void saveRunningInfoToFile( );
132 void saveParents(); 134 void saveParents();
133 QString durationText(); 135 QString durationText();
134 private slots: 136 private slots:
135 void timerSlotSaveRunningInfoToFile( ); 137 void timerSlotSaveRunningInfoToFile( );
136 private: 138 private:
137 QString mLastSavedFileName; 139 QString mLastSavedFileName;
138 void restartSaveTimer( int secs ); 140 void restartSaveTimer( int secs );
139 int mCurrentTimerDelay; 141 int mCurrentTimerDelay;
140 bool mRunning; 142 bool mRunning;
141 QTimer * mRunSaveTimer; 143 QTimer * mRunSaveTimer;
142 QDateTime mRunStart; 144 QDateTime mRunStart;
143 QDateTime mRunLastSave; 145 QDateTime mRunLastSave;
144 QDateTime mRunEnd; 146 QDateTime mRunEnd;
145 bool accept(Visitor &v) { return v.visit(this); } 147 bool accept(Visitor &v) { return v.visit(this); }
146 148
147 QDateTime mDtDue; // due date of todo 149 QDateTime mDtDue; // due date of todo
148 150
149 bool mHasDueDate; // if todo has associated due date 151 bool mHasDueDate; // if todo has associated due date
150 152
151// int mStatus; // confirmed/delegated/tentative/etc 153// int mStatus; // confirmed/delegated/tentative/etc
152 154
153 QDateTime mCompleted; 155 QDateTime mCompleted;
154 bool mHasCompletedDate; 156 bool mHasCompletedDate;
155 157
156 int mPercentComplete; 158 int mPercentComplete;
157}; 159};
158 160
159 bool operator==( const Todo&, const Todo& ); 161 bool operator==( const Todo&, const Todo& );
160} 162}
161 163
162#endif 164#endif