-rw-r--r-- | core/pim/today/today.cpp | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 6a0e9fc..0fa7ad5 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp @@ -41,53 +41,71 @@ //#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; +int AUTOSTART; /* * 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*)MailButton, SIGNAL( clicked() ), this, SLOT(startMail() ) ); + + autoStart(); draw(); } +void Today::autoStart() { + Config cfg("today"); + cfg.setGroup("Autostart"); + AUTOSTART = cfg.readNumEntry("autostart",1); + if (AUTOSTART) { + QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); + e << QString("add"); + e << QString("today"); + } else { + QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); + e << QString("remove"); + e << QString("today"); + } +} + void Today::draw() { init(); getDates(); getMail(); getTodo(); // how often refresh QTimer::singleShot( 5*1000, this, SLOT(draw()) ); } void Today::init() { QDate date = QDate::currentDate(); - QString time = (date.toString()); + QString time = (tr( date.toString() ), white); - TextLabel1->setText("<qt><font color=white>" +time + "<font></qt>"); + TextLabel1->setText(time); db = new DateBookDB; // 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 MAX_LINES_MEET = cfg.readNumEntry("maxlinesmeet",5); @@ -114,42 +132,47 @@ void Today::startConfig() { conf->SpinBox1->setValue(MAX_LINES_MEET); // location show box conf->CheckBox1->setChecked(SHOW_LOCATION); // notes show box conf->CheckBox2->setChecked(SHOW_NOTES); // task lines conf->SpinBox2->setValue(MAX_LINES_TASK); // clip when? conf->SpinBox7->setValue(MAX_CHAR_CLIP); // only later conf->CheckBox3->setChecked(ONLY_LATER); + conf->CheckBoxAuto->setChecked(AUTOSTART); + conf->exec(); int maxlinestask = conf->SpinBox2->value(); int maxmeet = conf->SpinBox1->value(); int location = conf->CheckBox1->isChecked(); int notes = conf->CheckBox2->isChecked(); int maxcharclip = conf->SpinBox7->value(); int onlylater = conf->CheckBox3->isChecked(); - + int autostart =conf->CheckBoxAuto->isChecked(); + cfg.writeEntry("maxlinestask",maxlinestask); cfg.writeEntry("maxcharclip", maxcharclip); cfg.writeEntry("maxlinesmeet",maxmeet); cfg.writeEntry("showlocation",location); cfg.writeEntry("shownotes", notes); cfg.writeEntry("onlylater", onlylater); + cfg.setGroup("Autostart"); + cfg.writeEntry("autostart", autostart); // sync it to "disk" cfg.write(); - + autoStart(); 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); @@ -215,25 +238,25 @@ void Today::getDates() { // end time of event + "<b> - </b>" + TimeString::timeString(QTime((*it).event().end().time()) ); } msg += "<BR>"; // include possible note or not if (SHOW_NOTES == 1) { msg += " <i>note</i>:" +((*it).notes()).mid(0, MAX_CHAR_CLIP) + "<br>"; } } } } if (msg.isEmpty()) { - msg = "No more appointments today"; + msg = tr("No more appointments today"); } DatesField->setText(msg); } } /* * Parse in the todolist.xml */ QList<TodoItem> Today::loadTodo(const char *filename) { DOM *todo; ELE *tasks; ELE **tasklist; @@ -331,34 +354,34 @@ void Today::getTodo() { for( item = todolist.first(); item; item = todolist.next()) { if (!(item->getCompleted() == 1) ) { count++; if (count <= MAX_LINES_TASK) { tmpout += "<b>- </b>" + QString(((item)->getDescription().mid(0, MAX_CHAR_CLIP) + ("<br>"))); } } } } if (count > 0) { if( count == 1 ) { - output = QString("There is <b> 1</b> active task: <br>" ); + output = tr("There is <b> 1</b> active task: <br>" ); } else { - output = QString("There are <b> %1</b> active tasks: <br>").arg(count); + output = tr("There are <b> %1</b> active tasks: <br>").arg(count); } output += tmpout; } else { - output = ("No active tasks"); + output = tr("No active tasks"); } - TodoField->setText(output); + TodoField->setText(tr(output)); } /* * launches datebook */ void Today::startDatebook() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("datebook"); } /* * launches todolist |