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