doc update to 4.11
[kdepim.git] / messageviewer / mimetreemodel.h
bloba011b45bda47e8fa2505198d67e48342dd361087
1 /*
2 Copyright (c) 2007 Volker Krause <vkrause@kde.org>
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 02110-1301, USA.
20 #ifndef MAILVIEWER_MIMETREEMODEL_H
21 #define MAILVIEWER_MIMETREEMODEL_H
23 #include <QAbstractItemModel>
25 namespace KMime {
26 class Content;
29 namespace MessageViewer {
31 /**
32 A model representing the mime part tree of a message.
34 class MimeTreeModel : public QAbstractItemModel
36 Q_OBJECT
38 public:
39 enum Role {
40 ContentIndexRole = Qt::UserRole + 1,
41 ContentRole,
42 MimeTypeRole,
43 MainBodyPartRole,
44 AlternativeBodyPartRole,
45 UserRole = Qt::UserRole + 100
47 explicit MimeTreeModel( QObject *parent = 0 );
48 ~MimeTreeModel();
50 void setRoot( KMime::Content *root );
52 KMime::Content* root();
54 QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
55 QModelIndex parent( const QModelIndex &index ) const;
56 int rowCount( const QModelIndex &parent = QModelIndex() ) const;
57 int columnCount( const QModelIndex &parent = QModelIndex() ) const;
58 QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
59 QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
61 private:
62 class Private;
63 Private* const d;
69 #endif