summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-04-07 13:08:50 (UTC)
committer harlekin <harlekin>2002-04-07 13:08:50 (UTC)
commit9aced2eebc244de560c1ca72786183dc93019b9d (patch) (unidiff)
treea9061ef92e0510efb552088d464ac218583f142a
parentf87f79ef356475764d8b9011c3f3b467d3015426 (diff)
downloadopie-9aced2eebc244de560c1ca72786183dc93019b9d.zip
opie-9aced2eebc244de560c1ca72786183dc93019b9d.tar.gz
opie-9aced2eebc244de560c1ca72786183dc93019b9d.tar.bz2
fixed a mem leak, patch by Stefan Eilers
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/today.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index 51aba69..7cef035 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -62,32 +62,33 @@ int NEW_START=1;
62 */ 62 */
63Today::Today( QWidget* parent, const char* name, WFlags fl ) 63Today::Today( QWidget* parent, const char* name, WFlags fl )
64 : TodayBase( parent, name, fl ), AllDateBookEvents(NULL) { 64 : TodayBase( parent, name, fl ), AllDateBookEvents(NULL) {
65 QObject::connect( (QObject*)PushButton1, SIGNAL( clicked() ), this, SLOT(startConfig() ) ); 65 QObject::connect( (QObject*)PushButton1, SIGNAL( clicked() ), this, SLOT(startConfig() ) );
66 QObject::connect( (QObject*)TodoButton, SIGNAL( clicked() ), this, SLOT(startTodo() ) ); 66 QObject::connect( (QObject*)TodoButton, SIGNAL( clicked() ), this, SLOT(startTodo() ) );
67 QObject::connect( (QObject*)DatesButton, SIGNAL( clicked() ), this, SLOT(startDatebook() ) ); 67 QObject::connect( (QObject*)DatesButton, SIGNAL( clicked() ), this, SLOT(startDatebook() ) );
68 QObject::connect( (QObject*)MailButton, SIGNAL( clicked() ), this, SLOT(startMail() ) ); 68 QObject::connect( (QObject*)MailButton, SIGNAL( clicked() ), this, SLOT(startMail() ) );
69 69
70#if defined(Q_WS_QWS) 70#if defined(Q_WS_QWS)
71#if !defined(QT_NO_COP) 71#if !defined(QT_NO_COP)
72 QCopChannel *todayChannel = new QCopChannel("QPE/Today" , this ); 72 QCopChannel *todayChannel = new QCopChannel("QPE/Today" , this );
73 connect (todayChannel, SIGNAL( received(const QCString &, const QByteArray &)), 73 connect (todayChannel, SIGNAL( received(const QCString &, const QByteArray &)),
74 this, SLOT ( channelReceived(const QCString &, const QByteArray &)) ); 74 this, SLOT ( channelReceived(const QCString &, const QByteArray &)) );
75#endif 75#endif
76#endif 76#endif
77 77
78 db = NULL;
78 setOwnerField(); 79 setOwnerField();
79 todo = new ToDoDB; 80 todo = new ToDoDB;
80 getTodo(); 81 getTodo();
81 draw(); 82 draw();
82 autoStart(); 83 autoStart();
83} 84}
84 85
85/* 86/*
86 * Qcop receive method. 87 * Qcop receive method.
87 */ 88 */
88void Today::channelReceived(const QCString &msg, const QByteArray & data) { 89void Today::channelReceived(const QCString &msg, const QByteArray & data) {
89 QDataStream stream(data, IO_ReadOnly ); 90 QDataStream stream(data, IO_ReadOnly );
90 if ( msg == "message(QString)" ) { 91 if ( msg == "message(QString)" ) {
91 QString message; 92 QString message;
92 stream >> message; 93 stream >> message;
93 setOwnerField(message); 94 setOwnerField(message);
@@ -196,33 +197,33 @@ void Today::init() {
196 cfg.setGroup("BaseConfig"); 197 cfg.setGroup("BaseConfig");
197 198
198 // -- config file section -- 199 // -- config file section --
199 // how many lines should be showed in the task section 200 // how many lines should be showed in the task section
200 MAX_LINES_TASK = cfg.readNumEntry("maxlinestask",5); 201 MAX_LINES_TASK = cfg.readNumEntry("maxlinestask",5);
201 // after how many chars should the be cut off on tasks and notes 202 // after how many chars should the be cut off on tasks and notes
202 MAX_CHAR_CLIP = cfg.readNumEntry("maxcharclip",40); 203 MAX_CHAR_CLIP = cfg.readNumEntry("maxcharclip",40);
203 // how many lines should be showed in the datebook section 204 // how many lines should be showed in the datebook section
204 MAX_LINES_MEET = cfg.readNumEntry("maxlinesmeet",5); 205 MAX_LINES_MEET = cfg.readNumEntry("maxlinesmeet",5);
205 // If location is to be showed too, 1 to activate it. 206 // If location is to be showed too, 1 to activate it.
206 SHOW_LOCATION = cfg.readNumEntry("showlocation",1); 207 SHOW_LOCATION = cfg.readNumEntry("showlocation",1);
207 // if notes should be shown 208 // if notes should be shown
208 SHOW_NOTES = cfg.readNumEntry("shownotes",0); 209 SHOW_NOTES = cfg.readNumEntry("shownotes",0);
209 // should only later appointments be shown or all for the current day. 210 // should only later appointments be shown or all for the current day.
210 ONLY_LATER = cfg.readNumEntry("onlylater",1); 211 ONLY_LATER = cfg.readNumEntry("onlylater",1);
211 212
212 db = new DateBookDB; 213 //db = new DateBookDB;
213} 214}
214 215
215/* 216/*
216 * The method for the configuration dialog. 217 * The method for the configuration dialog.
217 */ 218 */
218void Today::startConfig() { 219void Today::startConfig() {
219 220
220 conf = new todayconfig ( this, "", true ); 221 conf = new todayconfig ( this, "", true );
221 // read the config 222 // read the config
222 Config cfg("today"); 223 Config cfg("today");
223 cfg.setGroup("BaseConfig"); 224 cfg.setGroup("BaseConfig");
224 225
225 //init(); 226 //init();
226 227
227 conf->SpinBox1->setValue(MAX_LINES_MEET); 228 conf->SpinBox1->setValue(MAX_LINES_MEET);
228 // location show box 229 // location show box
@@ -261,33 +262,38 @@ void Today::startConfig() {
261 cfg.write(); 262 cfg.write();
262 NEW_START=1; 263 NEW_START=1;
263 draw(); 264 draw();
264 autoStart(); 265 autoStart();
265} 266}
266 267
267 268
268/* 269/*
269 * Get all events that are in the datebook xml file for today 270 * Get all events that are in the datebook xml file for today
270 */ 271 */
271void Today::getDates() { 272void Today::getDates() {
272 QDate date = QDate::currentDate(); 273 QDate date = QDate::currentDate();
273 274
274 if (AllDateBookEvents) delete AllDateBookEvents; 275 if (AllDateBookEvents) delete AllDateBookEvents;
275 AllDateBookEvents = new QWidget( ); 276 AllDateBookEvents = new QWidget( );
276 QVBoxLayout* layoutDates = new QVBoxLayout(AllDateBookEvents); 277 QVBoxLayout* layoutDates = new QVBoxLayout(AllDateBookEvents);
277 278
279 if (db) {
280 delete db;
281 }
282 db = new DateBookDB;
283
278 QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date); 284 QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date);
279 285
280 qBubbleSort(list); 286 qBubbleSort(list);
281 // printf("Get dates\n"); 287 // printf("Get dates\n");
282 288
283 Config config( "qpe" ); 289 Config config( "qpe" );
284 // if 24 h format 290 // if 24 h format
285 //bool ampm = config.readBoolEntry( "AMPM", TRUE ); 291 //bool ampm = config.readBoolEntry( "AMPM", TRUE );
286 292
287 int count=0; 293 int count=0;
288 294
289 if ( list.count() > 0 ) { 295 if ( list.count() > 0 ) {
290 296
291 for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); 297 for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin();
292 it!=list.end(); ++it ) { 298 it!=list.end(); ++it ) {
293 299