summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/changelog2
-rw-r--r--core/pim/today/plugins/datebook/datebook.pro5
-rw-r--r--core/pim/today/plugins/datebook/datebookevent.cpp28
-rw-r--r--core/pim/today/plugins/datebook/datebookevent.h1
-rw-r--r--core/pim/today/plugins/datebook/datebookpluginwidget.cpp5
5 files changed, 15 insertions, 26 deletions
diff --git a/core/pim/today/changelog b/core/pim/today/changelog
index eb2496a..93abdcb 100644
--- a/core/pim/today/changelog
+++ b/core/pim/today/changelog
@@ -1,27 +1,29 @@
10.5.2 10.5.2
2 2
3* refresh settings 3* refresh settings
4* only launch datebook config when clicked on a date ( opie only )
5* less qcop trouble on sharps retail rom
4 6
50.5.1 70.5.1
6 8
7* icons scalable and clickable again 9* icons scalable and clickable again
8 10
90.5 110.5
10 12
11* now fully plugin based 13* now fully plugin based
12 14
130.3.4 150.3.4
14 16
15* "fill our business card now a clickable label" 17* "fill our business card now a clickable label"
16* Several bugfixes regarding todo section. 18* Several bugfixes regarding todo section.
17 19
180.3.3 200.3.3
19 21
20* Changed the logo so it better scales to bigger display and also 22* Changed the logo so it better scales to bigger display and also
21 made the "Today" string translatable. 23 made the "Today" string translatable.
22* some am/pm fixes 24* some am/pm fixes
23* clickable labels now in libopie 25* clickable labels now in libopie
24 26
250.3.2 270.3.2
26 28
27* Autostart is now more configurable. You can decide how long 29* Autostart is now more configurable. You can decide how long
diff --git a/core/pim/today/plugins/datebook/datebook.pro b/core/pim/today/plugins/datebook/datebook.pro
index 615059a..0bbdb77 100644
--- a/core/pim/today/plugins/datebook/datebook.pro
+++ b/core/pim/today/plugins/datebook/datebook.pro
@@ -1,19 +1,18 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt debug 3CONFIG += qt release
4
5# Input 4# Input
6HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \ 5HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \
7 datebookevent.h datebookpluginwidget.h 6 datebookevent.h datebookpluginwidget.h
8SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \ 7SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \
9 datebookevent.cpp datebookpluginwidget.cpp 8 datebookevent.cpp datebookpluginwidget.cpp
10 9
11INCLUDEPATH += $(OPIEDIR)/include \ 10INCLUDEPATH += $(OPIEDIR)/include \
12 ../ ../library 11 ../ ../library
13DEPENDPATH += $(OPIEDIR)/include \ 12DEPENDPATH += $(OPIEDIR)/include \
14 ../ ../library 13 ../ ../library
15 14
16LIBS+= -lqpe -lopie 15LIBS+= -lqpe -lopie
17 16
18DESTDIR = $(OPIEDIR)/plugins/today 17DESTDIR = $(OPIEDIR)/plugins/today
19TARGET = todaydatebookplugin \ No newline at end of file 18TARGET = todaydatebookplugin \ No newline at end of file
diff --git a/core/pim/today/plugins/datebook/datebookevent.cpp b/core/pim/today/plugins/datebook/datebookevent.cpp
index c37813b..0a0d186 100644
--- a/core/pim/today/plugins/datebook/datebookevent.cpp
+++ b/core/pim/today/plugins/datebook/datebookevent.cpp
@@ -1,122 +1,116 @@
1/* 1/*
2 * datebookevent.cpp 2 * datebookevent.cpp
3 * 3 *
4 * copyright : (c) 2002 by Maximilian Reiß 4 * copyright : (c) 2002 by Maximilian Reiß
5 * email : harlekin@handhelds.org 5 * email : harlekin@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#include "datebookevent.h" 17#include "datebookevent.h"
18#include <qpe/config.h> 18#include <qpe/config.h>
19#include <qpe/timestring.h> 19#include <qpe/timestring.h>
20#include <qpe/qcopenvelope_qws.h> 20#include <qpe/qcopenvelope_qws.h>
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22 22
23#include <opie/odevice.h>
24
25using namespace Opie;
26
23DateBookEvent::DateBookEvent(const EffectiveEvent &ev, 27DateBookEvent::DateBookEvent(const EffectiveEvent &ev,
24 QWidget* parent, 28 QWidget* parent,
25 bool show_location, 29 bool show_location,
26 bool show_notes, 30 bool show_notes,
27 int maxCharClip, 31 int maxCharClip,
28 const char* name, 32 const char* name,
29 WFlags fl) : 33 WFlags fl) :
30 OClickableLabel(parent,name,fl), event(ev) { 34 OClickableLabel(parent,name,fl), event(ev) {
31 35
32 setAlignment( AlignTop ); 36 setAlignment( AlignTop );
33 37
34 QString msg; 38 QString msg;
35 39
36 Config config( "qpe" ); 40 Config config( "qpe" );
37 config.setGroup( "Time" ); 41 config.setGroup( "Time" );
38 // if 24 h format 42 // if 24 h format
39 ampm = config.readBoolEntry( "AMPM", TRUE ); 43 ampm = config.readBoolEntry( "AMPM", TRUE );
40 44
41 msg += "<B>" + (ev).description() + "</B>"; 45 msg += "<B>" + (ev).description() + "</B>";
42 if ( (ev).event().hasAlarm() ) { 46 if ( (ev).event().hasAlarm() ) {
43 msg += " <b>[with alarm]</b>"; 47 msg += " <b>[with alarm]</b>";
44 } 48 }
45 49
46 // include location or not 50 // include location or not
47 if ( show_location ) { 51 if ( show_location ) {
48 msg += "<BR><i>" + (ev).location() + "</i>"; 52 msg += "<BR><i>" + (ev).location() + "</i>";
49 } 53 }
50 54
51 if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) 55 if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" )
52 && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { 56 && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) {
53 msg += "<br>All day"; 57 msg += "<br>All day";
54 } else { 58 } else {
55 // start time of event 59 // start time of event
56 msg += "<br>" + ampmTime(QTime( (ev).event().start().time() ) ) 60 msg += "<br>" + ampmTime(QTime( (ev).event().start().time() ) )
57 // end time of event 61 // end time of event
58 + "<b> - </b>" + ampmTime(QTime( (ev).event().end().time() ) ); 62 + "<b> - </b>" + ampmTime(QTime( (ev).event().end().time() ) );
59 } 63 }
60 64
61 // include possible note or not 65 // include possible note or not
62 if ( show_notes ) { 66 if ( show_notes ) {
63 msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); 67 msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip );
64 } 68 }
65
66 setText( msg ); 69 setText( msg );
67 connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); 70 connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) );
68 // setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) );
69} 71}
70 72
71 73
72/** 74/**
73 * AM/PM timestring conversion. 75 * AM/PM timestring conversion.
74 * @param tm the timestring 76 * @param tm the timestring
75 * @return formatted to am/pm is system is set to it 77 * @return formatted to am/pm is system is set to it
76 */ 78 */
77QString DateBookEvent::ampmTime( QTime tm ) { 79QString DateBookEvent::ampmTime( QTime tm ) {
78
79 QString s; 80 QString s;
80 if( ampm ) { 81 if( ampm ) {
81 int hour = tm.hour(); 82 int hour = tm.hour();
82 if ( hour == 0 ) { 83 if ( hour == 0 ) {
83 hour = 12; 84 hour = 12;
84 } 85 }
85 if ( hour > 12 ) { 86 if ( hour > 12 ) {
86 hour -= 12; 87 hour -= 12;
87 } 88 }
88 s.sprintf( "%2d:%02d %s", hour, tm.minute(), 89 s.sprintf( "%2d:%02d %s", hour, tm.minute(),
89 (tm.hour() >= 12) ? "PM" : "AM" ); 90 (tm.hour() >= 12) ? "PM" : "AM" );
90 return s; 91 return s;
91 } else { 92 } else {
92 s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); 93 s.sprintf( "%2d:%02d", tm.hour(), tm.minute() );
93 return s; 94 return s;
94 } 95 }
95
96} 96}
97 97
98 98
99/** 99/**
100 * starts the edit dialog as known from datebook 100 * starts the edit dialog as known from datebook
101 */ 101 */
102void DateBookEvent::editEventSlot( const Event &e ) { 102void DateBookEvent::editEventSlot( const Event &e ) {
103 startDatebook();
104 103
105 while( !QCopChannel::isRegistered( "QPE/Datebook" ) ) qApp->processEvents(); 104 if ( ODevice::inst()->system() == System_Zaurus ) {
106 QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); 105 QCopEnvelope env( "QPE/Application/datebook", "raise()" );
107 env << e.uid(); 106 } else {
107 QCopEnvelope env( "QPE/Datebook", "editEvent(int)" );
108 env << e.uid();
109 }
108} 110}
109 111
110 112
111/**
112 * launches datebook
113 */
114void DateBookEvent::startDatebook() {
115 QCopEnvelope e( "QPE/System", "execute(QString)" );
116 e << QString( "datebook" );
117}
118
119void DateBookEvent::editMe() { 113void DateBookEvent::editMe() {
120 emit editEvent( event.event() ); 114 emit editEvent( event.event() );
121} 115}
122 116
diff --git a/core/pim/today/plugins/datebook/datebookevent.h b/core/pim/today/plugins/datebook/datebookevent.h
index 61c64f1..7b0371a 100644
--- a/core/pim/today/plugins/datebook/datebookevent.h
+++ b/core/pim/today/plugins/datebook/datebookevent.h
@@ -18,32 +18,31 @@
18#define DATEBOOKEVENT_PLUGIN_H 18#define DATEBOOKEVENT_PLUGIN_H
19 19
20#include <opie/oclickablelabel.h> 20#include <opie/oclickablelabel.h>
21#include <qpe/datebookdb.h> 21#include <qpe/datebookdb.h>
22 22
23 23
24class DateBookEvent: public OClickableLabel { 24class DateBookEvent: public OClickableLabel {
25 25
26 Q_OBJECT 26 Q_OBJECT
27 27
28public: 28public:
29 DateBookEvent(const EffectiveEvent &ev, 29 DateBookEvent(const EffectiveEvent &ev,
30 QWidget* parent = 0, 30 QWidget* parent = 0,
31 bool show_location = 0, 31 bool show_location = 0,
32 bool show_notes = 0, 32 bool show_notes = 0,
33 int maxCharClip = 0, 33 int maxCharClip = 0,
34 const char* name = 0, 34 const char* name = 0,
35 WFlags fl = 0); 35 WFlags fl = 0);
36signals: 36signals:
37 void editEvent(const Event &e); 37 void editEvent(const Event &e);
38private slots: 38private slots:
39 void editEventSlot(const Event &e); 39 void editEventSlot(const Event &e);
40 void editMe(); 40 void editMe();
41private: 41private:
42 void startDatebook();
43 DateBookDB *db; 42 DateBookDB *db;
44 QString ampmTime(QTime); 43 QString ampmTime(QTime);
45 const EffectiveEvent event; 44 const EffectiveEvent event;
46 bool ampm; 45 bool ampm;
47}; 46};
48 47
49#endif 48#endif
diff --git a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp
index 7948656..a8ce059 100644
--- a/core/pim/today/plugins/datebook/datebookpluginwidget.cpp
+++ b/core/pim/today/plugins/datebook/datebookpluginwidget.cpp
@@ -86,31 +86,26 @@ void DatebookPluginWidget::getDates() {
86 if ( !m_onlyLater ) { 86 if ( !m_onlyLater ) {
87 count++; 87 count++;
88 DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); 88 DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes );
89 layoutDates->addWidget( l ); 89 layoutDates->addWidget( l );
90 QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); 90 QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) );
91 } else if ( ( time.toString() <= TimeString::dateString( (*it).event().end() ) ) ) { 91 } else if ( ( time.toString() <= TimeString::dateString( (*it).event().end() ) ) ) {
92 count++; 92 count++;
93 // show only later appointments 93 // show only later appointments
94 DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes ); 94 DateBookEvent *l = new DateBookEvent( *it, this, m_show_location, m_show_notes );
95 layoutDates->addWidget( l ); 95 layoutDates->addWidget( l );
96 QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) ); 96 QObject::connect ( l, SIGNAL( editEvent( const Event &) ), l, SLOT( editEventSlot( const Event &) ) );
97 } 97 }
98 } 98 }
99 } 99 }
100 if ( m_onlyLater && count == 0 ) { 100 if ( m_onlyLater && count == 0 ) {
101 QLabel* noMoreEvents = new QLabel( this ); 101 QLabel* noMoreEvents = new QLabel( this );
102 noMoreEvents->setText( QObject::tr( "No more appointments today" ) ); 102 noMoreEvents->setText( QObject::tr( "No more appointments today" ) );
103 layoutDates->addWidget( noMoreEvents ); 103 layoutDates->addWidget( noMoreEvents );
104 } 104 }
105 } else { 105 } else {
106 QLabel* noEvents = new QLabel( this ); 106 QLabel* noEvents = new QLabel( this );
107 noEvents->setText( QObject::tr( "No appointments today" ) ); 107 noEvents->setText( QObject::tr( "No appointments today" ) );
108 layoutDates->addWidget( noEvents ); 108 layoutDates->addWidget( noEvents );
109 } 109 }
110 //layoutDates->addStretch(0);
111// layoutDates->addItem( new QSpacerItem( 1,1, QSizePolicy::Minimum, QSizePolicy::Expanding ) );
112
113 // how often refresh - later have qcop update calls in *db
114 //QTimer::singleShot( 20*1000, this , SLOT( getDates() ) );
115} 110}
116 111