kaddressbook Library API Documentation

contactlistview.h

00001 /* 00002 This file is part of KAddressBook. 00003 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program 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 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 00019 As a special exception, permission is given to link this program 00020 with any edition of Qt, and distribute the resulting executable, 00021 without including the source code for Qt in the source distribution. 00022 */ 00023 00024 #ifndef CONTACTLISTVIEW_H 00025 #define CONTACTLISTVIEW_H 00026 00027 #include <qcolor.h> 00028 #include <qpixmap.h> 00029 #include <qtooltip.h> 00030 #include <qstring.h> 00031 00032 #include <klistview.h> 00033 00034 #include <kabc/field.h> 00035 00036 class QDropEvent; 00037 class KAddressBookTableView; 00038 class ContactListView; 00039 class KIMProxy; 00040 00044 class DynamicTip : public QToolTip 00045 { 00046 public: 00047 DynamicTip( ContactListView * parent ); 00048 00049 protected: 00050 void maybeTip( const QPoint & ); 00051 00052 private: 00053 }; 00054 00055 class ContactListViewItem : public KListViewItem 00056 { 00057 00058 public: 00059 ContactListViewItem(const KABC::Addressee &a, ContactListView* parent, 00060 KABC::AddressBook *doc, const KABC::Field::List &fields, KIMProxy *proxy ); 00061 const KABC::Addressee &addressee() const { return mAddressee; } 00062 virtual void refresh(); 00063 virtual ContactListView* parent(); 00064 virtual QString key ( int, bool ) const; 00065 void setHasIM( bool hasIM ); 00069 virtual void paintCell(QPainter * p, const QColorGroup & cg, 00070 int column, int width, int align ); 00071 00072 private: 00073 KABC::Addressee mAddressee; 00074 KABC::Field::List mFields; 00075 ContactListView *parentListView; 00076 KABC::AddressBook *mDocument; 00077 KIMProxy *mIMProxy; 00078 bool mHasIM; 00079 }; 00080 00081 00083 // ContactListView 00084 00085 class ContactListView : public KListView 00086 { 00087 Q_OBJECT 00088 00089 public: 00090 ContactListView(KAddressBookTableView *view, 00091 KABC::AddressBook *doc, 00092 QWidget *parent, 00093 const char *name = 0L ); 00094 virtual ~ContactListView() {} 00095 //void resort(); 00096 00099 bool tooltips() const { return mToolTips; } 00100 void setToolTipsEnabled(bool enabled) { mToolTips = enabled; } 00101 00102 bool alternateBackground() const { return mABackground; } 00103 void setAlternateBackgroundEnabled(bool enabled); 00104 00105 bool singleLine() const { return mSingleLine; } 00106 void setSingleLineEnabled(bool enabled) { mSingleLine = enabled; } 00107 00108 const QColor &alternateColor() const { return mAlternateColor; } 00109 00114 void setBackgroundPixmap(const QString &filename); 00115 00119 void setShowIM( bool enabled ); 00120 00124 bool showIM(); 00125 00132 void setIMColumn( int column ); 00133 00137 int imColumn(); 00138 00139 protected: 00143 virtual void paintEmptyArea( QPainter * p, const QRect & rect ); 00144 virtual void contentsMousePressEvent(QMouseEvent*); 00145 void contentsMouseMoveEvent( QMouseEvent *e ); 00146 void contentsDropEvent( QDropEvent *e ); 00147 virtual bool acceptDrag(QDropEvent *e) const; 00148 00149 protected slots: 00150 void itemDropped(QDropEvent *e); 00151 00152 public slots: 00153 00154 signals: 00155 void startAddresseeDrag(); 00156 void addresseeDropped(QDropEvent *); 00157 00158 private: 00159 KAddressBookTableView *pabWidget; 00160 int oldColumn; 00161 int column; 00162 bool ascending; 00163 00164 bool mABackground; 00165 bool mSingleLine; 00166 bool mToolTips; 00167 bool mShowIM; 00168 00169 QColor mAlternateColor; 00170 00171 QPoint presspos; 00172 int mInstantMsgColumn; 00173 }; 00174 00175 00176 #endif
KDE Logo
This file is part of the documentation for kaddressbook Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 19:46:36 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003