author | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-06-26 19:01:18 (UTC) |
commit | b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (side-by-side diff) | |
tree | 2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /korganizer/calprintplugins.h | |
download | kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.zip kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.gz kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.bz2 |
Initial revision
Diffstat (limited to 'korganizer/calprintplugins.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | korganizer/calprintplugins.h | 151 |
1 files changed, 151 insertions, 0 deletions
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 <reinhold@kainhofer.com> + + 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 <klocale.h> +#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 |