kprinterpropertydialog.h

00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be>
00004  *
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Library General Public
00008  *  License version 2 as published by the Free Software Foundation.
00009  *
00010  *  This library is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  *  Library General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU Library General Public License
00016  *  along with this library; see the file COPYING.LIB.  If not, write to
00017  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  *  Boston, MA 02110-1301, USA.
00019  **/
00020 
00021 #ifndef KPRINTERPROPERTYDIALOG_H
00022 #define KPRINTERPROPERTYDIALOG_H
00023 
00024 #include <kdialogbase.h>
00025 #include <qptrlist.h>
00026 #include <qmap.h>
00027 
00028 class KMPrinter;
00029 class KPrintDialogPage;
00030 class DrMain;
00031 class QTabWidget;
00032 
00033 class KDEPRINT_EXPORT KPrinterPropertyDialog : public KDialogBase
00034 {
00035     Q_OBJECT
00036 public:
00037     KPrinterPropertyDialog(KMPrinter *printer, QWidget *parent = 0, const char *name = 0);
00038     ~KPrinterPropertyDialog();
00039 
00040     KMPrinter* printer()        { return m_printer; }
00041     DrMain* driver()        { return m_driver; }
00042     void setDriver(DrMain* d)   { if (!m_driver) m_driver = d; }
00043     void addPage(KPrintDialogPage*);
00044     void setOptions(const QMap<QString,QString>&);
00045     void getOptions(QMap<QString,QString>&, bool = false);
00046     void enableSaveButton(bool);
00047 
00048     static void setupPrinter(KMPrinter *printer, QWidget *parent);
00049 
00050 protected:
00051     bool synchronize();
00052     void collectOptions(QMap<QString,QString>& opts, bool incldef = false);
00053 
00054 protected slots:
00055     void slotCurrentChanged(QWidget*);
00056     void slotUser1();
00057     void slotOk();
00058 
00059 protected:
00060     KMPrinter       *m_printer;
00061     DrMain          *m_driver;
00062     QPtrList<KPrintDialogPage>  m_pages;
00063     KPrintDialogPage    *m_current;
00064     QMap<QString,QString>   m_options;
00065     QTabWidget      *m_tw;
00066     QPushButton     *m_save;
00067 };
00068 
00069 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys