htmlexport.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KCAL_HTMLEXPORT_H
00025 #define KCAL_HTMLEXPORT_H
00026
00027 #include <qstring.h>
00028 #include <qdatetime.h>
00029 #include <qmap.h>
00030
00031 #include <libkcal/calendar.h>
00032
00033 class QFile;
00034 class QTextStream;
00035
00036 namespace KCal {
00037
00041 class HtmlExport
00042 {
00043 public:
00047 HtmlExport( Calendar *calendar );
00048 virtual ~HtmlExport() {}
00049
00053 bool save( const QString &fileName );
00054
00058 bool save( QTextStream * );
00059
00060 void setTitle( QString title ) { mTitle = title; }
00061 QString title() { return mTitle; }
00062
00063 void setTitleTodo( QString title ) { mTitleTodo = title; }
00064 QString titleTodo() { return mTitleTodo; }
00065
00066 void setFullName( QString name ) { mName = name; }
00067 QString fullName() { return mName; }
00068
00069 void setEmail( QString email ) { mEmail = email; }
00070 QString email() { return mEmail; }
00071
00072 void setCredit( QString name, QString url ) { mCreditName = name; mCreditURL = url; }
00073 QString creditName() { return mCreditName; }
00074 QString creditURL() { return mCreditURL; }
00075
00076 void setMonthViewEnabled(bool enable=true) { mMonthViewEnabled = enable; }
00077 bool monthViewEnabled() { return mMonthViewEnabled; }
00078
00079 void setEventsEnabled(bool enable=true) { mEventsEnabled = enable; }
00080 bool eventsEnabled() { return mEventsEnabled; }
00081
00082 void setTodosEnabled(bool enable=true) { mTodosEnabled = enable; }
00083 bool todosEnabled() { return mTodosEnabled; }
00084
00085 void setCategoriesTodoEnabled(bool enable=true) { mCategoriesTodoEnabled = enable; }
00086 bool categoriesTodoEnabled() { return mCategoriesTodoEnabled; }
00087
00088 void setAttendeesTodoEnabled(bool enable=true) { mAttendeesTodoEnabled = enable; }
00089 bool attendeesTodoEnabled() { return mAttendeesTodoEnabled; }
00090
00091 void setExcludePrivateTodoEnabled(bool enable=true) { mExcludePrivateTodoEnabled = enable; }
00092 bool excludePrivateTodoEnabled() { return mExcludePrivateTodoEnabled; }
00093
00094 void setExcludeConfidentialTodoEnabled(bool enable=true) { mExcludeConfidentialTodoEnabled = enable; }
00095 bool excludeConfidentialTodoEnabled() { return mExcludeConfidentialTodoEnabled; }
00096
00097 void setCategoriesEventEnabled(bool enable=true) { mCategoriesEventEnabled = enable; }
00098 bool categoriesEventEnabled() { return mCategoriesEventEnabled; }
00099
00100 void setAttendeesEventEnabled(bool enable=true) { mAttendeesEventEnabled = enable; }
00101 bool attendeesEventEnabled() { return mAttendeesEventEnabled; }
00102
00103 void setExcludePrivateEventEnabled(bool enable=true) { mExcludePrivateEventEnabled = enable; }
00104 bool excludePrivateEventEnabled() { return mExcludePrivateEventEnabled; }
00105
00106 void setExcludeConfidentialEventEnabled(bool enable=true) { mExcludeConfidentialEventEnabled = enable; }
00107 bool excludeConfidentialEventEnabled() { return mExcludeConfidentialEventEnabled; }
00108
00109 void setDueDateEnabled(bool enable=true) { mDueDateEnabled = enable; }
00110 bool dueDateEnabled() { return mDueDateEnabled; }
00111
00112 void setDateRange(const QDate &from,const QDate &to) { mFromDate = from, mToDate = to; }
00113 QDate fromDate() { return mFromDate; }
00114 QDate toDate() { return mToDate; }
00115
00116 void setStyleSheet( const QString & );
00117 QString styleSheet();
00118
00119 void addHoliday( QDate date, QString name );
00120
00121 protected:
00122 void createHtmlMonthView (QTextStream *ts);
00123 void createHtmlEventList (QTextStream *ts);
00124 void createHtmlTodoList (QTextStream *ts);
00125
00126 void createHtmlTodo (QTextStream *ts,Todo *todo);
00127 void createHtmlEvent (QTextStream *ts,Event *event,QDate date, bool withDescription = true);
00128
00129 bool checkSecrecy( Incidence * );
00130
00131 void formatHtmlCategories (QTextStream *ts,Incidence *event);
00132 void formatHtmlAttendees (QTextStream *ts,Incidence *event);
00133
00134 QString breakString(const QString &text);
00135
00136 private:
00137 QString cleanChars(const QString &txt);
00138
00139 Calendar *mCalendar;
00140
00141 bool mMonthViewEnabled;
00142 bool mEventsEnabled;
00143 bool mTodosEnabled;
00144 bool mCategoriesTodoEnabled;
00145 bool mAttendeesTodoEnabled;
00146 bool mCategoriesEventEnabled;
00147 bool mAttendeesEventEnabled;
00148 bool mDueDateEnabled;
00149 bool mExcludePrivateTodoEnabled;
00150 bool mExcludeConfidentialTodoEnabled;
00151 bool mExcludePrivateEventEnabled;
00152 bool mExcludeConfidentialEventEnabled;
00153
00154 QDate mFromDate;
00155 QDate mToDate;
00156
00157 QString mStyleSheet;
00158 QString mTitle;
00159 QString mTitleTodo;
00160 QString mName;
00161 QString mEmail;
00162 QString mCreditName;
00163 QString mCreditURL;
00164 QMap<QDate,QString> mHolidayMap;
00165
00166 class Private;
00167 Private *d;
00168 };
00169
00170 }
00171
00172 #endif
This file is part of the documentation for libkcal Library Version 3.2.2.