summaryrefslogtreecommitdiffabout
path: root/korganizer/calprintplugins.h
authorzautrix <zautrix>2004-06-26 19:01:18 (UTC)
committer zautrix <zautrix>2004-06-26 19:01:18 (UTC)
commitb9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (side-by-side diff)
tree2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /korganizer/calprintplugins.h
downloadkdepimpi-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.h151
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