author | harlekin <harlekin> | 2003-02-10 23:54:03 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2003-02-10 23:54:03 (UTC) |
commit | 0af800b30845a0d3df8be9db5c11c06fd81386e7 (patch) (side-by-side diff) | |
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 @@ /* * datebookevent.cpp * * copyright : (c) 2002 by Maximilian Reiß * email : harlekin@handhelds.org * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "datebookevent.h" #include <qpe/config.h> #include <qpe/timestring.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/qpeapplication.h> #include <opie/odevice.h> using namespace Opie; DateBookEvent::DateBookEvent(const EffectiveEvent &ev, QWidget* parent, bool show_location, bool show_notes, int maxCharClip, const char* name, WFlags fl) : OClickableLabel(parent,name,fl), event(ev) { - setAlignment( AlignTop ); + // setAlignment( AlignTop ); QString msg; Config config( "qpe" ); config.setGroup( "Time" ); // if 24 h format ampm = config.readBoolEntry( "AMPM", TRUE ); msg += "<B>" + (ev).description() + "</B>"; if ( (ev).event().hasAlarm() ) { msg += " <b>[with alarm]</b>"; } // include location or not if ( show_location ) { msg += "<BR><i>" + (ev).location() + "</i>"; } if ( ( TimeString::timeString( QTime( (ev).event().start().time() ) ) == "00:00" ) && ( TimeString::timeString( QTime( (ev).event().end().time() ) ) == "23:59" ) ) { msg += "<br>All day"; } else { // start time of event QDate tempDate = (ev).event().start().date(); msg += "<br>" + ampmTime( QTime( (ev).event().start().time() ) ) // end time of event + "<b> - </b>" + ampmTime( QTime( (ev).event().end().time() ) ) + differDate( tempDate ); } // include possible note or not if ( show_notes ) { msg += "<br> <i>note</i>:" +( (ev).notes() ).mid( 0, maxCharClip ); } setText( msg ); connect( this, SIGNAL( clicked() ), this, SLOT( editMe() ) ); } +DateBookEvent::~DateBookEvent() { +} /** * AM/PM timestring conversion. * @param tm the timestring * @return formatted to am/pm is system is set to it */ QString DateBookEvent::ampmTime( QTime tm ) { QString s; if( ampm ) { int hour = tm.hour(); if ( hour == 0 ) { hour = 12; } if ( hour > 12 ) { hour -= 12; } s.sprintf( "%2d:%02d %s", hour, tm.minute(), (tm.hour() >= 12) ? "PM" : "AM" ); return s; } else { s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); return s; } } QString DateBookEvent::differDate( QDate date ) { QDate currentDate = QDate::currentDate(); QString returnText = "<font color = #407DD9><b> "; int differDate = currentDate.daysTo( date ); if ( currentDate.dayOfWeek() == date.dayOfWeek() ) { returnText += "" ; // not working right for recurring events //} else if ( differDate == 1 ) { //returnText += tr( "tomorrow" ); } else { //returnText += tr( "in %1 days" ).arg( differDate ); returnText += " [ " + date.dayName( date.dayOfWeek() ) + " ] "; } returnText += "</b></font>"; return returnText; } /** * starts the edit dialog as known from datebook */ void DateBookEvent::editEventSlot( const Event &e ) { if ( ODevice::inst()->system() == System_Zaurus ) { QCopEnvelope env( "QPE/Application/datebook", "raise()" ); } else { QCopEnvelope env( "QPE/Datebook", "editEvent(int)" ); env << e.uid(); } } void DateBookEvent::editMe() { emit editEvent( event.event() ); } 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 @@ /* * datebookplugin.h * * copyright : (c) 2002 by Maximilian Reiß * email : harlekin@handhelds.org * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef DATEBOOKEVENT_PLUGIN_H #define DATEBOOKEVENT_PLUGIN_H #include <opie/oclickablelabel.h> #include <qpe/datebookdb.h> class DateBookEvent: public OClickableLabel { Q_OBJECT public: - DateBookEvent( const EffectiveEvent &ev, - QWidget* parent = 0, - bool show_location = 0, - bool show_notes = 0, - int maxCharClip = 0, - const char* name = 0, - WFlags fl = 0 ); -signals: - void editEvent( const Event &e ); + DateBookEvent( const EffectiveEvent &ev, + QWidget* parent = 0, + bool show_location = 0, + bool show_notes = 0, + int maxCharClip = 0, + const char* name = 0, + WFlags fl = 0 ); + ~DateBookEvent(); + signals: + void editEvent( const Event &e ); + private slots: void editEventSlot( const Event &e ); void editMe(); -private: - DateBookDB *db; + private: + QString ampmTime( QTime ); QString differDate( QDate date ); const EffectiveEvent event; bool ampm; }; #endif |