11#include "calendarsupport_export.h"
12#include "calprintpluginbase.h"
14#include "ui_calprintdayconfig_base.h"
15#include "ui_calprintincidenceconfig_base.h"
16#include "ui_calprintmonthconfig_base.h"
17#include "ui_calprinttodoconfig_base.h"
18#include "ui_calprintweekconfig_base.h"
20#include <KLocalizedString>
22namespace CalendarSupport
28 ~CalPrintIncidence()
override;
29 [[nodiscard]] QString groupName()
const override
31 return QStringLiteral(
"Print incidence");
34 [[nodiscard]] QString description()
const override
36 return i18n(
"Print &incidence");
39 [[nodiscard]] QString info()
const override
41 return i18n(
"Prints an incidence on one page");
44 [[nodiscard]]
int sortID()
const override
46 return CalPrinterBase::Incidence;
50 [[nodiscard]]
bool enabled()
const override
52 return !mSelectedIncidences.isEmpty();
55 QWidget *createConfigWidget(QWidget *)
override;
62 void print(QPainter &p,
int width,
int height)
override;
63 void readSettingsWidget()
override;
64 void setSettingsWidget()
override;
65 void doLoadConfig()
override;
66 void doSaveConfig()
override;
69 int printCaptionAndText(QPainter &p, QRect box,
const QString &caption,
const QString &text,
const QFont &captionFont,
const QFont &textFont);
72 bool mShowSubitemsNotes;
74 bool mShowAttachments;
81 ~CalPrintTimetable()
override;
82 void doLoadConfig()
override;
83 void doSaveConfig()
override;
98 void drawAllDayBox(QPainter &p,
const KCalendarCore::Event::List &eventList, QDate qd, QRect box,
const QList<QDate> &workDays);
115 void drawTimeTable(QPainter &p, QDate fromDate, QDate toDate, QRect box);
117 QTime mStartTime, mEndTime;
118 bool mSingleLineLimit;
120 bool mIncludeDescription;
121 bool mIncludeCategories;
122 bool mIncludeAllEvents;
126class CalPrintDay :
public CalPrintTimetable
130 ~CalPrintDay()
override;
131 [[nodiscard]] QString groupName()
const override
133 return QStringLiteral(
"Print day");
136 [[nodiscard]] QString description()
const override
138 return i18n(
"Print da&y");
141 [[nodiscard]] QString info()
const override
143 return i18n(
"Prints all events of a single day on one page");
146 [[nodiscard]]
int sortID()
const override
148 return CalPrinterBase::Day;
151 [[nodiscard]]
bool enabled()
const override
156 QWidget *createConfigWidget(QWidget *)
override;
158 void print(QPainter &p,
int width,
int height)
override;
159 void readSettingsWidget()
override;
160 void setSettingsWidget()
override;
161 void doLoadConfig()
override;
162 void doSaveConfig()
override;
163 void setDateRange(
const QDate &from,
const QDate &to)
override;
181 void drawDays(QPainter &p, QRect box);
184class CalPrintWeek :
public CalPrintTimetable
188 ~CalPrintWeek()
override;
190 [[nodiscard]] QString groupName()
const override
192 return QStringLiteral(
"Print week");
195 [[nodiscard]] QString description()
const override
197 return i18n(
"Print &week");
200 [[nodiscard]] QString info()
const override
202 return i18n(
"Prints all events of one week on one page");
205 [[nodiscard]]
int sortID()
const override
207 return CalPrinterBase::Week;
210 [[nodiscard]]
bool enabled()
const override
215 QWidget *createConfigWidget(QWidget *)
override;
222 void print(QPainter &p,
int width,
int height)
override;
223 void readSettingsWidget()
override;
224 void setSettingsWidget()
override;
225 void doLoadConfig()
override;
226 void doSaveConfig()
override;
227 void setDateRange(
const QDate &from,
const QDate &to)
override;
230 enum eWeekPrintType {
248 void drawWeek(QPainter &p, QDate qd, QRect box);
255 ~CalPrintMonth()
override;
256 QString groupName()
const override
258 return QStringLiteral(
"Print month");
261 QString description()
const override
263 return i18n(
"Print mont&h");
266 QString info()
const override
268 return i18n(
"Prints all events of one month on one page");
271 int sortID()
const override
273 return CalPrinterBase::Month;
276 bool enabled()
const override
281 QWidget *createConfigWidget(QWidget *)
override;
288 void print(QPainter &p,
int width,
int height)
override;
289 void readSettingsWidget()
override;
290 void setSettingsWidget()
override;
291 void doLoadConfig()
override;
292 void doSaveConfig()
override;
293 void setDateRange(
const QDate &from,
const QDate &to)
override;
300 bool mSingleLineLimit;
301 bool mIncludeDescription;
302 bool mIncludeCategories;
309 ~CalPrintTodos()
override;
311 QString groupName()
const override
313 return QStringLiteral(
"Print to-dos");
316 QString description()
const override
318 return i18n(
"Print to-&dos");
321 QString info()
const override
323 return i18n(
"Prints all to-dos in a (tree-like) list");
326 int sortID()
const override
328 return CalPrinterBase::Todolist;
331 bool enabled()
const override
336 QWidget *createConfigWidget(QWidget *)
override;
339 void print(QPainter &p,
int width,
int height)
override;
340 void readSettingsWidget()
override;
341 void setSettingsWidget()
override;
342 void doLoadConfig()
override;
343 void doSaveConfig()
override;
348 enum eTodoPrintType {
354 enum eTodoSortField {
355 TodoFieldSummary = 0,
359 TodoFieldPercentComplete,
364 enum eTodoSortDirection {
365 TodoDirectionAscending = 0,
366 TodoDirectionDescending,
368 } mTodoSortDirection;
370 bool mIncludeDescription;
371 bool mIncludePriority;
372 bool mIncludeCategories;
373 bool mIncludeStartDate;
374 bool mIncludeDueDate;
375 bool mIncludePercentComplete;
376 bool mConnectSubTodos;
377 bool mStrikeOutCompleted;
382class CalPrintIncidenceConfig :
public QWidget,
public Ui::CalPrintIncidenceConfig_Base
393class CalPrintDayConfig :
public QWidget,
public Ui::CalPrintDayConfig_Base
404class CalPrintWeekConfig :
public QWidget,
public Ui::CalPrintWeekConfig_Base
415class CalPrintMonthConfig :
public QWidget,
public Ui::CalPrintMonthConfig_Base
426class CalPrintTodoConfig :
public QWidget,
public Ui::CalPrintTodoConfig_Base
Base class for Calendar printing classes.
QString i18n(const char *text, const TYPE &arg...)
QObject * parent() const const