summaryrefslogtreecommitdiff
authorzecke <zecke>2002-09-10 13:11:25 (UTC)
committer zecke <zecke>2002-09-10 13:11:25 (UTC)
commita73774e8ab1d14c76f17c854c6b6cdf801abfe82 (patch) (side-by-side diff)
tree27b0ddb41a40133bfaad34781ce69890615e4acc
parent8064c0e86eed8a48c2c7745195bf991b1d83f504 (diff)
downloadopie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.zip
opie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.tar.gz
opie-a73774e8ab1d14c76f17c854c6b6cdf801abfe82.tar.bz2
Fix inline for Event::start
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/event.cpp9
-rw-r--r--library/backend/event.h8
2 files changed, 11 insertions, 6 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp
index 7110717..8f3f780 100644
--- a/library/backend/event.cpp
+++ b/library/backend/event.cpp
@@ -331,369 +331,374 @@ Event::Event() : Record()
pattern.type = NoRepeat;
pattern.frequency = -1;
}
/*!
\internal
*/
Event::Event( const QMap<int, QString> &map )
{
setDescription( map[DatebookDescription] );
setLocation( map[Location] );
setCategories( idsFromString( map[DatebookCategory] ) );
setTimeZone( map[TimeZone] );
setNotes( map[Note] );
setStart( TimeConversion::fromUTC( map[StartDateTime].toUInt() ) );
setEnd( TimeConversion::fromUTC( map[EndDateTime].toUInt() ) );
setType( (Event::Type) map[DatebookType].toInt() );
setAlarm( ( map[HasAlarm] == "1" ? TRUE : FALSE ), map[AlarmTime].toInt(), (Event::SoundTypeChoice)map[SoundType].toInt() );
Event::RepeatPattern p;
p.type = (Event::RepeatType) map[ RepeatPatternType ].toInt();
p.frequency = map[ RepeatPatternFrequency ].toInt();
p.position = map[ RepeatPatternPosition ].toInt();
p.days = map[ RepeatPatternDays ].toInt();
p.hasEndDate = map[ RepeatPatternHasEndDate ].toInt();
p.endDateUTC = map[ RepeatPatternEndDate ].toUInt();
setRepeat( p );
setUid( map[ DatebookUid ].toInt() );
}
/*!
Destroys an event.
*/
Event::~Event()
{
}
/*!
\internal
*/
int Event::week( const QDate& date )
{
// Calculates the week this date is in within that
// month. Equals the "row" is is in in the month view
int week = 1;
QDate tmp( date.year(), date.month(), 1 );
if ( date.dayOfWeek() < tmp.dayOfWeek() )
++week;
week += ( date.day() - 1 ) / 7;
return week;
}
/*!
\internal
*/
int Event::occurrence( const QDate& date )
{
// calculates the number of occurrances of this day of the
// week till the given date (e.g 3rd Wednesday of the month)
return ( date.day() - 1 ) / 7 + 1;
}
/*!
\internal
*/
int Event::dayOfWeek( char day )
{
int dayOfWeek = 1;
char i = Event::MON;
while ( !( i & day ) && i <= Event::SUN ) {
i <<= 1;
++dayOfWeek;
}
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() )
+ 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();
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();
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 &&
diff --git a/library/backend/event.h b/library/backend/event.h
index 7fe41a5..2b275a4 100644
--- a/library/backend/event.h
+++ b/library/backend/event.h
@@ -175,201 +175,201 @@ private:
QString tz;
bool hAlarm, hRepeat;
int aMinutes;
SoundTypeChoice aSound;
RepeatPattern pattern;
QString note;
// ADDITION
int mRid; // Recode ID
int mRinfo; // Recode Info
//
EventPrivate *d;
};
// Since an event spans multiple day, it is better to have this
// class to represent a day instead of creating many
// dummy events...
class EffectiveEventPrivate;
class QPC_EXPORT EffectiveEvent
{
public:
// If we calculate the effective event of a multi-day event
// we have to figure out whether we are at the first day,
// at the end, or anywhere else ("middle"). This is important
// for the start/end times (00:00/23:59)
// MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi-
// day event
// Start: start time -> 23:59
// End: 00:00 -> end time
// Start | End == StartEnd: for single-day events (default)
// here we draw start time -> end time
enum Position { MidWay = 0, Start = 1, End = 2, StartEnd = 3 };
EffectiveEvent();
EffectiveEvent( const Event &event, const QDate &startDate, Position pos = StartEnd );
EffectiveEvent( const EffectiveEvent & );
EffectiveEvent& operator=( const EffectiveEvent & );
~EffectiveEvent();
bool operator<( const EffectiveEvent &e ) const;
bool operator<=( const EffectiveEvent &e ) const;
bool operator==( const EffectiveEvent &e ) const;
bool operator!=( const EffectiveEvent &e ) const;
bool operator>( const EffectiveEvent &e ) const;
bool operator>= ( const EffectiveEvent &e ) const;
void setStart( const QTime &start );
void setEnd( const QTime &end );
void setEvent( Event e );
void setDate( const QDate &date );
void setEffectiveDates( const QDate &from, const QDate &to );
// QString category() const;
const QString &description() const;
const QString &location() const;
const QString &notes() const;
const Event &event() const;
const QTime &start() const;
const QTime &end() const;
const QDate &date() const;
int length() const;
int size() const;
QDate startDate() const;
QDate endDate() const;
private:
class EffectiveEventPrivate *d;
Event mEvent;
QDate mDate;
QTime mStart,
mEnd;
};
inline void Event::setAlarm( int minutes, SoundTypeChoice s )
{
setAlarm(TRUE, minutes, s);
}
inline void Event::clearAlarm()
{
setAlarm(FALSE, 0, Silent);
}
inline int Event::alarmDelay() const
{
return alarmTime();
}
inline void Event::setAllDay(bool enable)
{
if (enable)
setType(AllDay);
- else
+ else
setType(Normal);
-};
+};
inline bool Event::isAllDay() const
{
return type() == AllDay;
}
inline Event::RepeatType Event::repeatType() const
{
return repeatPattern().type;
}
inline int Event::frequency() const
{
return repeatPattern().frequency;
}
inline int Event::weekOffset() const
{
if (start().date().day() == 1)
return 1;
return (start().date().day() - 1) / 7 + 1;
}
inline QDate Event::repeatTill() const
{
return repeatPattern().endDate();
}
inline bool Event::repeatForever() const
{
return !repeatPattern().hasEndDate;
}
inline void Event::setRepeatType(RepeatType t)
{
pattern.type = t;
}
inline void Event::setFrequency(int f)
{
pattern.frequency = f;
}
inline void Event::setRepeatTill(const QDate &d)
{
pattern.setEndDate(d);
pattern.hasEndDate = TRUE;
}
inline void Event::setRepeatForever(bool b)
{
if (!b == pattern.hasEndDate)
return;
if (!b && !pattern.hasEndDate)
pattern.setEndDate(end().date());
pattern.hasEndDate = !b;
}
inline bool Event::repeatOnWeekDay(int day) const
{
if (pattern.type != Weekly)
return FALSE;
return ( (1 << (day - 1)) & pattern.days ) != 0;
}
inline void Event::setRepeatOnWeekDay(int day, bool enable)
{
if ( repeatOnWeekDay( day ) != enable )
pattern.days ^= 1 << (day - 1);
}
-
+/*
inline QDateTime Event::start( ) const
{
return start(FALSE);
}
inline QDateTime Event::end( ) const
{
return end(FALSE);
}
-
+*/
#ifdef PALMTOPCENTER
class QPC_EXPORT EffectiveEventSizeSorter : public QSorter<EffectiveEvent>
{
public:
int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const
{
return a.size() - b.size();
}
};
class QPC_EXPORT EffectiveEventTimeSorter : public QSorter<EffectiveEvent>
{
public:
int compare( const EffectiveEvent& a, const EffectiveEvent& b ) const
{
return a.start().secsTo( b.start() );
}
};
#endif
#endif