akonadi/kmime
messagethreaderproxymodel.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_MESSAGETHREADERPROXYMODEL_H
00021 #define AKONADI_MESSAGETHREADERPROXYMODEL_H
00022
00023 #include "akonadi-kmime_export.h"
00024 #include <QtGui/QAbstractProxyModel>
00025 #include <QtCore/QModelIndex>
00026
00027 class QModelIndex;
00028
00029 namespace Akonadi {
00030
00031 class Collection;
00032
00036 class AKONADI_KMIME_EXPORT MessageThreaderProxyModel : public QAbstractProxyModel
00037 {
00038 Q_OBJECT
00039
00040 public:
00045 MessageThreaderProxyModel( QObject *parent = 0 );
00046
00050 virtual ~MessageThreaderProxyModel();
00051
00055 QModelIndex parent ( const QModelIndex & index ) const;
00056
00060 int rowCount( const QModelIndex & index ) const;
00061
00065 QModelIndex index( int row, int column, const QModelIndex& parent ) const;
00066
00070 bool hasChildren( const QModelIndex& index ) const;
00071
00075 QModelIndex createIndex( int row, int column, quint32 internalId ) const;
00076
00080 int columnCount( const QModelIndex& index ) const;
00081
00085 QStringList mimeTypes() const;
00086
00090 QMimeData *mimeData(const QModelIndexList &indexes) const;
00091
00095 QModelIndex mapFromSource( const QModelIndex& index ) const;
00096
00100 QModelIndex mapToSource(const QModelIndex& index ) const;
00101
00107 void setSourceModel( QAbstractItemModel *sourceMessageModel );
00108
00109 private:
00110 class Private;
00111 Private* const d;
00112
00113 Q_PRIVATE_SLOT( d, void slotInsertRows( const QModelIndex&, int, int) )
00114 Q_PRIVATE_SLOT( d, void slotRemoveRows( const QModelIndex&, int, int) )
00115 Q_PRIVATE_SLOT( d, void slotCollectionChanged() )
00116 };
00117
00118 }
00119
00120 #endif