//Added by qt3to4: #include /* This file is part of KOrganizer. Copyright (c) 1998 Preston Brown 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 _CALPRINTER_H #define _CALPRINTER_H // #define KORG_NOPRINTER #ifndef KORG_NOPRINTER #include #include #include #include "calprintbase.h" using namespace KCal; class Q3VButtonGroup; class Q3WidgetStack; class KPrinter; class CalPrintDialog; class KConfig; class QComboBox; class QLabel; /** CalPrinter is a class for printing Calendars. It can print in several different formats (day, week, month). It also provides a way for setting up the printer and remembering these preferences. */ class CalPrinter : public QObject, public KOrg::CalPrinterBase { Q_OBJECT public: enum ePrintOrientation { eOrientPlugin=0, eOrientPrinter, eOrientPortrait, eOrientLandscape }; public: /** \param par parent widget for dialogs \param cal calendar to be printed */ CalPrinter( QWidget *par, Calendar *cal ); virtual ~CalPrinter(); void init( KPrinter *printer, Calendar *calendar ); void setupPrinter(); /** Set date range to be printed. \param start Start date \param end End date */ void setDateRange( const QDate &start, const QDate &end ); public slots: void updateConfig(); private slots: void doPrint( CalPrintBase *selectedStyle, bool preview ); public: void preview( PrintType type, const QDate &fd, const QDate &td ); void print( PrintType type, const QDate &fd, const QDate &td ); protected: Q3PtrList mPrintPlugins; private: KPrinter *mPrinter; Calendar *mCalendar; QWidget *mParent; KConfig *mConfig; CalPrintDialog *mPrintDialog; }; class CalPrintDialog : public KDialogBase { Q_OBJECT public: CalPrintDialog( Q3PtrList plugins, KPrinter *p, QWidget *parent = 0, const char *name = 0 ); virtual ~CalPrintDialog(); CalPrintBase *selectedPlugin(); CalPrinter::ePrintOrientation orientation() { return mOrientation; } public slots: void setPrintType( int ); void setPreview( bool ); protected slots: void slotOk(); void setupPrinter(); void setPrinterLabel(); signals: void okClicked(); private: KPrinter *mPrinter; Q3VButtonGroup *mTypeGroup; Q3WidgetStack *mConfigArea; Q3PtrList mPrintPlugins; QLabel *mPrinterLabel; QString mPreviewText; QComboBox *mOrientationSelection; CalPrinter::ePrintOrientation mOrientation; }; #endif #endif