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
00031
namespace KAB {
00032
00033
class SearchManager :
public QObject
00034 {
00035 Q_OBJECT
00036
00037
public:
00038
enum Type {
00039 StartsWith,
00040 EndsWith,
00041 Contains,
00042 Equals
00043 };
00044
00045 SearchManager( KABC::AddressBook *ab,
00046
QObject *parent,
const char *name = 0 );
00047
00057
void search(
const QString &pattern, KABC::Field *field, Type type = Contains );
00058
00059
00060
void setJumpButtonFilter(
const QStringList &patterns, KABC::Field *field );
00061
00062
void reconfigure();
00063
00067 KABC::Addressee::List contacts() const;
00068
00069 signals:
00073
void contactsUpdated();
00074
00075 public slots:
00076
void reload();
00077
00078 private:
00079
void doSearch( const
QString&, KABC::Field*, Type, const KABC::Addressee::List& );
00080
00081 KABC::Addressee::List mContacts;
00082 KABC::AddressBook *mAddressBook;
00083
00084 QString mLastPattern;
00085 KABC::Field *mLastField;
00086 Type mLastType;
00087
00088
QStringList mJumpButtonPatterns;
00089 KABC::Field *mJumpButtonField;
00090
00091
bool mLimitContactDisplay;
00092 };
00093
00094 }
00095
00096 #endif