00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KABC_ADDRESSEEDIALOG_H
00022
#define KABC_ADDRESSEEDIALOG_H
00023
00024
#include <qdict.h>
00025
00026
#include <kdialogbase.h>
00027
#include <klineedit.h>
00028
#include <klistview.h>
00029
00030
#include "addressbook.h"
00031
00032
namespace KABC {
00033
00037 class KABC_EXPORT AddresseeItem :
public QListViewItem
00038 {
00039
public:
00040
00046 enum columns { Name = 0, Email = 1 };
00047
00054 AddresseeItem(
QListView *parent,
const Addressee &addressee );
00055
00059 Addressee addressee()
const {
return mAddressee; }
00060
00064
virtual QString key(
int column,
bool ascending )
const;
00065
00066
private:
00067
Addressee mAddressee;
00068 };
00069
00083 class KABC_EXPORT AddresseeDialog :
public KDialogBase
00084 {
00085 Q_OBJECT
00086
00087
public:
00093 AddresseeDialog(
QWidget *parent=0,
bool multiple=
false );
00094
00098
virtual ~AddresseeDialog();
00099
00105
Addressee addressee();
00106
00110
Addressee::List addressees();
00111
00119
static Addressee getAddressee(
QWidget *parent );
00120
00128
static Addressee::List getAddressees(
QWidget *parent );
00129
00130
private slots:
00131
void selectItem(
const QString & );
00132
void updateEdit(
QListViewItem *item );
00133
void addSelected(
QListViewItem *item );
00134
void removeSelected();
00135
00136
protected slots:
00137
void addressBookChanged();
00138
00139
private:
00140
void loadAddressBook();
00141
void addCompletionItem(
const QString &str,
QListViewItem *item );
00142
00143
bool mMultiple;
00144
00145
KListView *mAddresseeList;
00146
KLineEdit *mAddresseeEdit;
00147
00148
KListView *mSelectedList;
00149
00150
AddressBook *mAddressBook;
00151
00152
QDict<QListViewItem> mItemDict;
00153
QDict<QListViewItem> mSelectedDict;
00154
00155
class AddresseeDialogPrivate;
00156 AddresseeDialogPrivate *d;
00157 };
00158
00159 }
00160
#endif