-rw-r--r-- | core/pim/today/today.cpp | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 00a8842..eb8b50c 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp @@ -26,57 +26,67 @@ #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/qprocess.h> #include <qdir.h> #include <qfile.h> #include <qdatetime.h> #include <qtextstream.h> #include <qcheckbox.h> #include <qspinbox.h> #include <qpushbutton.h> #include <qlabel.h> +#include <qtimer.h> //#include <iostream.h> //#include <unistd.h> #include <stdlib.h> int MAX_LINES_TASK; int MAX_CHAR_CLIP; int MAX_LINES_MEET; int SHOW_LOCATION; int SHOW_NOTES; // show only later dates int ONLY_LATER = 1; /* * Constructs a Example which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ Today::Today( QWidget* parent, const char* name, WFlags fl ) : TodayBase( parent, name, fl ) { QObject::connect( (QObject*)PushButton1, SIGNAL( clicked() ), this, SLOT(startConfig() ) ); QObject::connect( (QObject*)TodoButton, SIGNAL( clicked() ), this, SLOT(startTodo() ) ); QObject::connect( (QObject*)DatesButton, SIGNAL( clicked() ), this, SLOT(startDatebook() ) ); + QObject::connect( (QObject*)DatesButton, SIGNAL( clicked() ), this, SLOT(startMail() ) ); QDate date = QDate::currentDate(); QString time = (date.toString()); TextLabel1->setText(time); db = new DateBookDB; + draw(); +} + + +void Today::draw() +{ init(); getDates(); + getMail(); getTodo(); -} + QTimer::singleShot( 60*1000, this, SLOT(draw()) ); +} void Today::init() { // read config Config cfg("today"); cfg.setGroup("BaseConfig"); // how many lines should be showed in the task section MAX_LINES_TASK = cfg.readNumEntry("maxlinestask",5); // after how many chars should the be cut off on tasks and notes MAX_CHAR_CLIP = cfg.readNumEntry("maxcharclip",30); // how many lines should be showed in the datebook section @@ -117,28 +127,25 @@ void Today::startConfig() int location = conf->CheckBox1->isChecked(); int notes = conf->CheckBox2->isChecked(); int maxcharclip = conf->SpinBox7->value(); cfg.writeEntry("maxlinestask",maxlinestask); cfg.writeEntry("maxcharclip", maxcharclip); cfg.writeEntry("maxlinesmeet",maxmeet); cfg.writeEntry("showlocation",location); cfg.writeEntry("shownotes", notes); // sync it to "disk" cfg.write(); - init(); - getDates(); - getTodo(); - //cout << location << endl; + draw(); } /* * Get all events that are in the datebook xml file for today */ void Today::getDates() { QDate date = QDate::currentDate(); QTime time = QTime::currentTime(); QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date); @@ -253,24 +260,40 @@ QList<TodoItem> Today::loadTodo(const char *filename) loadtodolist.append(tmp); } i++; } } minidom_free(todo); return loadtodolist; } +void Today::getMail() +{ + Config cfg("opiemail"); + cfg.setGroup("today"); + + // how many lines should be showed in the task section + int NEW_MAILS = cfg.readNumEntry("newmails",0); + int OUTGOING = cfg.readNumEntry("outgoing",0); + + QString output = tr("<b>%1</b> new mails, <b>%2</b> outgoing").arg(NEW_MAILS).arg(OUTGOING); + + + MailField->setText(output); +} + + /* * Get the todos * */ void Today::getTodo() { QString output; QString tmpout; int count = 0; QDir dir; QString homedir = dir.homeDirPath (); @@ -299,36 +322,45 @@ void Today::getTodo() output = QString("There are <b> %1</b> active tasks: <br>").arg(count); output += tmpout; } else { output = ("No active tasks"); } TodoField->setText(output); } /* - * lanches datebook + * launches datebook */ void Today::startDatebook() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("datebook"); } /* - * lanches todolist + * launches todolist */ void Today::startTodo() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("todolist"); } /* + * launch opiemail + */ +void Today::startMail() +{ + QCopEnvelope e("QPE/System", "execute(QString)"); + e << QString("opiemail"); +} + +/* * Destroys the object and frees any allocated resources */ Today::~Today() { // no need to delete child widgets, Qt does it all for us } |