-rw-r--r-- | core/pim/today/changelog | 2 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebook.pro | 5 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebookevent.cpp | 28 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebookevent.h | 1 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebookpluginwidget.cpp | 5 |
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 @@ | |||
1 | 0.5.2 | 1 | 0.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 | ||
5 | 0.5.1 | 7 | 0.5.1 |
6 | 8 | ||
7 | * icons scalable and clickable again | 9 | * icons scalable and clickable again |
8 | 10 | ||
9 | 0.5 | 11 | 0.5 |
10 | 12 | ||
11 | * now fully plugin based | 13 | * now fully plugin based |
12 | 14 | ||
13 | 0.3.4 | 15 | 0.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 | ||
18 | 0.3.3 | 20 | 0.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 | ||
25 | 0.3.2 | 27 | 0.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 @@ | |||
1 | TEMPLATE = lib | 1 | TEMPLATE = lib |
2 | CONFIG -= moc | 2 | CONFIG -= moc |
3 | CONFIG += qt debug | 3 | CONFIG += qt release |
4 | |||
5 | # Input | 4 | # Input |
6 | HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \ | 5 | HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \ |
7 | datebookevent.h datebookpluginwidget.h | 6 | datebookevent.h datebookpluginwidget.h |
8 | SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \ | 7 | SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \ |
9 | datebookevent.cpp datebookpluginwidget.cpp | 8 | datebookevent.cpp datebookpluginwidget.cpp |
10 | 9 | ||
11 | INCLUDEPATH += $(OPIEDIR)/include \ | 10 | INCLUDEPATH += $(OPIEDIR)/include \ |
12 | ../ ../library | 11 | ../ ../library |
13 | DEPENDPATH += $(OPIEDIR)/include \ | 12 | DEPENDPATH += $(OPIEDIR)/include \ |
14 | ../ ../library | 13 | ../ ../library |
15 | 14 | ||
16 | LIBS+= -lqpe -lopie | 15 | LIBS+= -lqpe -lopie |
17 | 16 | ||
18 | DESTDIR = $(OPIEDIR)/plugins/today | 17 | DESTDIR = $(OPIEDIR)/plugins/today |
19 | TARGET = todaydatebookplugin \ No newline at end of file | 18 | TARGET = 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 | |||
25 | using namespace Opie; | ||
26 | |||
23 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | 27 | DateBookEvent::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 | */ |
77 | QString DateBookEvent::ampmTime( QTime tm ) { | 79 | QString 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 | */ |
102 | void DateBookEvent::editEventSlot( const Event &e ) { | 102 | void 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 | */ | ||
114 | void DateBookEvent::startDatebook() { | ||
115 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | ||
116 | e << QString( "datebook" ); | ||
117 | } | ||
118 | |||
119 | void DateBookEvent::editMe() { | 113 | void 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 | ||
24 | class DateBookEvent: public OClickableLabel { | 24 | class DateBookEvent: public OClickableLabel { |
25 | 25 | ||
26 | Q_OBJECT | 26 | Q_OBJECT |
27 | 27 | ||
28 | public: | 28 | public: |
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); |
36 | signals: | 36 | signals: |
37 | void editEvent(const Event &e); | 37 | void editEvent(const Event &e); |
38 | private slots: | 38 | private slots: |
39 | void editEventSlot(const Event &e); | 39 | void editEventSlot(const Event &e); |
40 | void editMe(); | 40 | void editMe(); |
41 | private: | 41 | private: |
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 | ||