PageRenderTime 82ms CodeModel.GetById 40ms app.highlight 3ms RepoModel.GetById 37ms app.codeStats 0ms

/src/libtomahawk/playlist/treeitemdelegate.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 57 lines | 27 code | 13 blank | 17 comment | 0 complexity | be329105db8258a094207784e716a009 MD5 | raw file
 1/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
 2 *
 3 *   Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
 4 *
 5 *   Tomahawk is free software: you can redistribute it and/or modify
 6 *   it under the terms of the GNU General Public License as published by
 7 *   the Free Software Foundation, either version 3 of the License, or
 8 *   (at your option) any later version.
 9 *
10 *   Tomahawk is distributed in the hope that it will be useful,
11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 *   GNU General Public License for more details.
14 *
15 *   You should have received a copy of the GNU General Public License
16 *   along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef TREEITEMDELEGATE_H
20#define TREEITEMDELEGATE_H
21
22#include <QStyledItemDelegate>
23
24#include "DllMacro.h"
25#include "Typedefs.h"
26
27namespace Tomahawk {
28class PixmapDelegateFader;
29}
30
31class TreeView;
32class TreeProxyModel;
33
34class DLLEXPORT TreeItemDelegate : public QStyledItemDelegate
35{
36Q_OBJECT
37
38public:
39    TreeItemDelegate( TreeView* parent = 0, TreeProxyModel* proxy = 0 );
40
41protected:
42    void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
43
44signals:
45    void updateIndex( const QModelIndex& idx );
46
47private slots:
48    void doUpdateIndex( const QPersistentModelIndex& index );
49
50private:
51    TreeView* m_view;
52    TreeProxyModel* m_model;
53
54    mutable QHash< QPersistentModelIndex, QSharedPointer< Tomahawk::PixmapDelegateFader > > m_pixmaps;
55};
56
57#endif // TREEITEMDELEGATE_H