akonadi/contact
contacteditor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AKONADI_CONTACTEDITOR_H
00023 #define AKONADI_CONTACTEDITOR_H
00024
00025 #include "akonadi-contact_export.h"
00026
00027 #include <QtGui/QWidget>
00028
00029 namespace KABC {
00030 class Addressee;
00031 }
00032
00033 namespace Akonadi {
00034
00035 class AbstractContactEditorWidget;
00036 class Collection;
00037 class Item;
00038
00083 class AKONADI_CONTACT_EXPORT ContactEditor : public QWidget
00084 {
00085 Q_OBJECT
00086
00087 public:
00091 enum Mode
00092 {
00093 CreateMode,
00094 EditMode
00095 };
00096
00104 explicit ContactEditor( Mode mode, QWidget *parent = 0 );
00105
00113 ContactEditor( Mode mode, AbstractContactEditorWidget *editorWidget, QWidget *parent = 0 );
00114
00118 virtual ~ContactEditor();
00119
00126 void setContactTemplate( const KABC::Addressee &contact );
00127
00132 void setDefaultAddressBook( const Akonadi::Collection &addressbook );
00133
00134 public Q_SLOTS:
00138 void loadContact( const Akonadi::Item &contact );
00139
00143 bool saveContact();
00144
00145 Q_SIGNALS:
00150 void contactStored( const Akonadi::Item &contact );
00151
00157 void error( const QString &errorMsg );
00158
00159 private:
00160
00161 class Private;
00162 Private* const d;
00163
00164 Q_PRIVATE_SLOT( d, void itemFetchDone( KJob* ) )
00165 Q_PRIVATE_SLOT( d, void parentCollectionFetchDone( KJob* ) )
00166 Q_PRIVATE_SLOT( d, void storeDone( KJob* ) )
00167 Q_PRIVATE_SLOT( d, void itemChanged( const Akonadi::Item&, const QSet<QByteArray>& ) )
00168
00169 };
00170
00171 }
00172
00173 #endif