4 Meeting::Meeting( const QString &aPrimaryId,
6 const QDateTime &aStartsAt,
7 const QDateTime &aEndsAt,
8 const QString &aSubject,
9 const QString &aOrganizerName,
10 const QString &aOrganizerEMail,
11 const QString &aDescription ) :
12 iPrimaryId( aPrimaryId ),
13 iSecondaryId( QString::null ),
15 iStartsAt( aStartsAt ),
18 iOrganizerName( aOrganizerName ),
19 iOrganizerEMail( aOrganizerEMail ),
20 iDescription( aDescription ),
21 iDetailsAvailable( false )
29 Room Meeting::room() const
34 QString Meeting::primaryId() const
39 QString Meeting::secondaryId() const
44 QString Meeting::organizer() const
46 if ( iOrganizerName == "" && iOrganizerEMail != "" )
48 return iOrganizerEMail;
50 if ( iOrganizerName != "" && iOrganizerEMail == "" )
52 return iOrganizerName;
54 if ( iOrganizerEMail == "" && iOrganizerName == "" )
58 return QString( "%1 <%2>" ).arg( iOrganizerName ).arg( iOrganizerEMail );
62 QDateTime Meeting::startsAt() const
67 QDateTime Meeting::endsAt() const
72 QString Meeting::subject() const
77 QString Meeting::description() const
82 bool Meeting::detailsAvailable() const
84 return iDetailsAvailable;
87 void Meeting::setSecondaryId( const QString& aSecondaryId )
89 iSecondaryId = aSecondaryId;
90 iDetailsAvailable = true;
93 void Meeting::setOrganizer( const QString &aOrganizerName, const QString &aOrganizerEMail )
95 iOrganizerName = aOrganizerName;
96 iOrganizerEMail = aOrganizerEMail;
99 void Meeting::setStartsAt( QDateTime aNewStart )
101 iStartsAt = aNewStart;
104 void Meeting::setEndsAt( QDateTime aNewEnd )
109 void Meeting::setSubject( const QString &aSubject )
114 void Meeting::setDescription( const QString &aDescription )
116 iDescription = aDescription;
119 bool Meeting::equals( const Meeting &aOther ) const
121 if ( iRoom.equals( aOther.room() )
122 && iStartsAt == aOther.iStartsAt
123 && iEndsAt == aOther.iEndsAt
124 && iPrimaryId == aOther.iPrimaryId )
131 bool Meeting::overlaps( const Meeting &aOther ) const
133 return (( iStartsAt >= aOther.iStartsAt && iStartsAt < aOther.iEndsAt ) ||
134 ( iStartsAt <= aOther.iStartsAt && iEndsAt > aOther.iStartsAt ) );
137 QString Meeting::toString() const
139 QString meetingToString = QString( "[MEETING: id1:%1 id2:%2 in:%3 from:%4 until:%5 by:%6 subject:%7 description:%8]" )
142 .arg( iRoom.toString() )
143 .arg( iStartsAt.toString() )
144 .arg( iEndsAt.toString() )
147 .arg( iDescription );
149 return meetingToString;