author | zecke <zecke> | 2003-02-19 14:33:49 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-02-19 14:33:49 (UTC) |
commit | 5bf8efedcb7cdbf077591cb0a9a46cbe413ad8db (patch) (side-by-side diff) | |
tree | 46fad390578dbfe31dbb09c74bec1a453214531c | |
parent | bd6e39ba0c38070d07c76b67a98d2e3ab3f84cb8 (diff) | |
download | opie-5bf8efedcb7cdbf077591cb0a9a46cbe413ad8db.zip opie-5bf8efedcb7cdbf077591cb0a9a46cbe413ad8db.tar.gz opie-5bf8efedcb7cdbf077591cb0a9a46cbe413ad8db.tar.bz2 |
time_t a long in our case may be < 0
This unfscks birthdays which occur in 1944 and other prior to starting of unix time
-rw-r--r-- | library/backend/event.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp index eb238a4..0003fe9 100644 --- a/library/backend/event.cpp +++ b/library/backend/event.cpp @@ -406,404 +406,404 @@ int Event::dayOfWeek( char day ) return dayOfWeek; } /*! \internal */ int Event::monthDiff( const QDate& first, const QDate& second ) { return ( second.year() - first.year() ) * 12 + second.month() - first.month(); } /*! \internal */ QMap<int, QString> Event::toMap() const { QMap<int, QString> m; if ( !description().isEmpty() ) m.insert( DatebookDescription, description() ); if ( !location().isEmpty() ) m.insert ( Location, location() ); if ( categories().count() ) m.insert ( DatebookCategory, idsToString( categories() ) ); if ( !timeZone().isEmpty() ) m.insert ( TimeZone, timeZone() ); if ( !notes().isEmpty() ) m.insert ( Note, notes() ); m.insert ( StartDateTime, QString::number( TimeConversion::toUTC( start() ) ) ); m.insert ( EndDateTime, QString::number( TimeConversion::toUTC( end() ) ) ); m.insert ( DatebookType, QString::number( (int)type() ) ); m.insert ( HasAlarm, ( hasAlarm() ? "1" : "0" ) ); m.insert ( SoundType, QString::number( (int)alarmSound() ) ); m.insert ( AlarmTime, QString::number( alarmTime() ) ); m.insert ( RepeatPatternType, QString::number( static_cast<int>( repeatPattern().type ) ) ); m.insert ( RepeatPatternFrequency, QString::number( repeatPattern().frequency ) ); m.insert ( RepeatPatternPosition, QString::number( repeatPattern().position ) ); m.insert ( RepeatPatternDays, QString::number( repeatPattern().days ) ); m.insert ( RepeatPatternHasEndDate, QString::number( static_cast<int>( repeatPattern().hasEndDate ) ) ); m.insert ( RepeatPatternEndDate, QString::number( repeatPattern().endDateUTC ) ); m.insert( DatebookUid, QString::number( uid()) ); return m; } /*! \internal */ void Event::setRepeat( const RepeatPattern &p ) { setRepeat( p.type != NoRepeat, p ); } /*! Sets the description of the event to \a s. */ void Event::setDescription( const QString &s ) { descript = s; } /*! Sets the location of the event to \a s. */ void Event::setLocation( const QString &s ) { locat = s; } // void Event::setCategory( const QString &s ) // { // categ = s; // } /*! \internal */ void Event::setType( Type t ) { typ = t; } /*! Sets the start date and time of the first or only occurance of this event to the date and time \a d. \a d should be in local time. */ void Event::setStart( const QDateTime &d ) { startUTC = TimeConversion::toUTC( d ); } /*! \internal */ void Event::setStart( time_t time ) { startUTC = time; } /*! Sets the end date and time of the first or only occurance of this event to the date and time \a d. \a d should be in local time. */ void Event::setEnd( const QDateTime &d ) { endUTC = TimeConversion::toUTC( d ); } /*! \internal */ void Event::setEnd( time_t time ) { endUTC = time; } /*! \internal */ void Event::setTimeZone( const QString &z ) { tz = z; } /*! \internal */ void Event::setAlarm( bool b, int minutes, SoundTypeChoice s ) { hAlarm = b; aMinutes = minutes; aSound = s; } /*! \internal */ void Event::setRepeat( bool b, const RepeatPattern &p ) { hRepeat = b; pattern = p; } /*! Sets the notes for the event to \a n. */ void Event::setNotes( const QString &n ) { note = n; } /*! Returns the description of the event. */ const QString &Event::description() const { return descript; } /*! Returns the location of the event. */ const QString &Event::location() const { return locat; } // QString Event::category() const // { // return categ; // } /*! \internal */ Event::Type Event::type() const { return typ; } /* QDateTime Event::start() const { return start( TRUE ); } */ /*! \internal */ QDateTime Event::start( bool actual ) const { - QDateTime dt = (startUTC > 0) ? TimeConversion::fromUTC( startUTC ) : QDateTime::currentDateTime(); + QDateTime dt = TimeConversion::fromUTC( startUTC ); if ( actual && typ == AllDay ) { QTime t = dt.time(); t.setHMS( 0, 0, 0 ); dt.setTime( t ); } return dt; } /* QDateTime Event::end() const { return end( TRUE ); } */ /*! \internal */ QDateTime Event::end( bool actual ) const { - QDateTime dt = (endUTC > 0) ? TimeConversion::fromUTC( endUTC ) : QDateTime::currentDateTime(); + QDateTime dt = TimeConversion::fromUTC( endUTC ); if ( actual && typ == AllDay ) { QTime t = dt.time(); t.setHMS( 23, 59, 59 ); dt.setTime( t ); } return dt; } /*! \internal */ const QString &Event::timeZone() const { return tz; } /*! \internal */ bool Event::hasAlarm() const { return hAlarm; } /*! \internal */ int Event::alarmTime() const { return aMinutes; } /*! Returns the sound type for the alarm of this event. */ Event::SoundTypeChoice Event::alarmSound() const { return aSound; } /*! \internal */ bool Event::hasRepeat() const { return doRepeat(); } /*! \internal */ const Event::RepeatPattern &Event::repeatPattern() const { return pattern; } /*! \internal */ Event::RepeatPattern &Event::repeatPattern() { return pattern; } /*! Returns the notes for the event. */ const QString &Event::notes() const { return note; } /*! \internal */ bool Event::operator==( const Event &e ) const { if ( uid() && e.uid() == uid() ) return TRUE; return ( e.descript == descript && e.locat == locat && e.categ == categ && e.typ == typ && e.startUTC == startUTC && e.endUTC == endUTC && e.tz == tz && e.hAlarm == hAlarm && e.aMinutes == aMinutes && e.aSound == aSound && e.hRepeat == hRepeat && e.pattern == pattern && e.note == note ); } /*! \internal Appends the contact information to \a buf. */ void Event::save( QString& buf ) { buf += " description=\"" + Qtopia::escapeString(descript) + "\""; if ( !locat.isEmpty() ) buf += " location=\"" + Qtopia::escapeString(locat) + "\""; // save the categoies differently.... QString strCats = idsToString( categories() ); buf += " categories=\"" + Qtopia::escapeString(strCats) + "\""; buf += " uid=\"" + QString::number( uid() ) + "\""; if ( (Type)typ != Normal ) buf += " type=\"AllDay\""; if ( hAlarm ) { buf += " alarm=\"" + QString::number( aMinutes ) + "\" sound=\""; if ( aSound == Event::Loud ) buf += "loud"; else buf += "silent"; buf += "\""; } if ( hRepeat ) write( buf, pattern ); buf += " start=\"" + QString::number( startUTC ) + "\""; buf += " end=\"" + QString::number( endUTC ) + "\""; if ( !note.isEmpty() ) buf += " note=\"" + Qtopia::escapeString( note ) + "\""; buf += customToXml(); } /*! \internal */ bool Event::RepeatPattern::operator==( const Event::RepeatPattern &right ) const { // *sigh* return ( type == right.type && frequency == right.frequency && position == right.position && days == right.days && hasEndDate == right.hasEndDate && endDateUTC == right.endDateUTC && createTime == right.createTime ); } /*! \class EffectiveEvent \brief The EffectiveEvent class the data for a single occurance of an event. This class describes the event for a single occurance of it. For example if an Event occurs every week, the effective event might represent the third occurance of this Event. \ingroup qtopiaemb \ingroup qtopiadesktop \warning This class will be phased out in Qtopia 3.x */ /*! \enum EffectiveEvent::Position \internal */ /*! \fn EffectiveEvent &EffectiveEvent::operator=(const EffectiveEvent &) \internal */ class EffectiveEventPrivate { public: //currently the existence of the d pointer means multi-day repeating, //msut be changed if we use the d pointer for anything else. QDate startDate; QDate endDate; }; /*! \internal */ EffectiveEvent::EffectiveEvent() { mDate = QDate::currentDate(); mStart = mEnd = QTime::currentTime(); d = 0; } /*! |