-rw-r--r-- | libopie2/opiepim/oevent.cpp | 56 |
1 files changed, 44 insertions, 12 deletions
diff --git a/libopie2/opiepim/oevent.cpp b/libopie2/opiepim/oevent.cpp index 83b191f..e4f5d92 100644 --- a/libopie2/opiepim/oevent.cpp +++ b/libopie2/opiepim/oevent.cpp @@ -206,80 +206,112 @@ void OEvent::setAllDay( bool allDay ) { void OEvent::setTimeZone( const QString& tz ) { changeOrModify(); data->timezone = tz; } QString OEvent::timeZone()const { if (data->isAllDay ) return QString::fromLatin1("UTC"); return data->timezone; } bool OEvent::match( const QRegExp& re )const { if ( re.match( data->description ) != -1 ){ setLastHitField( Qtopia::DatebookDescription ); return true; } if ( re.match( data->note ) != -1 ){ setLastHitField( Qtopia::Note ); return true; } if ( re.match( data->location ) != -1 ){ setLastHitField( Qtopia::Location ); return true; } if ( re.match( data->start.toString() ) != -1 ){ setLastHitField( Qtopia::StartDateTime ); return true; } if ( re.match( data->end.toString() ) != -1 ){ setLastHitField( Qtopia::EndDateTime ); return true; } return false; } QString OEvent::toRichText()const { - QString text; + QString text, value; + + // description + text += "<b><h3><img src=\"datebook/DateBook\">"; if ( !description().isEmpty() ) { - text += "<b>" + QObject::tr( "Description:") + "</b><br>"; - text += Qtopia::escapeString(description() ). - replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "" ); + } + text += "</h3></b><br><hr><br>"; + + // location + if ( !(value = location()).isEmpty() ) { + text += "<b>" + QObject::tr( "Location:" ) + "</b> "; + text += Qtopia::escapeString(value) + "<br>"; + } + + // all day event + if ( isAllDay() ) { + text += "<b><i>" + QObject::tr( "This is an all day event" ) + "</i></b><br>"; } - if ( startDateTime().isValid() ) { - text += "<b>" + QObject::tr( "Start:") + "</b> "; - text += Qtopia::escapeString(startDateTime().toString() ). - replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + // multiple day event + else if ( isMultipleDay () ) { + text += "<b><i>" + QObject::tr( "This is a multiple day event" ) + "</i></b><br>"; + } + // start & end times + else { + // start time + if ( startDateTime().isValid() ) { + text += "<b>" + QObject::tr( "Start:") + "</b> "; + text += Qtopia::escapeString(startDateTime().toString() ). + replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + } + + // end time + if ( endDateTime().isValid() ) { + text += "<b>" + QObject::tr( "End:") + "</b> "; + text += Qtopia::escapeString(endDateTime().toString() ). + replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + } } - if ( endDateTime().isValid() ) { - text += "<b>" + QObject::tr( "End:") + "</b> "; - text += Qtopia::escapeString(endDateTime().toString() ). - replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; + + // categories + if ( categoryNames("Calendar").count() ){ + text += "<b>" + QObject::tr( "Category:") + "</b> "; + text += categoryNames("Calendar").join(", "); + text += "<br>"; } + + //notes if ( !note().isEmpty() ) { text += "<b>" + QObject::tr( "Note:") + "</b><br>"; text += note(); // text += Qtopia::escapeString(note() ). // replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; } return text; } QString OEvent::toShortText()const { QString text; text += QString::number( startDateTime().date().day() ); text += "."; text += QString::number( startDateTime().date().month() ); text += "."; text += QString::number( startDateTime().date().year() ); text += " "; text += QString::number( startDateTime().time().hour() ); text += ":"; text += QString::number( startDateTime().time().minute() ); text += " - "; text += description(); return text; } QString OEvent::type()const { return QString::fromLatin1("OEvent"); } QString OEvent::recordField( int /*id */ )const { return QString::null; } int OEvent::rtti() { return OPimResolver::DateBook; } |