kmlistview.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 KMLISTVIEW_H 00021 #define KMLISTVIEW_H 00022 00023 #include <qlistview.h> 00024 #include <qptrlist.h> 00025 00026 class KMListViewItem; 00027 class KMPrinter; 00028 00029 class KMListView : public QListView 00030 { 00031 Q_OBJECT 00032 public: 00033 KMListView(QWidget *parent = 0, const char *name = 0); 00034 ~KMListView(); 00035 00036 void setPrinterList(QPtrList<KMPrinter> *list); 00037 void setPrinter(const QString&); 00038 void setPrinter(KMPrinter*); 00039 00040 signals: 00041 void rightButtonClicked(const QString&, const QPoint&); 00042 void printerSelected(const QString&); 00043 00044 protected slots: 00045 void slotRightButtonClicked(QListViewItem*, const QPoint&, int); 00046 void slotSelectionChanged(); 00047 void slotOnItem(QListViewItem*); 00048 void slotOnViewport(); 00049 00050 protected: 00051 KMListViewItem* findItem(KMPrinter*); 00052 KMListViewItem* findItem(const QString&); 00053 00054 private: 00055 QPtrList<KMListViewItem> m_items; 00056 KMListViewItem *m_root, *m_classes, *m_printers, *m_specials; 00057 }; 00058 00059 #endif