00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AKONADI_ABSTRACTCONTACTFORMATTER_H
00023 #define AKONADI_ABSTRACTCONTACTFORMATTER_H
00024
00025 #include "akonadi-contact_export.h"
00026
00027 #include <QtCore/QVariantMap>
00028
00029 namespace KABC {
00030 class Addressee;
00031 }
00032
00033 namespace Akonadi {
00034 class Item;
00035
00046 class AKONADI_CONTACT_EXPORT AbstractContactFormatter
00047 {
00048 public:
00052 enum HtmlForm
00053 {
00054 SelfcontainedForm,
00055 EmbeddableForm,
00056 UserForm = SelfcontainedForm + 42
00057 };
00058
00062 AbstractContactFormatter();
00063
00067 virtual ~AbstractContactFormatter();
00068
00072 void setContact( const KABC::Addressee &contact );
00073
00077 KABC::Addressee contact() const;
00078
00084 void setItem( const Akonadi::Item &item );
00085
00089 Akonadi::Item item() const;
00090
00107 void setCustomFieldDescriptions( const QList<QVariantMap> &descriptions );
00108
00112 QList<QVariantMap> customFieldDescriptions() const;
00113
00118 virtual QString toHtml( HtmlForm form = SelfcontainedForm ) const = 0;
00119
00120 private:
00121
00122 Q_DISABLE_COPY( AbstractContactFormatter )
00123
00124 class Private;
00125 Private* const d;
00126
00127 };
00128
00129 }
00130
00131 #endif