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 #ifndef HTMLEXPORT_H
00024 #define HTMLEXPORT_H
00025
00026 #include <qstring.h>
00027 #include <qdatetime.h>
00028
00029 #include <libkcal/calendar.h>
00030
00031 class QFile;
00032 class QTextStream;
00033
00034 using namespace KCal;
00035
00039 class HtmlExport {
00040 public:
00042 HtmlExport(Calendar *calendar) :
00043 mCalendar(calendar),
00044 mMonthViewEnabled(true),mEventsEnabled(false),mTodosEnabled(true),
00045 mCategoriesTodoEnabled(false),mAttendeesTodoEnabled(false),
00046 mCategoriesEventEnabled(false),mAttendeesEventEnabled(false),
00047 mDueDateEnabled(false),
00048 mExcludePrivateTodoEnabled(false),
00049 mExcludeConfidentialTodoEnabled(false),
00050 mExcludePrivateEventEnabled(false),
00051 mExcludeConfidentialEventEnabled(false) {}
00052 virtual ~HtmlExport() {};
00053
00057 bool save(const QString &fileName);
00058
00062 bool save(QTextStream *);
00063
00064 void setMonthViewEnabled(bool enable=true) { mMonthViewEnabled = enable; }
00065 bool monthViewEnabled() { return mMonthViewEnabled; }
00066
00067 void setEventsEnabled(bool enable=true) { mEventsEnabled = enable; }
00068 bool eventsEnabled() { return mEventsEnabled; }
00069
00070 void setTodosEnabled(bool enable=true) { mTodosEnabled = enable; }
00071 bool todosEnabled() { return mTodosEnabled; }
00072
00073 void setCategoriesTodoEnabled(bool enable=true) { mCategoriesTodoEnabled = enable; }
00074 bool categoriesTodoEnabled() { return mCategoriesTodoEnabled; }
00075
00076 void setAttendeesTodoEnabled(bool enable=true) { mAttendeesTodoEnabled = enable; }
00077 bool attendeesTodoEnabled() { return mAttendeesTodoEnabled; }
00078
00079 void setExcludePrivateTodoEnabled(bool enable=true) { mExcludePrivateTodoEnabled = enable; }
00080 bool excludePrivateTodoEnabled() { return mExcludePrivateTodoEnabled; }
00081
00082 void setExcludeConfidentialTodoEnabled(bool enable=true) { mExcludeConfidentialTodoEnabled = enable; }
00083 bool excludeConfidentialTodoEnabled() { return mExcludeConfidentialTodoEnabled; }
00084
00085 void setCategoriesEventEnabled(bool enable=true) { mCategoriesEventEnabled = enable; }
00086 bool categoriesEventEnabled() { return mCategoriesEventEnabled; }
00087
00088 void setAttendeesEventEnabled(bool enable=true) { mAttendeesEventEnabled = enable; }
00089 bool attendeesEventEnabled() { return mAttendeesEventEnabled; }
00090
00091 void setExcludePrivateEventEnabled(bool enable=true) { mExcludePrivateEventEnabled = enable; }
00092 bool excludePrivateEventEnabled() { return mExcludePrivateEventEnabled; }
00093
00094 void setExcludeConfidentialEventEnabled(bool enable=true) { mExcludeConfidentialEventEnabled = enable; }
00095 bool excludeConfidentialEventEnabled() { return mExcludeConfidentialEventEnabled; }
00096
00097 void setDueDateEnabled(bool enable=true) { mDueDateEnabled = enable; }
00098 bool dueDateEnabled() { return mDueDateEnabled; }
00099
00100 void setDateRange(const QDate &from,const QDate &to) { mFromDate = from, mToDate = to; }
00101 QDate fromDate() { return mFromDate; }
00102 QDate toDate() { return mToDate; }
00103
00104 void setStyleSheet( const QString & );
00105 QString styleSheet();
00106
00107 protected:
00108
00109 void createHtmlMonthView (QTextStream *ts);
00110 void createHtmlEventList (QTextStream *ts);
00111 void createHtmlTodoList (QTextStream *ts);
00112
00113 void createHtmlTodo (QTextStream *ts,Todo *todo);
00114 void createHtmlEvent (QTextStream *ts,Event *event,QDate date, bool withDescription = true);
00115
00116 bool checkSecrecy( Incidence * );
00117
00118 void formatHtmlCategories (QTextStream *ts,Incidence *event);
00119 void formatHtmlAttendees (QTextStream *ts,Incidence *event);
00120
00121 QString breakString(const QString &text);
00122
00123 private:
00124 QString cleanChars(const QString &txt);
00125
00126 Calendar *mCalendar;
00127
00128 bool mMonthViewEnabled;
00129 bool mEventsEnabled;
00130 bool mTodosEnabled;
00131 bool mCategoriesTodoEnabled;
00132 bool mAttendeesTodoEnabled;
00133 bool mCategoriesEventEnabled;
00134 bool mAttendeesEventEnabled;
00135 bool mDueDateEnabled;
00136 bool mExcludePrivateTodoEnabled;
00137 bool mExcludeConfidentialTodoEnabled;
00138 bool mExcludePrivateEventEnabled;
00139 bool mExcludeConfidentialEventEnabled;
00140
00141 QDate mFromDate;
00142 QDate mToDate;
00143
00144 QString mStyleSheet;
00145 };
00146
00147 #endif
This file is part of the documentation for kdelibs Version 3.1.5.