searchmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef SEARCHMANAGER_H
00025 #define SEARCHMANAGER_H
00026
00027 #include <qobject.h>
00028
00029 #include <kabc/stdaddressbook.h>
00030 #include <libkdepim/distributionlist.h>
00031
00032 namespace KAB {
00033
00034 class SearchManager : public QObject
00035 {
00036 Q_OBJECT
00037
00038 public:
00039 enum Type {
00040 StartsWith,
00041 EndsWith,
00042 Contains,
00043 Equals
00044 };
00045
00046 SearchManager( KABC::AddressBook *ab,
00047 QObject *parent, const char *name = 0 );
00048
00058 void search( const QString &pattern, KABC::Field *field, Type type = Contains );
00059
00060
00061 void setJumpButtonFilter( const QStringList &patterns, KABC::Field *field );
00062
00063 void reconfigure();
00064
00068 KABC::Addressee::List contacts() const;
00069
00073 KPIM::DistributionList::List distributionLists() const;
00074
00078 QStringList distributionListNames() const;
00079
00080 signals:
00084 void contactsUpdated();
00085
00086 public slots:
00087 void reload();
00088
00089 private:
00090 void doSearch( const QString&, KABC::Field*, Type, const KABC::Addressee::List& );
00091 static void sortOutDistributionLists( KABC::Addressee::List& addrlist,
00092 KPIM::DistributionList::List& distrlists );
00093
00094 KABC::Addressee::List mContacts;
00095 KPIM::DistributionList::List mDistributionLists;
00096 KABC::AddressBook *mAddressBook;
00097
00098 QString mLastPattern;
00099 KABC::Field *mLastField;
00100 Type mLastType;
00101
00102 QStringList mJumpButtonPatterns;
00103 KABC::Field *mJumpButtonField;
00104
00105 bool mLimitContactDisplay;
00106 };
00107
00108 }
00109
00110 #endif
This file is part of the documentation for kaddressbook Library Version 3.3.2.