00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CUSTOMFIELDSEDITWIDGET_H
00023 #define CUSTOMFIELDSEDITWIDGET_H
00024
00025 #include <QtGui/QWidget>
00026
00027 #include "customfieldsmodel.h"
00028
00029 namespace KABC {
00030 class Addressee;
00031 }
00032
00033 class QPushButton;
00034 class QTreeView;
00035
00036 void splitCustomField( const QString &str, QString &app, QString &name, QString &value );
00037
00038 class CustomFieldsEditWidget : public QWidget
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 CustomFieldsEditWidget( QWidget *parent = 0 );
00044 ~CustomFieldsEditWidget();
00045
00046 void loadContact( const KABC::Addressee &contact );
00047 void storeContact( KABC::Addressee &contact ) const;
00048
00049 void setReadOnly( bool readOnly );
00050
00051 void setLocalCustomFieldDescriptions( const QVariantList &descriptions );
00052 QVariantList localCustomFieldDescriptions() const;
00053
00054 private Q_SLOTS:
00055 void slotAdd();
00056 void slotEdit();
00057 void slotRemove();
00058 void slotUpdateButtons();
00059
00060 private:
00061 QTreeView *mView;
00062
00063 QPushButton *mAddButton;
00064 QPushButton *mEditButton;
00065 QPushButton *mRemoveButton;
00066
00067 bool mReadOnly;
00068 CustomFieldsModel *mModel;
00069 CustomField::List mLocalCustomFields;
00070 };
00071
00072 #endif