summaryrefslogtreecommitdiff
path: root/core/pim/today/today.cpp
authorharlekin <harlekin>2002-03-08 23:41:05 (UTC)
committer harlekin <harlekin>2002-03-08 23:41:05 (UTC)
commitbc79d3f4a7503c4298a5396b80c65a3e268f4be3 (patch) (unidiff)
treeba27d1565f91458241a792091539683148086b2e /core/pim/today/today.cpp
parent432eeb6cedecc0ee4dff3654803c18ebbac1f4d7 (diff)
downloadopie-bc79d3f4a7503c4298a5396b80c65a3e268f4be3.zip
opie-bc79d3f4a7503c4298a5396b80c65a3e268f4be3.tar.gz
opie-bc79d3f4a7503c4298a5396b80c65a3e268f4be3.tar.bz2
check before parse
Diffstat (limited to 'core/pim/today/today.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/today.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index af1d4e4..d715fc1 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -29,29 +29,31 @@
29#include <qpe/resource.h> 29#include <qpe/resource.h>
30 30
31#include <qdir.h> 31#include <qdir.h>
32#include <qfile.h> 32#include <qfile.h>
33#include <qdatetime.h> 33#include <qdatetime.h>
34#include <qtextstream.h> 34#include <qtextstream.h>
35#include <qcheckbox.h> 35#include <qcheckbox.h>
36#include <qspinbox.h> 36#include <qspinbox.h>
37#include <qpushbutton.h> 37#include <qpushbutton.h>
38#include <qlabel.h> 38#include <qlabel.h>
39#include <qtimer.h> 39#include <qtimer.h>
40#include <qpixmap.h> 40#include <qpixmap.h>
41#include <qfileinfo.h>
41 42
42//#include <iostream.h> 43//#include <iostream.h>
43//#include <unistd.h> 44//#include <unistd.h>
44#include <stdlib.h> 45#include <stdlib.h>
45 46
47
46int MAX_LINES_TASK; 48int MAX_LINES_TASK;
47int MAX_CHAR_CLIP; 49int MAX_CHAR_CLIP;
48int MAX_LINES_MEET; 50int MAX_LINES_MEET;
49int SHOW_LOCATION; 51int SHOW_LOCATION;
50int SHOW_NOTES; 52int SHOW_NOTES;
51// show only later dates 53// show only later dates
52int ONLY_LATER; 54int ONLY_LATER;
53int AUTOSTART; 55int AUTOSTART;
54/* 56/*
55 * Constructs a Example which is a child of 'parent', with the 57 * Constructs a Example which is a child of 'parent', with the
56 * name 'name' and widget flags set to 'f' 58 * name 'name' and widget flags set to 'f'
57 */ 59 */
@@ -80,27 +82,54 @@ void Today::autoStart() {
80 QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); 82 QCopEnvelope e("QPE/System", "autoStart(QString,QString)");
81 e << QString("remove"); 83 e << QString("remove");
82 e << QString("today"); 84 e << QString("today");
83 } 85 }
84} 86}
85 87
86void Today::draw() { 88void Today::draw() {
87 init(); 89 init();
88 getDates(); 90 getDates();
89 getMail(); 91 getMail();
90 getTodo(); 92 getTodo();
91 // how often refresh 93 // how often refresh
92 QTimer::singleShot( 5*1000, this, SLOT(draw()) ); 94 QTimer::singleShot( 30*1000, this, SLOT(draw()) );
95}
96
97
98/*
99 * Check if the todolist.xml was modified (if there are new entries.
100 * Returns true if it was modified.
101 */
102bool Today::checkIfModified() {
103
104 QDir dir;
105 QString homedir = dir.homeDirPath ();
106 QString time;
107
108 Config cfg("today");
109 cfg.setGroup("Files");
110 time = cfg.readEntry("todolisttimestamp", "");
111
112 QFileInfo file = (homedir +"/Applications/todolist/todolist.xml");
113 QDateTime fileTime = file.lastModified();
114 if (time.compare(fileTime.toString()) == 0) {
115 return false;
116 } else {
117 cfg.writeEntry("todolisttimestamp", fileTime.toString() );
118 cfg.write();
119 return true;
120 }
93} 121}
94 122
123
95void Today::init() { 124void Today::init() {
96 QDate date = QDate::currentDate(); 125 QDate date = QDate::currentDate();
97 QString time = (tr( date.toString()) ); 126 QString time = (tr( date.toString()) );
98// QString time = (tr( date.toString()) , white); 127// QString time = (tr( date.toString()) , white);
99 128
100 TextLabel1->setText(time); 129 TextLabel1->setText(time);
101 db = new DateBookDB; 130 db = new DateBookDB;
102 131
103 // read config 132 // read config
104 Config cfg("today"); 133 Config cfg("today");
105 cfg.setGroup("BaseConfig"); 134 cfg.setGroup("BaseConfig");
106 135
@@ -331,24 +360,30 @@ void Today::getMail() {
331 QString output = tr("<b>%1</b> new mail(s), <b>%2</b> outgoing").arg(NEW_MAILS).arg(OUTGOING); 360 QString output = tr("<b>%1</b> new mail(s), <b>%2</b> outgoing").arg(NEW_MAILS).arg(OUTGOING);
332 361
333 362
334 MailField->setText(output); 363 MailField->setText(output);
335} 364}
336 365
337 366
338/* 367/*
339 * Get the todos 368 * Get the todos
340 * 369 *
341 */ 370 */
342void Today::getTodo() { 371void Today::getTodo() {
372
373 // if the todolist.xml file was not modified in between, do not parse it.
374 if (!checkIfModified()) {
375 return;
376 }
377
343 QString output; 378 QString output;
344 QString tmpout; 379 QString tmpout;
345 int count = 0; 380 int count = 0;
346 381
347 QDir dir; 382 QDir dir;
348 QString homedir = dir.homeDirPath (); 383 QString homedir = dir.homeDirPath ();
349 // see if todolist.xml does exist. 384 // see if todolist.xml does exist.
350 QFile f(homedir +"/Applications/todolist/todolist.xml"); 385 QFile f(homedir +"/Applications/todolist/todolist.xml");
351 if ( f.exists() ) { 386 if ( f.exists() ) {
352 QList<TodoItem> todolist = loadTodo(homedir +"/Applications/todolist/todolist.xml"); 387 QList<TodoItem> todolist = loadTodo(homedir +"/Applications/todolist/todolist.xml");
353 388
354 TodoItem *item; 389 TodoItem *item;