00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef AKONADI_CONTACTSTREEMODEL_H
00024 #define AKONADI_CONTACTSTREEMODEL_H
00025
00026 #include "akonadi-contact_export.h"
00027
00028 #include <akonadi/entitytreemodel.h>
00029
00030 namespace Akonadi {
00031
00078 class AKONADI_CONTACT_EXPORT ContactsTreeModel : public EntityTreeModel
00079 {
00080 Q_OBJECT
00081
00082 public:
00086 enum Column
00087 {
00091 FullName,
00092
00096 FamilyName,
00097
00101 GivenName,
00102
00106 Birthday,
00107
00111 HomeAddress,
00112
00116 BusinessAddress,
00117
00121 PhoneNumbers,
00122
00126 PreferredEmail,
00127
00131 AllEmails,
00132
00136 Organization,
00137
00141 Role,
00142
00146 Homepage,
00147
00151 Note
00152 };
00153
00157 typedef QList<Column> Columns;
00158
00162 enum Roles
00163 {
00164 DateRole = EntityTreeModel::UserRole + 1,
00165 UserRole = DateRole + 42
00166 };
00167
00174 explicit ContactsTreeModel( ChangeRecorder *monitor, QObject *parent = 0 );
00175
00179 virtual ~ContactsTreeModel();
00180
00184 void setColumns( const Columns &columns );
00185
00189 Columns columns() const;
00190
00191
00192 virtual QVariant entityData( const Item &item, int column, int role = Qt::DisplayRole ) const;
00193 virtual QVariant entityData( const Collection &collection, int column, int role = Qt::DisplayRole ) const;
00194 virtual QVariant entityHeaderData( int section, Qt::Orientation orientation, int role, HeaderGroup headerGroup ) const;
00195 virtual int entityColumnCount( HeaderGroup headerGroup ) const;
00196
00197
00198 private:
00199
00200 class Private;
00201 Private* const d;
00202
00203 };
00204
00205 }
00206
00207 #endif