summaryrefslogtreecommitdiff
path: root/core/pim
Side-by-side diff
Diffstat (limited to 'core/pim') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/today/today.cpp60
-rw-r--r--core/pim/today/today.h14
2 files changed, 61 insertions, 13 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index d10082f..1cdc6b4 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -65,15 +65,14 @@ 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();
+ autoStart();
}
void Today::autoStart() {
Config cfg("today");
cfg.setGroup("Autostart");
AUTOSTART = cfg.readNumEntry("autostart",1);
@@ -91,13 +90,13 @@ void Today::autoStart() {
void Today::draw() {
init();
getDates();
getMail();
getTodo();
// how often refresh
- QTimer::singleShot( 30*1000, this, SLOT(draw()) );
+ QTimer::singleShot( 10*1000, this, SLOT(draw() ) );
}
/*
* Check if the todolist.xml was modified (if there are new entries.
* Returns true if it was modified.
@@ -193,60 +192,72 @@ void Today::startConfig() {
cfg.writeEntry("shownotes", notes);
cfg.writeEntry("onlylater", onlylater);
cfg.setGroup("Autostart");
cfg.writeEntry("autostart", autostart);
// sync it to "disk"
cfg.write();
- autoStart();
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( );
QVBoxLayout* layoutDates = new QVBoxLayout(AllDateBookEvents);
- //QTime time = QTime::currentTime();
QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date);
Config config( "qpe" );
// if 24 h format
//bool ampm = config.readBoolEntry( "AMPM", TRUE );
int count=0;
if ( list.count() > 0 ) {
- QString msg;
for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin();
it!=list.end(); ++it ) {
count++;
if ( count <= MAX_LINES_MEET ) {
+ QTime time = QTime::currentTime();
+ if (!ONLY_LATER) {
DateBookEvent *l=new DateBookEvent(*it, AllDateBookEvents);
layoutDates->addWidget(l);
connect (l, SIGNAL(editEvent(const Event &)),
this, SIGNAL(editEvent(const Event &)));
+ } else if ((time.toString() <= TimeString::dateString((*it).event().end())) ) {
+ // 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);
}
-
}
+ }
+ } 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);
- //if (msg.isEmpty()) {
- // msg = tr("No more appointments today");
- //}
- //DatesField->setText(msg);
- }
+
}
/*
* Parse in the todolist.xml
*/
QList<TodoItem> Today::loadTodo(const char *filename) {
@@ -436,13 +447,30 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev,
+ "<b> - </b>" + TimeString::timeString(QTime((ev).event().end().time()) );
}
// include possible note or not
if (SHOW_NOTES == 1) {
msg += "<br> <i>note</i>:" +((ev).notes()).mid(0, MAX_CHAR_CLIP) + "<br>";
}
- } else if ((time.toString() <= TimeString::dateString((ev).event().end())) ) {
+ }
+ setText(msg);
+ connect(this, SIGNAL(clicked()), this, SLOT(editMe()));
+ setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
+}
+
+
+DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev,
+ QWidget* parent = 0,
+ const char* name = 0,
+ WFlags fl = 0) :
+ ClickableLabel(parent,name,fl), event(ev) {
+
+ QString msg;
+ QTime time = QTime::currentTime();
+
+ if ((time.toString() <= TimeString::dateString((ev).event().end())) ) {
+ // show only later appointments
msg += "<B>" + (ev).description() + "</B>";
if ( (ev).event().hasAlarm() ) {
msg += " <b>[with alarm]</b>";
}
// include location or not
if (SHOW_LOCATION == 1) {
@@ -461,17 +489,23 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev,
// include possible note or not
if (SHOW_NOTES == 1) {
msg += "<br> <i>note</i>:" +((ev).notes()).mid(0, MAX_CHAR_CLIP) + "<br>";
}
}
+ // if (msg.isEmpty()) {
+ // msg = tr("No more appointments today");
+ // }
setText(msg);
connect(this, SIGNAL(clicked()), this, SLOT(editMe()));
setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
}
void DateBookEvent::editMe() {
emit editEvent(event.event());
}
+void DateBookEventLater::editMe() {
+ emit editEvent(event.event());
+}
diff --git a/core/pim/today/today.h b/core/pim/today/today.h
index 0a0837c..b3f0654 100644
--- a/core/pim/today/today.h
+++ b/core/pim/today/today.h
@@ -77,8 +77,22 @@ signals:
private slots:
void editMe();
private:
const EffectiveEvent event;
};
+class DateBookEventLater: public ClickableLabel {
+ Q_OBJECT
+public:
+ DateBookEventLater(const EffectiveEvent &ev,
+ QWidget* parent = 0, const char* name = 0,
+ WFlags fl = 0);
+signals:
+ void editEvent(const Event &e);
+private slots:
+ void editMe();
+private:
+ const EffectiveEvent event;
+};
+
#endif // TODAY_H