summaryrefslogtreecommitdiff
authorharlekin <harlekin>2003-02-10 23:54:03 (UTC)
committer harlekin <harlekin>2003-02-10 23:54:03 (UTC)
commit0af800b30845a0d3df8be9db5c11c06fd81386e7 (patch) (unidiff)
tree7424e11f69f362d3cede5909d654b555127b763c
parent4abed72fea334ebfda6b146f70542dad522424b7 (diff)
downloadopie-0af800b30845a0d3df8be9db5c11c06fd81386e7.zip
opie-0af800b30845a0d3df8be9db5c11c06fd81386e7.tar.gz
opie-0af800b30845a0d3df8be9db5c11c06fd81386e7.tar.bz2
fix the -missing dtor leads to 12 kb memleak per cycle- bug
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/plugins/datebook/datebookevent.cpp4
-rw-r--r--core/pim/today/plugins/datebook/datebookevent.h24
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
25using namespace Opie; 25using namespace Opie;
26 26
27DateBookEvent::DateBookEvent(const EffectiveEvent &ev, 27DateBookEvent::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
76DateBookEvent::~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 */
82QString DateBookEvent::ampmTime( QTime tm ) { 84QString 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
101QString DateBookEvent::differDate( QDate date ) { 103QString 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 */
122void DateBookEvent::editEventSlot( const Event &e ) { 124void 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
133void DateBookEvent::editMe() { 135void 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
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: 36 ~DateBookEvent();
37 void editEvent( const Event &e ); 37 signals:
38 void editEvent( const Event &e );
39
38private slots: 40private slots:
39 void editEventSlot( const Event &e ); 41 void editEventSlot( const Event &e );
40 void editMe(); 42 void editMe();
41private: 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