author | harlekin <harlekin> | 2003-02-10 23:54:03 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2003-02-10 23:54:03 (UTC) |
commit | 0af800b30845a0d3df8be9db5c11c06fd81386e7 (patch) (unidiff) | |
tree | 7424e11f69f362d3cede5909d654b555127b763c | |
parent | 4abed72fea334ebfda6b146f70542dad522424b7 (diff) | |
download | opie-0af800b30845a0d3df8be9db5c11c06fd81386e7.zip opie-0af800b30845a0d3df8be9db5c11c06fd81386e7.tar.gz opie-0af800b30845a0d3df8be9db5c11c06fd81386e7.tar.bz2 |
fix the -missing dtor leads to 12 kb memleak per cycle- bug
-rw-r--r-- | core/pim/today/plugins/datebook/datebookevent.cpp | 4 | ||||
-rw-r--r-- | core/pim/today/plugins/datebook/datebookevent.h | 24 |
2 files changed, 16 insertions, 12 deletions
diff --git a/core/pim/today/plugins/datebook/datebookevent.cpp b/core/pim/today/plugins/datebook/datebookevent.cpp index 8277529..48f204e 100644 --- a/core/pim/today/plugins/datebook/datebookevent.cpp +++ b/core/pim/today/plugins/datebook/datebookevent.cpp | |||
@@ -1,136 +1,138 @@ | |||
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> | 23 | #include <opie/odevice.h> |
24 | 24 | ||
25 | using namespace Opie; | 25 | using namespace Opie; |
26 | 26 | ||
27 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, | 27 | DateBookEvent::DateBookEvent(const EffectiveEvent &ev, |
28 | QWidget* parent, | 28 | QWidget* parent, |
29 | bool show_location, | 29 | bool show_location, |
30 | bool show_notes, | 30 | bool show_notes, |
31 | int maxCharClip, | 31 | int maxCharClip, |
32 | const char* name, | 32 | const char* name, |
33 | WFlags fl) : | 33 | WFlags fl) : |
34 | OClickableLabel(parent,name,fl), event(ev) { | 34 | OClickableLabel(parent,name,fl), event(ev) { |
35 | 35 | ||
36 | setAlignment( AlignTop ); | 36 | // setAlignment( AlignTop ); |
37 | 37 | ||
38 | QString msg; | 38 | QString msg; |
39 | 39 | ||
40 | Config config( "qpe" ); | 40 | Config config( "qpe" ); |
41 | config.setGroup( "Time" ); | 41 | config.setGroup( "Time" ); |
42 | // if 24 h format | 42 | // if 24 h format |
43 | ampm = config.readBoolEntry( "AMPM", TRUE ); | 43 | ampm = config.readBoolEntry( "AMPM", TRUE ); |
44 | 44 | ||
45 | msg += "<B>" + (ev).description() + "</B>"; | 45 | msg += "<B>" + (ev).description() + "</B>"; |
46 | if ( (ev).event().hasAlarm() ) { | 46 | if ( (ev).event().hasAlarm() ) { |
47 | msg += " <b>[with alarm]</b>"; | 47 | msg += " <b>[with alarm]</b>"; |
48 | } | 48 | } |
49 | 49 | ||
50 | // include location or not | 50 | // include location or not |
51 | if ( show_location ) { | 51 | if ( show_location ) { |
52 | msg += "<BR><i>" + (ev).location() + "</i>"; | 52 | msg += "<BR><i>" + (ev).location() + "</i>"; |
53 | } | 53 | } |
54 | 54 | ||
55 | if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) | 55 | if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) |
56 | && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { | 56 | && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { |
57 | msg += "<br>All day"; | 57 | msg += "<br>All day"; |
58 | } else { | 58 | } else { |
59 | // start time of event | 59 | // start time of event |
60 | QDate tempDate = (ev).event().start().date(); | 60 | QDate tempDate = (ev).event().start().date(); |
61 | msg += "<br>" | 61 | msg += "<br>" |
62 | + ampmTime( QTime( (ev).event().start().time() ) ) | 62 | + ampmTime( QTime( (ev).event().start().time() ) ) |
63 | // end time of event | 63 | // end time of event |
64 | + "<b> - </b>" + ampmTime( QTime( (ev).event().end().time() ) ) | 64 | + "<b> - </b>" + ampmTime( QTime( (ev).event().end().time() ) ) |
65 | + differDate( tempDate ); | 65 | + differDate( tempDate ); |
66 | } | 66 | } |
67 | 67 | ||
68 | // include possible note or not | 68 | // include possible note or not |
69 | if ( show_notes ) { | 69 | if ( show_notes ) { |
70 | msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); | 70 | msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); |
71 | } | 71 | } |
72 | setText( msg ); | 72 | setText( msg ); |
73 | connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); | 73 | connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); |
74 | } | 74 | } |
75 | 75 | ||
76 | DateBookEvent::~DateBookEvent() { | ||
77 | } | ||
76 | 78 | ||
77 | /** | 79 | /** |
78 | * AM/PM timestring conversion. | 80 | * AM/PM timestring conversion. |
79 | * @param tm the timestring | 81 | * @param tm the timestring |
80 | * @return formatted to am/pm is system is set to it | 82 | * @return formatted to am/pm is system is set to it |
81 | */ | 83 | */ |
82 | QString DateBookEvent::ampmTime( QTime tm ) { | 84 | QString DateBookEvent::ampmTime( QTime tm ) { |
83 | QString s; | 85 | QString s; |
84 | if( ampm ) { | 86 | if( ampm ) { |
85 | int hour = tm.hour(); | 87 | int hour = tm.hour(); |
86 | if ( hour == 0 ) { | 88 | if ( hour == 0 ) { |
87 | hour = 12; | 89 | hour = 12; |
88 | } | 90 | } |
89 | if ( hour > 12 ) { | 91 | if ( hour > 12 ) { |
90 | hour -= 12; | 92 | hour -= 12; |
91 | } | 93 | } |
92 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), | 94 | s.sprintf( "%2d:%02d %s", hour, tm.minute(), |
93 | (tm.hour() >= 12) ? "PM" : "AM" ); | 95 | (tm.hour() >= 12) ? "PM" : "AM" ); |
94 | return s; | 96 | return s; |
95 | } else { | 97 | } else { |
96 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); | 98 | s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); |
97 | return s; | 99 | return s; |
98 | } | 100 | } |
99 | } | 101 | } |
100 | 102 | ||
101 | QString DateBookEvent::differDate( QDate date ) { | 103 | QString DateBookEvent::differDate( QDate date ) { |
102 | QDate currentDate = QDate::currentDate(); | 104 | QDate currentDate = QDate::currentDate(); |
103 | QString returnText = "<font color = #407DD9><b> "; | 105 | QString returnText = "<font color = #407DD9><b> "; |
104 | int differDate = currentDate.daysTo( date ); | 106 | int differDate = currentDate.daysTo( date ); |
105 | if ( currentDate.dayOfWeek() == date.dayOfWeek() ) { | 107 | if ( currentDate.dayOfWeek() == date.dayOfWeek() ) { |
106 | returnText += "" ; | 108 | returnText += "" ; |
107 | // not working right for recurring events | 109 | // not working right for recurring events |
108 | //} else if ( differDate == 1 ) { | 110 | //} else if ( differDate == 1 ) { |
109 | //returnText += tr( "tomorrow" ); | 111 | //returnText += tr( "tomorrow" ); |
110 | } else { | 112 | } else { |
111 | //returnText += tr( "in %1 days" ).arg( differDate ); | 113 | //returnText += tr( "in %1 days" ).arg( differDate ); |
112 | returnText += " [ " + date.dayName( date.dayOfWeek() ) + " ] "; | 114 | returnText += " [ " + date.dayName( date.dayOfWeek() ) + " ] "; |
113 | } | 115 | } |
114 | returnText += "</b></font>"; | 116 | returnText += "</b></font>"; |
115 | return returnText; | 117 | return returnText; |
116 | } | 118 | } |
117 | 119 | ||
118 | 120 | ||
119 | /** | 121 | /** |
120 | * starts the edit dialog as known from datebook | 122 | * starts the edit dialog as known from datebook |
121 | */ | 123 | */ |
122 | void DateBookEvent::editEventSlot( const Event &e ) { | 124 | void DateBookEvent::editEventSlot( const Event &e ) { |
123 | 125 | ||
124 | if ( ODevice::inst()->system() == System_Zaurus ) { | 126 | if ( ODevice::inst()->system() == System_Zaurus ) { |
125 | QCopEnvelope env( "QPE/Application/datebook", "raise()" ); | 127 | QCopEnvelope env( "QPE/Application/datebook", "raise()" ); |
126 | } else { | 128 | } else { |
127 | QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); | 129 | QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); |
128 | env << e.uid(); | 130 | env << e.uid(); |
129 | } | 131 | } |
130 | } | 132 | } |
131 | 133 | ||
132 | 134 | ||
133 | void DateBookEvent::editMe() { | 135 | void DateBookEvent::editMe() { |
134 | emit editEvent( event.event() ); | 136 | emit editEvent( event.event() ); |
135 | } | 137 | } |
136 | 138 | ||
diff --git a/core/pim/today/plugins/datebook/datebookevent.h b/core/pim/today/plugins/datebook/datebookevent.h index f8a9c03..8027809 100644 --- a/core/pim/today/plugins/datebook/datebookevent.h +++ b/core/pim/today/plugins/datebook/datebookevent.h | |||
@@ -1,49 +1,51 @@ | |||
1 | /* | 1 | /* |
2 | * datebookplugin.h | 2 | * datebookplugin.h |
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 | #ifndef DATEBOOKEVENT_PLUGIN_H | 17 | #ifndef DATEBOOKEVENT_PLUGIN_H |
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 | ~DateBookEvent(); |
37 | void editEvent( const Event &e ); | 37 | signals: |
38 | void editEvent( const Event &e ); | ||
39 | |||
38 | private slots: | 40 | private slots: |
39 | void editEventSlot( const Event &e ); | 41 | void editEventSlot( const Event &e ); |
40 | void editMe(); | 42 | void editMe(); |
41 | private: | 43 | private: |
42 | DateBookDB *db; | 44 | |
43 | QString ampmTime( QTime ); | 45 | QString ampmTime( QTime ); |
44 | QString differDate( QDate date ); | 46 | QString differDate( QDate date ); |
45 | const EffectiveEvent event; | 47 | const EffectiveEvent event; |
46 | bool ampm; | 48 | bool ampm; |
47 | }; | 49 | }; |
48 | 50 | ||
49 | #endif | 51 | #endif |