summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/today/changelog7
-rw-r--r--core/pim/today/opie-today.control2
-rw-r--r--core/pim/today/today.cpp37
-rw-r--r--core/pim/today/today.h1
4 files changed, 45 insertions, 2 deletions
diff --git a/core/pim/today/changelog b/core/pim/today/changelog
index 692c0dc..7111154 100644
--- a/core/pim/today/changelog
+++ b/core/pim/today/changelog
@@ -1,6 +1,13 @@
10.2.7
2
3* check if todolist.xml was changed before parsing it
4* check only every 30 sec for changes.
5* some visual stuff
6* as usual many little improvements .-)
7
10.2.6 80.2.6
2 9
3* added scrollbars to dates and todo 10* added scrollbars to dates and todo
4* all day detection 11* all day detection
5* some smaller bugfixes 12* some smaller bugfixes
6 13
diff --git a/core/pim/today/opie-today.control b/core/pim/today/opie-today.control
index f16ddfb..4c0a1c0 100644
--- a/core/pim/today/opie-today.control
+++ b/core/pim/today/opie-today.control
@@ -1,10 +1,10 @@
1Files: bin/today apps/Applications/today.desktop pics/today_icon.png pics/today/today_logo.png pics/today/config.png pics/today/mail.png 1Files: bin/today apps/Applications/today.desktop pics/today_icon.png pics/today/today_logo.png pics/today/config.png pics/today/mail.png
2Priority: optional 2Priority: optional
3Section: opie/applications 3Section: opie/applications
4Maintainer: Maximilian Reiß <max.reiss@gmx.de> 4Maintainer: Maximilian Reiß <max.reiss@gmx.de>
5Architecture: arm 5Architecture: arm
6Version: 0.2.6 6Version: 0.2.7
7Depends: opie-base ($QPE_VERSION) 7Depends: opie-base ($QPE_VERSION)
8License: GPL 8License: GPL
9Description: today screen 9Description: today screen
10 A short overview over current appointments and tasks. 10 A short overview over current appointments and tasks.
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
@@ -35,17 +35,19 @@
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
@@ -86,15 +88,42 @@ void Today::autoStart() {
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()) );
93} 95}
94 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 }
121}
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);
@@ -337,12 +366,18 @@ void Today::getMail() {
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 ();
diff --git a/core/pim/today/today.h b/core/pim/today/today.h
index 07bfd61..b3b7d01 100644
--- a/core/pim/today/today.h
+++ b/core/pim/today/today.h
@@ -46,12 +46,13 @@ class Today : public TodayBase
46 private: 46 private:
47 void init(); 47 void init();
48 void getDates(); 48 void getDates();
49 void getTodo(); 49 void getTodo();
50 void getMail(); 50 void getMail();
51 void autoStart(); 51 void autoStart();
52 bool checkIfModified();
52 QList<TodoItem> loadTodo(const char *filename); 53 QList<TodoItem> loadTodo(const char *filename);
53 private: 54 private:
54 DateBookDB *db; 55 DateBookDB *db;
55 todayconfig *conf; 56 todayconfig *conf;
56 //Config cfg; 57 //Config cfg;
57 int MAX_LINES_TASK; 58 int MAX_LINES_TASK;