summaryrefslogtreecommitdiff
path: root/core/pim/today/today.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/today/today.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/today/today.cpp46
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
}