libkcal
incidenceformatter.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KCAL_INCIDENCEFORMATTER_H
00024 #define KCAL_INCIDENCEFORMATTER_H
00025
00026 #include "libkcal_export.h"
00027
00028 #include <qdatetime.h>
00029 #include <qstring.h>
00030
00031 namespace KCal {
00032 class Calendar;
00033 class Incidence;
00034 class IncidenceBase;
00035
00036 class LIBKCAL_EXPORT InvitationFormatterHelper
00037 {
00038 public:
00039 virtual QString generateLinkURL( const QString &id ) { return id; }
00040 virtual QString makeLink( const QString &id, const QString &text );
00041 virtual Calendar* calendar() const { return 0; }
00042 };
00043
00051 class LIBKCAL_EXPORT IncidenceFormatter
00052 {
00053 public:
00054 static QString KDE_DEPRECATED toolTipString( IncidenceBase *incidence, bool richText = true );
00055 static QString toolTipStr( Calendar *calendar,
00056 IncidenceBase *incidence,
00057 const QDate &date=QDate(),
00058 bool richText = true );
00059 static QString mailBodyString( IncidenceBase *incidencebase );
00060 static QString KDE_DEPRECATED extensiveDisplayString( IncidenceBase *incidence );
00061 static QString extensiveDisplayStr( Calendar *calendar,
00062 IncidenceBase *incidence,
00063 const QDate &date=QDate() );
00064
00065 static QString formatICalInvitation( QString invitation, Calendar *mCalendar,
00066 InvitationFormatterHelper *helper );
00067 static QString formatICalInvitationNoHtml( QString invitation, Calendar *mCalendar,
00068 InvitationFormatterHelper *helper );
00069
00070 static QString formatTNEFInvitation( const QByteArray& tnef,
00071 Calendar *mCalendar,
00072 InvitationFormatterHelper *helper );
00073
00074 static QString msTNEFToVPart( const QByteArray& tnef );
00075
00076 static QString recurrenceString( Incidence *incidence );
00077
00078 static QString timeToString( const QDateTime &date, bool shortfmt = true );
00079
00080 static QString dateToString( const QDateTime &date, bool shortfmt = true );
00081
00082 static QString dateTimeToString( const QDateTime &date,
00083 bool dateOnly = false,
00084 bool shortfmt = true );
00090 static QString resourceString( Calendar *calendar, Incidence *incidence );
00091
00097 static QString durationString( Incidence *incidence );
00098
00099 private:
00100 static QString formatICalInvitationHelper( QString invitation,
00101 Calendar *mCalendar,
00102 InvitationFormatterHelper *helper,
00103 bool noHtmlMode );
00104 class EventViewerVisitor;
00105 class ScheduleMessageVisitor;
00106 class InvitationHeaderVisitor;
00107 class InvitationBodyVisitor;
00108 class IncidenceCompareVisitor;
00109 class ToolTipVisitor;
00110 class MailBodyVisitor;
00111 };
00112
00113 }
00114
00115 #endif
|