author | harlekin <harlekin> | 2002-03-13 00:03:08 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-03-13 00:03:08 (UTC) |
commit | 8e9330a8626076a3dd289a1abbe218eccd3a1784 (patch) (side-by-side diff) | |
tree | 458506d9a708cf47c49268f8336b9ce7a7fafedd /core/pim/today/today.cpp | |
parent | ffa1d178f1daedafe801183c8a41a06023423713 (diff) | |
download | opie-8e9330a8626076a3dd289a1abbe218eccd3a1784.zip opie-8e9330a8626076a3dd289a1abbe218eccd3a1784.tar.gz opie-8e9330a8626076a3dd289a1abbe218eccd3a1784.tar.bz2 |
many bugfixes, should work right now again, also now the dates are allways in the right order, at least i hope so
-rw-r--r-- | core/pim/today/today.cpp | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 1cdc6b4..81d4d36 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp @@ -37,19 +37,18 @@ #include <qpushbutton.h> #include <qlabel.h> #include <qtimer.h> #include <qpixmap.h> #include <qfileinfo.h> #include <qlayout.h> +#include <qtl.h> //#include <iostream.h> -//#include <unistd.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 @@ -59,13 +58,13 @@ int AUTOSTART; int NEW_START=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 ) { + : TodayBase( parent, name, fl ), AllDateBookEvents(NULL) { 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() ) ); draw(); @@ -192,70 +191,80 @@ void Today::startConfig() { cfg.writeEntry("shownotes", notes); cfg.writeEntry("onlylater", onlylater); cfg.setGroup("Autostart"); cfg.writeEntry("autostart", autostart); // sync it to "disk" cfg.write(); + NEW_START=1; draw(); autoStart(); } /* * Get all events that are in the datebook xml file for today */ void Today::getDates() { QDate date = QDate::currentDate(); - QWidget* AllDateBookEvents = new QWidget( ); + + if (AllDateBookEvents) delete AllDateBookEvents; + AllDateBookEvents = new QWidget( ); QVBoxLayout* layoutDates = new QVBoxLayout(AllDateBookEvents); QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date); + qBubbleSort(list); + // printf("Get dates\n"); + Config config( "qpe" ); // if 24 h format //bool ampm = config.readBoolEntry( "AMPM", TRUE ); int count=0; if ( list.count() > 0 ) { for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { - count++; if ( count <= MAX_LINES_MEET ) { QTime time = QTime::currentTime(); if (!ONLY_LATER) { + count++; DateBookEvent *l=new DateBookEvent(*it, AllDateBookEvents); layoutDates->addWidget(l); connect (l, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); + this, SLOT(editEvent(const Event &))); } else if ((time.toString() <= TimeString::dateString((*it).event().end())) ) { + count++; + // show only later appointments DateBookEventLater *l=new DateBookEventLater(*it, AllDateBookEvents); layoutDates->addWidget(l); connect (l, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); - } else { - QLabel* noMoreEvents = new QLabel(AllDateBookEvents); - noMoreEvents->setText("No more appointments today"); - layoutDates->addWidget(noMoreEvents); - } + this, SLOT(editEvent(const Event &))); + } } + } + if (ONLY_LATER && count==0) { + QLabel* noMoreEvents = new QLabel(AllDateBookEvents); + noMoreEvents->setText("No more appointments today"); + layoutDates->addWidget(noMoreEvents); } } else { QLabel* noEvents = new QLabel(AllDateBookEvents); noEvents->setText("No appointments today"); layoutDates->addWidget(noEvents); } layoutDates->addItem(new QSpacerItem(1,1, QSizePolicy::Minimum, QSizePolicy::Expanding)); sv1->addChild(AllDateBookEvents); + AllDateBookEvents->show(); } /* * Parse in the todolist.xml @@ -390,12 +399,22 @@ void Today::getTodo() { * launches datebook */ void Today::startDatebook() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("datebook"); } +void Today::editEvent(const Event &e) { + startDatebook(); + + //Dissabled for now as uid's not working properly + /* + while(!QCopChannel::isRegistered("QPE/Datebook")) sleep(1); + QCopEnvelope env("QPE/Datebook", "editEvent(int)"); + env << e.uid(); + */ +} /* * launches todolist */ void Today::startTodo() { QCopEnvelope e("QPE/System", "execute(QString)"); |