addresseditwidget.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 ADDRESSEDITWIDGET_H
00025 #define ADDRESSEDITWIDGET_H
00026
00027 #include <qwidget.h>
00028
00029 #include <kdialogbase.h>
00030 #include <kabc/address.h>
00031 #include <kabc/addressee.h>
00032
00033 #include "addresseeconfig.h"
00034 #include "typecombo.h"
00035
00036 class QButtonGroup;
00037 class QCheckBox;
00038 class QListView;
00039 class QTextEdit;
00040 class QToolButton;
00041
00042 class KComboBox;
00043 class KLineEdit;
00044 class KListView;
00045
00046 typedef TypeCombo<KABC::Address> AddressTypeCombo;
00047
00051 class AddressEditWidget : public QWidget
00052 {
00053 Q_OBJECT
00054
00055 public:
00056 AddressEditWidget( QWidget *parent, const char *name = 0 );
00057 ~AddressEditWidget();
00058
00059 KABC::Address::List addresses();
00060 void setAddresses( const KABC::Addressee &addr,
00061 const KABC::Address::List &list );
00062
00063 void updateTypeCombo( const KABC::Address::List&, KComboBox* );
00064 KABC::Address currentAddress( KComboBox*, int );
00065
00066 void setReadOnly( bool readOnly );
00067
00068 signals:
00069 void modified();
00070
00071 protected slots:
00072 void updateAddressEdit();
00073
00074 void edit();
00075
00076 private:
00077 AddressTypeCombo *mTypeCombo;
00078
00079 QPushButton *mEditButton;
00080 QTextEdit *mAddressTextEdit;
00081
00082 KABC::Address::List mAddressList;
00083 KABC::Addressee mAddressee;
00084 int mIndex;
00085 };
00086
00090 class AddressEditDialog : public KDialogBase
00091 {
00092 Q_OBJECT
00093
00094 public:
00095 AddressEditDialog( const KABC::Address::List &list, int selected,
00096 QWidget *parent, const char *name = 0 );
00097 ~AddressEditDialog();
00098
00099 KABC::Address::List addresses();
00100 bool changed() const;
00101
00102 protected slots:
00103 void addAddress();
00104 void removeAddress();
00105 void changeType();
00106
00107 void updateAddressEdits();
00108 void modified();
00109
00110 private:
00111 void saveAddress( KABC::Address &addr );
00112 void fillCountryCombo();
00113 QStringList sortLocaleAware( const QStringList& );
00114
00115 AddressTypeCombo *mTypeCombo;
00116 QTextEdit *mStreetTextEdit;
00117 KComboBox *mCountryCombo;
00118 KLineEdit *mRegionEdit;
00119 KLineEdit *mLocalityEdit;
00120 KLineEdit *mPostalCodeEdit;
00121 KLineEdit *mPOBoxEdit;
00122 QCheckBox *mPreferredCheckBox;
00123
00124 QPushButton *mRemoveButton;
00125 QPushButton *mChangeTypeButton;
00126
00127 KABC::Address::List mAddressList;
00128 KABC::Address *mPreviousAddress;
00129 bool mChanged;
00130 };
00131
00135 class AddressTypeDialog : public KDialogBase
00136 {
00137 public:
00138 AddressTypeDialog( int type, QWidget *parent );
00139 ~AddressTypeDialog();
00140
00141 int type() const;
00142
00143 private:
00144 QButtonGroup *mGroup;
00145
00146 KABC::Address::TypeList mTypeList;
00147 };
00148
00149 #endif
This file is part of the documentation for kaddressbook Library Version 3.2.2.