00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_AGENTINSTANCEMODEL_H
00021 #define AKONADI_AGENTINSTANCEMODEL_H
00022
00023 #include "akonadi_export.h"
00024
00025 #include <QtCore/QAbstractItemModel>
00026
00027 namespace Akonadi {
00028
00050 class AKONADI_EXPORT AgentInstanceModel : public QAbstractItemModel
00051 {
00052 Q_OBJECT
00053
00054 public:
00058 enum Roles
00059 {
00060 TypeRole = Qt::UserRole + 1,
00061 TypeIdentifierRole,
00062 DescriptionRole,
00063 MimeTypesRole,
00064 CapabilitiesRole,
00065 InstanceRole,
00066 InstanceIdentifierRole,
00067 StatusRole,
00068 StatusMessageRole,
00069 ProgressRole,
00070 OnlineRole,
00071 UserRole = Qt::UserRole + 42
00072 };
00073
00079 explicit AgentInstanceModel( QObject *parent = 0 );
00080
00084 virtual ~AgentInstanceModel();
00085
00086 virtual int columnCount( const QModelIndex &parent = QModelIndex() ) const;
00087 virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const;
00088 virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
00089 virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
00090 virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
00091 virtual QModelIndex parent( const QModelIndex &index ) const;
00092 virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
00093 virtual bool setData( const QModelIndex &index, const QVariant &value, int role );
00094
00095 private:
00096
00097 class Private;
00098 Private* const d;
00099
00100 Q_PRIVATE_SLOT( d, void instanceAdded( const Akonadi::AgentInstance& ) )
00101 Q_PRIVATE_SLOT( d, void instanceRemoved( const Akonadi::AgentInstance& ) )
00102 Q_PRIVATE_SLOT( d, void instanceChanged( const Akonadi::AgentInstance& ) )
00103
00104 };
00105
00106 }
00107
00108 #endif