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 <tqdict.h>
00025
00026 #include <kdialogbase.h>
00027 #include <klineedit.h>
00028 #include <tdelistview.h>
00029
00030 #include "addressbook.h"
00031
00032 namespace TDEABC {
00033
00037 class KABC_EXPORT AddresseeItem : public TQListViewItem
00038 {
00039 public:
00040
00046 enum columns { Name = 0, Email = 1 };
00047
00054 AddresseeItem( TQListView *parent, const Addressee &addressee );
00055
00059 Addressee addressee() const { return mAddressee; }
00060
00064 virtual TQString 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:
00094 AddresseeDialog( TQWidget *parent=0, bool multiple=false );
00095
00099 virtual ~AddresseeDialog();
00100
00106 Addressee addressee();
00107
00111 Addressee::List addressees();
00112
00120 static Addressee getAddressee( TQWidget *parent );
00121
00129 static Addressee::List getAddressees( TQWidget *parent );
00130
00131 private slots:
00132 void selectItem( const TQString & );
00133 void updateEdit( TQListViewItem *item );
00134 void addSelected( TQListViewItem *item );
00135 void removeSelected();
00136
00137 protected slots:
00138 void addressBookChanged();
00139
00140 private:
00141 void loadAddressBook();
00142 void addCompletionItem( const TQString &str, TQListViewItem *item );
00143
00144 bool mMultiple;
00145
00146 TDEListView *mAddresseeList;
00147 KLineEdit *mAddresseeEdit;
00148
00149 TDEListView *mSelectedList;
00150
00151 AddressBook *mAddressBook;
00152
00153 TQDict<TQListViewItem> mItemDict;
00154 TQDict<TQListViewItem> mSelectedDict;
00155
00156 class AddresseeDialogPrivate;
00157 AddresseeDialogPrivate *d;
00158 };
00159
00160 }
00161 #endif