-rw-r--r-- | libkcal/todo.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 5e6ac22..6a6c137 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp | |||
@@ -106,64 +106,65 @@ void Todo::saveRunningInfoToFile() | |||
106 | cal.addIncidence( to ); | 106 | cal.addIncidence( to ); |
107 | ICalFormat format; | 107 | ICalFormat format; |
108 | file = dir +"/" +file +".ics"; | 108 | file = dir +"/" +file +".ics"; |
109 | format.save( &cal, file ); | 109 | format.save( &cal, file ); |
110 | saveParents(); | 110 | saveParents(); |
111 | 111 | ||
112 | } | 112 | } |
113 | void Todo::saveParents() | 113 | void Todo::saveParents() |
114 | { | 114 | { |
115 | if (!relatedTo() ) | 115 | if (!relatedTo() ) |
116 | return; | 116 | return; |
117 | Incidence * inc = relatedTo(); | 117 | Incidence * inc = relatedTo(); |
118 | if ( inc->type() != "Todo" ) | 118 | if ( inc->type() != "Todo" ) |
119 | return; | 119 | return; |
120 | Todo* to = (Todo*)inc; | 120 | Todo* to = (Todo*)inc; |
121 | bool saveTodo = false; | 121 | bool saveTodo = false; |
122 | QString file = KGlobalSettings::timeTrackerDir() + "/"+ to->uid() + ".ics"; | 122 | QString file = KGlobalSettings::timeTrackerDir() + "/"+ to->uid() + ".ics"; |
123 | QFileInfo fi ( file ); | 123 | QFileInfo fi ( file ); |
124 | if ( fi.exists() ) { | 124 | if ( fi.exists() ) { |
125 | if ( fi.lastModified () < to->lastModified ()) | 125 | if ( fi.lastModified () < to->lastModified ()) |
126 | saveTodo = true; | 126 | saveTodo = true; |
127 | } else { | 127 | } else { |
128 | saveTodo = true; | 128 | saveTodo = true; |
129 | } | 129 | } |
130 | if ( saveTodo ) { | 130 | if ( saveTodo ) { |
131 | CalendarLocal cal; | 131 | CalendarLocal cal; |
132 | cal.setTimeZoneId( " 00:00 Europe/London(UTC)" ); | 132 | cal.setTimeZoneId( " 00:00 Europe/London(UTC)" ); |
133 | Todo * par = (Todo *) to->clone(); | 133 | Todo * par = (Todo *) to->clone(); |
134 | cal.addIncidence( par ); | 134 | cal.addIncidence( par ); |
135 | ICalFormat format; | 135 | ICalFormat format; |
136 | format.save( &cal, file ); | 136 | format.save( &cal, file ); |
137 | } | 137 | } |
138 | to->saveParents(); | ||
138 | } | 139 | } |
139 | 140 | ||
140 | int Todo::runTime() | 141 | int Todo::runTime() |
141 | { | 142 | { |
142 | if ( !mRunning ) | 143 | if ( !mRunning ) |
143 | return 0; | 144 | return 0; |
144 | return mRunStart.secsTo( QDateTime::currentDateTime() ); | 145 | return mRunStart.secsTo( QDateTime::currentDateTime() ); |
145 | } | 146 | } |
146 | bool Todo::hasRunningSub() | 147 | bool Todo::hasRunningSub() |
147 | { | 148 | { |
148 | if ( mRunning ) | 149 | if ( mRunning ) |
149 | return true; | 150 | return true; |
150 | Incidence *aTodo; | 151 | Incidence *aTodo; |
151 | for (aTodo = mRelations.first(); aTodo; aTodo = mRelations.next()) { | 152 | for (aTodo = mRelations.first(); aTodo; aTodo = mRelations.next()) { |
152 | if ( ((Todo*)aTodo)->hasRunningSub() ) | 153 | if ( ((Todo*)aTodo)->hasRunningSub() ) |
153 | return true; | 154 | return true; |
154 | } | 155 | } |
155 | return false; | 156 | return false; |
156 | } | 157 | } |
157 | Incidence *Todo::clone() | 158 | Incidence *Todo::clone() |
158 | { | 159 | { |
159 | return new Todo(*this); | 160 | return new Todo(*this); |
160 | } | 161 | } |
161 | 162 | ||
162 | bool Todo::contains ( Todo* from ) | 163 | bool Todo::contains ( Todo* from ) |
163 | { | 164 | { |
164 | 165 | ||
165 | if ( !from->summary().isEmpty() ) | 166 | if ( !from->summary().isEmpty() ) |
166 | if ( !summary().startsWith( from->summary() )) | 167 | if ( !summary().startsWith( from->summary() )) |
167 | return false; | 168 | return false; |
168 | if ( from->hasStartDate() ) { | 169 | if ( from->hasStartDate() ) { |
169 | if ( !hasStartDate() ) | 170 | if ( !hasStartDate() ) |