From b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 26 Jun 2004 19:01:18 +0000 Subject: Initial revision --- (limited to 'korganizer/calprintplugins.h') diff --git a/korganizer/calprintplugins.h b/korganizer/calprintplugins.h new file mode 100644 index 0000000..7c56131 --- a/dev/null +++ b/korganizer/calprintplugins.h @@ -0,0 +1,151 @@ +/* + This file is part of KOrganizer. + + Copyright (c) 1998 Preston Brown + Copyright (c) 2003 Reinhold Kainhofer + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ +#ifndef CALPRINTPLUGINS_H +#define CALPRINTPLUGINS_H + + +#include +#include "calprintbase.h" +#include "calprintdayconfig_base.h" +#include "calprintweekconfig_base.h" +#include "calprintmonthconfig_base.h" +#include "calprinttodoconfig_base.h" + +#ifndef KORG_NOPRINTER +namespace KCal { +class Calendar; +} + +using namespace KCal; + +class CalPrintDay : public CalPrintBase +{ + Q_OBJECT + public: + CalPrintDay(KPrinter *printer, Calendar *cal, KConfig *cfg); + virtual ~CalPrintDay(); + virtual QString description() { return i18n("Print day"); } + virtual QString longDescription() { return i18n("Prints all events of a single day on one page"); } + virtual QWidget *configWidget( QWidget* ); + + public slots: + void print(QPainter &p, int width, int height); + virtual void readSettingsWidget(); + virtual void setSettingsWidget(); + virtual void loadConfig(); + virtual void saveConfig(); + virtual void setDateRange( const QDate& from, const QDate& to ); + + protected: + QTime mStartTime, mEndTime; + bool mIncludeTodos; + bool mIncludeAllEvents; + CalPrintDayConfig_Base *mConfigWidget; +}; + +class CalPrintWeek : public CalPrintBase +{ + Q_OBJECT + public: + CalPrintWeek(KPrinter *printer, Calendar *cal, KConfig *cfg); + virtual ~CalPrintWeek(); + virtual QString description() { return i18n("Print week"); } + virtual QString longDescription() { return i18n("Prints all events of one week on one page"); } + virtual QWidget *configWidget(QWidget*); + virtual KPrinter::Orientation orientation(); + + public slots: + void print(QPainter &p, int width, int height); + virtual void readSettingsWidget(); + virtual void setSettingsWidget(); + virtual void loadConfig(); + virtual void saveConfig(); + virtual void setDateRange( const QDate& from, const QDate& to ); + + protected: + enum eWeekPrintType { Filofax=0, Timetable, SplitWeek } mWeekPrintType; + QTime mStartTime, mEndTime; + bool mIncludeTodos; + CalPrintWeekConfig_Base *mConfigWidget; +}; + +class CalPrintMonth : public CalPrintBase +{ + Q_OBJECT + public: + CalPrintMonth(KPrinter *printer, Calendar *cal, KConfig *cfg); + virtual ~CalPrintMonth(); + virtual QString description() { return i18n("Print month"); } + virtual QString longDescription() { return i18n("Prints all events of one month on one page"); } + virtual QWidget *configWidget(QWidget*); + virtual KPrinter::Orientation orientation() { return KPrinter::Landscape; } + + public slots: + void print(QPainter &p, int width, int height); + virtual void readSettingsWidget(); + virtual void setSettingsWidget(); + virtual void loadConfig(); + virtual void saveConfig(); + virtual void setDateRange( const QDate& from, const QDate& to ); + + protected: + bool mWeekNumbers; + bool mIncludeTodos; + CalPrintMonthConfig_Base *mConfigWidget; +}; + +class CalPrintTodos : public CalPrintBase +{ + Q_OBJECT + public: + CalPrintTodos(KPrinter *printer, Calendar *cal, KConfig *cfg); + virtual ~CalPrintTodos(); + virtual QString description() { return i18n("Print todos"); } + virtual QString longDescription() { return i18n("Prints all todos in a (tree-like) list"); } + virtual QWidget *configWidget(QWidget*); + + public slots: + void print(QPainter &p, int width, int height); + virtual void readSettingsWidget(); + virtual void setSettingsWidget(); + virtual void loadConfig(); + virtual void saveConfig(); + + protected: + QString mPageTitle; + + enum eTodoPrintType { + TodosAll = 0, TodosUnfinished, TodosDueRange + } mTodoPrintType; + + bool mIncludeDescription; + bool mIncludePriority; + bool mIncludeDueDate; + bool mConnectSubTodos; + CalPrintTodoConfig_Base *mConfigWidget ; +}; + +#endif +#endif -- cgit v0.9.0.2