kmdriverdbwidget.h
00001 /* 00002 * This file is part of the KDE libraries 00003 * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License version 2 as published by the Free Software Foundation. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 **/ 00019 00020 #ifndef KMDRIVERDBWIDGET_H 00021 #define KMDRIVERDBWIDGET_H 00022 00023 #include <qwidget.h> 00024 #include "kmdbentry.h" 00025 00026 class QListBox; 00027 class QCheckBox; 00028 class QPushButton; 00029 00030 class KMDriverDbWidget : public QWidget 00031 { 00032 Q_OBJECT 00033 public: 00034 KMDriverDbWidget(QWidget *parent = 0, const char *name = 0); 00035 ~KMDriverDbWidget(); 00036 00037 void init(); 00038 void setHaveRaw(bool on); 00039 void setHaveOther(bool on); 00040 void setDriver(const QString& manu, const QString& model); 00041 00042 QString manufacturer(); 00043 QString model(); 00044 QString description() { return m_desc; } 00045 KMDBEntryList* drivers(); 00046 QString driverFile(); 00047 bool isRaw(); 00048 bool isExternal(); 00049 00050 protected slots: 00051 void slotDbLoaded(bool reloaded); 00052 void slotManufacturerSelected(const QString& name); 00053 void slotPostscriptToggled(bool); 00054 void slotOtherClicked(); 00055 void slotError(const QString&); 00056 00057 private: 00058 QListBox *m_manu; 00059 QListBox *m_model; 00060 QCheckBox *m_postscript; 00061 QCheckBox *m_raw; 00062 QPushButton *m_other; 00063 QString m_external; 00064 QString m_desc; 00065 bool m_valid; 00066 }; 00067 00068 inline QString KMDriverDbWidget::driverFile() 00069 { return m_external; } 00070 00071 inline bool KMDriverDbWidget::isExternal() 00072 { return !(m_external.isEmpty()); } 00073 00074 #endif