5 <link rel="stylesheet" href="styles.css"> |
5 <link rel="stylesheet" href="styles.css"> |
6 </head> |
6 </head> |
7 <body> |
7 <body> |
8 <a NAME="top" ID="top"></a> |
8 <a NAME="top" ID="top"></a> |
9 <h1>Plugin_Time_Tracker.TimeTracker.TimeTracker</h1> |
9 <h1>Plugin_Time_Tracker.TimeTracker.TimeTracker</h1> |
10 |
|
11 <p> |
10 <p> |
12 Module implementing the time tracker object. |
11 Module implementing the time tracker object. |
13 </p> |
12 </p> |
|
13 |
14 <h3>Global Attributes</h3> |
14 <h3>Global Attributes</h3> |
15 |
15 <table> |
16 <table> |
16 <tr><td>_Side</td></tr> |
17 <tr><td>None</td></tr> |
17 </table> |
18 </table> |
18 |
19 <h3>Classes</h3> |
19 <h3>Classes</h3> |
20 |
20 <table> |
21 <table> |
|
22 |
|
23 <tr> |
21 <tr> |
24 <td><a href="#TimeTracker">TimeTracker</a></td> |
22 <td><a href="#TimeTracker">TimeTracker</a></td> |
25 <td>Class implementing the time tracker object.</td> |
23 <td>Class implementing the time tracker object.</td> |
26 </tr> |
24 </tr> |
27 </table> |
25 </table> |
|
26 |
28 <h3>Functions</h3> |
27 <h3>Functions</h3> |
29 |
|
30 <table> |
28 <table> |
31 <tr><td>None</td></tr> |
29 <tr><td>None</td></tr> |
32 </table> |
30 </table> |
|
31 |
33 <hr /> |
32 <hr /> |
34 <hr /> |
33 <hr /> |
35 <a NAME="TimeTracker" ID="TimeTracker"></a> |
34 <a NAME="TimeTracker" ID="TimeTracker"></a> |
36 <h2>TimeTracker</h2> |
35 <h2>TimeTracker</h2> |
37 |
|
38 <p> |
36 <p> |
39 Class implementing the time tracker object. |
37 Class implementing the time tracker object. |
40 </p> |
38 </p> |
|
39 |
41 <h3>Derived from</h3> |
40 <h3>Derived from</h3> |
42 QObject |
41 QObject |
43 <h3>Class Attributes</h3> |
42 <h3>Class Attributes</h3> |
44 |
|
45 <table> |
43 <table> |
46 <tr><td>FileName</td></tr> |
44 <tr><td>FileName</td></tr> |
47 </table> |
45 </table> |
|
46 |
48 <h3>Class Methods</h3> |
47 <h3>Class Methods</h3> |
49 |
|
50 <table> |
48 <table> |
51 <tr><td>None</td></tr> |
49 <tr><td>None</td></tr> |
52 </table> |
50 </table> |
|
51 |
53 <h3>Methods</h3> |
52 <h3>Methods</h3> |
54 |
53 <table> |
55 <table> |
|
56 |
|
57 <tr> |
54 <tr> |
58 <td><a href="#TimeTracker.__init__">TimeTracker</a></td> |
55 <td><a href="#TimeTracker.__init__">TimeTracker</a></td> |
59 <td>Constructor</td> |
56 <td>Constructor</td> |
60 </tr> |
57 </tr> |
61 <tr> |
58 <tr> |
141 <tr> |
138 <tr> |
142 <td><a href="#TimeTracker.stopTrackerEntry">stopTrackerEntry</a></td> |
139 <td><a href="#TimeTracker.stopTrackerEntry">stopTrackerEntry</a></td> |
143 <td>Public method to stop the current tracker entry.</td> |
140 <td>Public method to stop the current tracker entry.</td> |
144 </tr> |
141 </tr> |
145 </table> |
142 </table> |
|
143 |
146 <h3>Static Methods</h3> |
144 <h3>Static Methods</h3> |
147 |
|
148 <table> |
145 <table> |
149 <tr><td>None</td></tr> |
146 <tr><td>None</td></tr> |
150 </table> |
147 </table> |
|
148 |
151 |
149 |
152 <a NAME="TimeTracker.__init__" ID="TimeTracker.__init__"></a> |
150 <a NAME="TimeTracker.__init__" ID="TimeTracker.__init__"></a> |
153 <h4>TimeTracker (Constructor)</h4> |
151 <h4>TimeTracker (Constructor)</h4> |
154 <b>TimeTracker</b>(<i>plugin, iconSuffix, parent=None</i>) |
152 <b>TimeTracker</b>(<i>plugin, iconSuffix, parent=None</i>) |
155 |
|
156 <p> |
153 <p> |
157 Constructor |
154 Constructor |
158 </p> |
155 </p> |
|
156 |
159 <dl> |
157 <dl> |
160 |
158 |
161 <dt><i>plugin</i> (TimeTrackerPlugin)</dt> |
159 <dt><i>plugin</i> (TimeTrackerPlugin)</dt> |
162 <dd> |
160 <dd> |
163 reference to the plugin object |
161 reference to the plugin object |
172 </dd> |
170 </dd> |
173 </dl> |
171 </dl> |
174 <a NAME="TimeTracker.__activateWidget" ID="TimeTracker.__activateWidget"></a> |
172 <a NAME="TimeTracker.__activateWidget" ID="TimeTracker.__activateWidget"></a> |
175 <h4>TimeTracker.__activateWidget</h4> |
173 <h4>TimeTracker.__activateWidget</h4> |
176 <b>__activateWidget</b>(<i></i>) |
174 <b>__activateWidget</b>(<i></i>) |
177 |
|
178 <p> |
175 <p> |
179 Private slot to handle the activation of the time tracker widget. |
176 Private slot to handle the activation of the time tracker widget. |
180 </p> |
177 </p> |
|
178 |
181 <a NAME="TimeTracker.__initialize" ID="TimeTracker.__initialize"></a> |
179 <a NAME="TimeTracker.__initialize" ID="TimeTracker.__initialize"></a> |
182 <h4>TimeTracker.__initialize</h4> |
180 <h4>TimeTracker.__initialize</h4> |
183 <b>__initialize</b>(<i></i>) |
181 <b>__initialize</b>(<i></i>) |
184 |
|
185 <p> |
182 <p> |
186 Private slot to initialize some member variables. |
183 Private slot to initialize some member variables. |
187 </p> |
184 </p> |
|
185 |
188 <a NAME="TimeTracker.__readTrackerEntries" ID="TimeTracker.__readTrackerEntries"></a> |
186 <a NAME="TimeTracker.__readTrackerEntries" ID="TimeTracker.__readTrackerEntries"></a> |
189 <h4>TimeTracker.__readTrackerEntries</h4> |
187 <h4>TimeTracker.__readTrackerEntries</h4> |
190 <b>__readTrackerEntries</b>(<i></i>) |
188 <b>__readTrackerEntries</b>(<i></i>) |
191 |
|
192 <p> |
189 <p> |
193 Private slot to read the time tracker entries from a file. |
190 Private slot to read the time tracker entries from a file. |
194 </p> |
191 </p> |
|
192 |
195 <a NAME="TimeTracker.activate" ID="TimeTracker.activate"></a> |
193 <a NAME="TimeTracker.activate" ID="TimeTracker.activate"></a> |
196 <h4>TimeTracker.activate</h4> |
194 <h4>TimeTracker.activate</h4> |
197 <b>activate</b>(<i></i>) |
195 <b>activate</b>(<i></i>) |
198 |
|
199 <p> |
196 <p> |
200 Public method to activate the time tracker. |
197 Public method to activate the time tracker. |
201 </p> |
198 </p> |
|
199 |
202 <a NAME="TimeTracker.addTrackerEntry" ID="TimeTracker.addTrackerEntry"></a> |
200 <a NAME="TimeTracker.addTrackerEntry" ID="TimeTracker.addTrackerEntry"></a> |
203 <h4>TimeTracker.addTrackerEntry</h4> |
201 <h4>TimeTracker.addTrackerEntry</h4> |
204 <b>addTrackerEntry</b>(<i>startDateTime, duration, task, comment</i>) |
202 <b>addTrackerEntry</b>(<i>startDateTime, duration, task, comment</i>) |
205 |
|
206 <p> |
203 <p> |
207 Public method to add a new tracker entry based on the given data. |
204 Public method to add a new tracker entry based on the given data. |
208 </p> |
205 </p> |
|
206 |
209 <dl> |
207 <dl> |
210 |
208 |
211 <dt><i>startDateTime</i> (QDateTime)</dt> |
209 <dt><i>startDateTime</i> (QDateTime)</dt> |
212 <dd> |
210 <dd> |
213 start date and time |
211 start date and time |
226 </dd> |
224 </dd> |
227 </dl> |
225 </dl> |
228 <a NAME="TimeTracker.continueTrackerEntry" ID="TimeTracker.continueTrackerEntry"></a> |
226 <a NAME="TimeTracker.continueTrackerEntry" ID="TimeTracker.continueTrackerEntry"></a> |
229 <h4>TimeTracker.continueTrackerEntry</h4> |
227 <h4>TimeTracker.continueTrackerEntry</h4> |
230 <b>continueTrackerEntry</b>(<i></i>) |
228 <b>continueTrackerEntry</b>(<i></i>) |
231 |
|
232 <p> |
229 <p> |
233 Public method to continue the current tracker entry. |
230 Public method to continue the current tracker entry. |
234 </p> |
231 </p> |
|
232 |
235 <a NAME="TimeTracker.deactivate" ID="TimeTracker.deactivate"></a> |
233 <a NAME="TimeTracker.deactivate" ID="TimeTracker.deactivate"></a> |
236 <h4>TimeTracker.deactivate</h4> |
234 <h4>TimeTracker.deactivate</h4> |
237 <b>deactivate</b>(<i></i>) |
235 <b>deactivate</b>(<i></i>) |
238 |
|
239 <p> |
236 <p> |
240 Public method to deactivate the time tracker. |
237 Public method to deactivate the time tracker. |
241 </p> |
238 </p> |
|
239 |
242 <a NAME="TimeTracker.deleteTrackerEntry" ID="TimeTracker.deleteTrackerEntry"></a> |
240 <a NAME="TimeTracker.deleteTrackerEntry" ID="TimeTracker.deleteTrackerEntry"></a> |
243 <h4>TimeTracker.deleteTrackerEntry</h4> |
241 <h4>TimeTracker.deleteTrackerEntry</h4> |
244 <b>deleteTrackerEntry</b>(<i>eid</i>) |
242 <b>deleteTrackerEntry</b>(<i>eid</i>) |
245 |
|
246 <p> |
243 <p> |
247 Public method to delete a tracker entry given its ID. |
244 Public method to delete a tracker entry given its ID. |
248 </p> |
245 </p> |
|
246 |
249 <dl> |
247 <dl> |
250 |
248 |
251 <dt><i>eid</i> (int)</dt> |
249 <dt><i>eid</i> (int)</dt> |
252 <dd> |
250 <dd> |
253 ID of the tracker entry |
251 ID of the tracker entry |
254 </dd> |
252 </dd> |
255 </dl> |
253 </dl> |
256 <a NAME="TimeTracker.entryChanged" ID="TimeTracker.entryChanged"></a> |
254 <a NAME="TimeTracker.entryChanged" ID="TimeTracker.entryChanged"></a> |
257 <h4>TimeTracker.entryChanged</h4> |
255 <h4>TimeTracker.entryChanged</h4> |
258 <b>entryChanged</b>(<i></i>) |
256 <b>entryChanged</b>(<i></i>) |
259 |
|
260 <p> |
257 <p> |
261 Public method to indicate an external change to any of the entries. |
258 Public method to indicate an external change to any of the entries. |
262 </p> |
259 </p> |
|
260 |
263 <a NAME="TimeTracker.getCurrentEntry" ID="TimeTracker.getCurrentEntry"></a> |
261 <a NAME="TimeTracker.getCurrentEntry" ID="TimeTracker.getCurrentEntry"></a> |
264 <h4>TimeTracker.getCurrentEntry</h4> |
262 <h4>TimeTracker.getCurrentEntry</h4> |
265 <b>getCurrentEntry</b>(<i></i>) |
263 <b>getCurrentEntry</b>(<i></i>) |
266 |
|
267 <p> |
264 <p> |
268 Public method to get a reference to the current tracker entry. |
265 Public method to get a reference to the current tracker entry. |
269 </p> |
266 </p> |
|
267 |
270 <dl> |
268 <dl> |
271 <dt>Return:</dt> |
269 <dt>Return:</dt> |
272 <dd> |
270 <dd> |
273 reference to the current entry |
271 reference to the current entry |
274 </dd> |
272 </dd> |
332 </dd> |
330 </dd> |
333 </dl> |
331 </dl> |
334 <a NAME="TimeTracker.importTrackerEntries" ID="TimeTracker.importTrackerEntries"></a> |
332 <a NAME="TimeTracker.importTrackerEntries" ID="TimeTracker.importTrackerEntries"></a> |
335 <h4>TimeTracker.importTrackerEntries</h4> |
333 <h4>TimeTracker.importTrackerEntries</h4> |
336 <b>importTrackerEntries</b>(<i>fname</i>) |
334 <b>importTrackerEntries</b>(<i>fname</i>) |
337 |
|
338 <p> |
335 <p> |
339 Public slot to import tracker entries from a file. |
336 Public slot to import tracker entries from a file. |
340 </p> |
337 </p> |
|
338 |
341 <dl> |
339 <dl> |
342 |
340 |
343 <dt><i>fname</i> (str)</dt> |
341 <dt><i>fname</i> (str)</dt> |
344 <dd> |
342 <dd> |
345 name of the file to import |
343 name of the file to import |
346 </dd> |
344 </dd> |
347 </dl> |
345 </dl> |
348 <a NAME="TimeTracker.mergeDuplicateTrackerEntries" ID="TimeTracker.mergeDuplicateTrackerEntries"></a> |
346 <a NAME="TimeTracker.mergeDuplicateTrackerEntries" ID="TimeTracker.mergeDuplicateTrackerEntries"></a> |
349 <h4>TimeTracker.mergeDuplicateTrackerEntries</h4> |
347 <h4>TimeTracker.mergeDuplicateTrackerEntries</h4> |
350 <b>mergeDuplicateTrackerEntries</b>(<i></i>) |
348 <b>mergeDuplicateTrackerEntries</b>(<i></i>) |
351 |
|
352 <p> |
349 <p> |
353 Public slot to merge duplicate time tracker entries. |
350 Public slot to merge duplicate time tracker entries. |
354 </p> |
351 </p> |
355 <p> |
352 <p> |
356 If entries with the identical start date and time are found, the |
353 If entries with the identical start date and time are found, the |
357 durations of these entries are added. |
354 durations of these entries are added. |
358 </p> |
355 </p> |
|
356 |
359 <a NAME="TimeTracker.pauseTrackerEntry" ID="TimeTracker.pauseTrackerEntry"></a> |
357 <a NAME="TimeTracker.pauseTrackerEntry" ID="TimeTracker.pauseTrackerEntry"></a> |
360 <h4>TimeTracker.pauseTrackerEntry</h4> |
358 <h4>TimeTracker.pauseTrackerEntry</h4> |
361 <b>pauseTrackerEntry</b>(<i></i>) |
359 <b>pauseTrackerEntry</b>(<i></i>) |
362 |
|
363 <p> |
360 <p> |
364 Public method to pause the current tracker entry. |
361 Public method to pause the current tracker entry. |
365 </p> |
362 </p> |
|
363 |
366 <a NAME="TimeTracker.projectClosed" ID="TimeTracker.projectClosed"></a> |
364 <a NAME="TimeTracker.projectClosed" ID="TimeTracker.projectClosed"></a> |
367 <h4>TimeTracker.projectClosed</h4> |
365 <h4>TimeTracker.projectClosed</h4> |
368 <b>projectClosed</b>(<i></i>) |
366 <b>projectClosed</b>(<i></i>) |
369 |
|
370 <p> |
367 <p> |
371 Public slot to handle the projectClosed signal. |
368 Public slot to handle the projectClosed signal. |
372 </p> |
369 </p> |
|
370 |
373 <a NAME="TimeTracker.projectOpened" ID="TimeTracker.projectOpened"></a> |
371 <a NAME="TimeTracker.projectOpened" ID="TimeTracker.projectOpened"></a> |
374 <h4>TimeTracker.projectOpened</h4> |
372 <h4>TimeTracker.projectOpened</h4> |
375 <b>projectOpened</b>(<i></i>) |
373 <b>projectOpened</b>(<i></i>) |
376 |
|
377 <p> |
374 <p> |
378 Public slot to handle the projectOpened signal. |
375 Public slot to handle the projectOpened signal. |
379 </p> |
376 </p> |
|
377 |
380 <a NAME="TimeTracker.removeDuplicateTrackerEntries" ID="TimeTracker.removeDuplicateTrackerEntries"></a> |
378 <a NAME="TimeTracker.removeDuplicateTrackerEntries" ID="TimeTracker.removeDuplicateTrackerEntries"></a> |
381 <h4>TimeTracker.removeDuplicateTrackerEntries</h4> |
379 <h4>TimeTracker.removeDuplicateTrackerEntries</h4> |
382 <b>removeDuplicateTrackerEntries</b>(<i></i>) |
380 <b>removeDuplicateTrackerEntries</b>(<i></i>) |
383 |
|
384 <p> |
381 <p> |
385 Public slot to remove duplicate time tracker entries. |
382 Public slot to remove duplicate time tracker entries. |
386 </p> |
383 </p> |
387 <p> |
384 <p> |
388 If entries with the identical start date and time are found, the one |
385 If entries with the identical start date and time are found, the one |
389 with the longest duration is kept. |
386 with the longest duration is kept. |
390 </p> |
387 </p> |
|
388 |
391 <a NAME="TimeTracker.saveTrackerEntries" ID="TimeTracker.saveTrackerEntries"></a> |
389 <a NAME="TimeTracker.saveTrackerEntries" ID="TimeTracker.saveTrackerEntries"></a> |
392 <h4>TimeTracker.saveTrackerEntries</h4> |
390 <h4>TimeTracker.saveTrackerEntries</h4> |
393 <b>saveTrackerEntries</b>(<i>filePath="", ids=None</i>) |
391 <b>saveTrackerEntries</b>(<i>filePath="", ids=None</i>) |
394 |
|
395 <p> |
392 <p> |
396 Public slot to save the tracker entries to a file. |
393 Public slot to save the tracker entries to a file. |
397 </p> |
394 </p> |
|
395 |
398 <dl> |
396 <dl> |
399 |
397 |
400 <dt><i>filePath</i> (str)</dt> |
398 <dt><i>filePath</i> (str)</dt> |
401 <dd> |
399 <dd> |
402 path and name of the file to write the entries to |
400 path and name of the file to write the entries to |
407 </dd> |
405 </dd> |
408 </dl> |
406 </dl> |
409 <a NAME="TimeTracker.startTrackerEntry" ID="TimeTracker.startTrackerEntry"></a> |
407 <a NAME="TimeTracker.startTrackerEntry" ID="TimeTracker.startTrackerEntry"></a> |
410 <h4>TimeTracker.startTrackerEntry</h4> |
408 <h4>TimeTracker.startTrackerEntry</h4> |
411 <b>startTrackerEntry</b>(<i></i>) |
409 <b>startTrackerEntry</b>(<i></i>) |
412 |
|
413 <p> |
410 <p> |
414 Public method to start a new tracker entry. |
411 Public method to start a new tracker entry. |
415 </p> |
412 </p> |
|
413 |
416 <a NAME="TimeTracker.stopTrackerEntry" ID="TimeTracker.stopTrackerEntry"></a> |
414 <a NAME="TimeTracker.stopTrackerEntry" ID="TimeTracker.stopTrackerEntry"></a> |
417 <h4>TimeTracker.stopTrackerEntry</h4> |
415 <h4>TimeTracker.stopTrackerEntry</h4> |
418 <b>stopTrackerEntry</b>(<i></i>) |
416 <b>stopTrackerEntry</b>(<i></i>) |
419 |
|
420 <p> |
417 <p> |
421 Public method to stop the current tracker entry. |
418 Public method to stop the current tracker entry. |
422 </p> |
419 </p> |
|
420 |
423 <dl> |
421 <dl> |
424 <dt>Return:</dt> |
422 <dt>Return:</dt> |
425 <dd> |
423 <dd> |
426 tuple of the ID assigned to the stopped tracker entry and |
424 tuple of the ID assigned to the stopped tracker entry and |
427 the duration |
425 the duration |