libkcal
incidenceformatter.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KCAL_INCIDENCEFORMATTER_H
00023 #define KCAL_INCIDENCEFORMATTER_H
00024
00025 #include "libkcal_export.h"
00026
00027 #include <qstring.h>
00028 class QDateTime;
00029
00030 namespace KCal {
00031 class Calendar;
00032 class Incidence;
00033 class IncidenceBase;
00034
00035 class LIBKCAL_EXPORT InvitationFormatterHelper
00036 {
00037 public:
00038 virtual QString generateLinkURL( const QString &id ) { return id; }
00039 virtual QString makeLink( const QString &id, const QString &text );
00040 virtual Calendar* calendar() const { return 0; }
00041 };
00042
00050 class LIBKCAL_EXPORT IncidenceFormatter
00051 {
00052 public:
00053 static QString KDE_DEPRECATED toolTipString( IncidenceBase *incidence, bool richText = true );
00054 static QString toolTipStr( Calendar *calendar, IncidenceBase *incidence, bool richText = true );
00055 static QString mailBodyString( IncidenceBase *incidencebase );
00056 static QString KDE_DEPRECATED extensiveDisplayString( IncidenceBase *incidence );
00057 static QString extensiveDisplayStr( Calendar *calendar, IncidenceBase *incidence );
00058
00059 static QString formatICalInvitation( QString invitation, Calendar *mCalendar,
00060 InvitationFormatterHelper *helper );
00061
00062 static QString formatTNEFInvitation( const QByteArray& tnef,
00063 Calendar *mCalendar,
00064 InvitationFormatterHelper *helper );
00065
00066 static QString msTNEFToVPart( const QByteArray& tnef );
00067
00068 static QString recurrenceString( Incidence *incidence );
00069
00070 static QString timeToString( const QDateTime &date, bool shortfmt = true );
00071
00072 static QString dateToString( const QDateTime &date, bool shortfmt = true );
00073
00074 static QString dateTimeToString( const QDateTime &date,
00075 bool dateOnly = false,
00076 bool shortfmt = true );
00082 static QString resourceString( Calendar *calendar, Incidence *incidence );
00083
00084 private:
00085 class EventViewerVisitor;
00086 class ScheduleMessageVisitor;
00087 class InvitationHeaderVisitor;
00088 class InvitationBodyVisitor;
00089 class IncidenceCompareVisitor;
00090 class ToolTipVisitor;
00091 class MailBodyVisitor;
00092 };
00093
00094 }
00095
00096 #endif
|