Miam-Player  0.8.0
A nice music player
miamitemdelegate.h
Go to the documentation of this file.
1 #ifndef MIAMITEMDELEGATE_H
2 #define MIAMITEMDELEGATE_H
3 
4 #include <QStyledItemDelegate>
5 #include <QSortFilterProxyModel>
6 #include <QTimer>
7 #include "albumitem.h"
8 #include "artistitem.h"
9 #include "libraryitemmodel.h"
10 #include "trackitem.h"
11 
12 #include "miamlibrary_global.hpp"
13 
21 class MIAMLIBRARY_LIBRARY MiamItemDelegate : public QStyledItemDelegate
22 {
23  Q_OBJECT
24 protected:
25  static qreal _iconOpacity;
26 
27  QStandardItemModel *_libraryModel;
28  QSortFilterProxyModel *_proxy;
29 
33  QTimer *_timer;
34 
35 public:
36  explicit MiamItemDelegate(QSortFilterProxyModel *proxy);
37 
38 protected:
39  virtual void drawAlbum(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const = 0;
40 
41  virtual void drawArtist(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const = 0;
42 
43  virtual void drawDisc(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const = 0;
44 
45  void drawLetter(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const;
46 
47  virtual void drawTrack(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *track) const;
48 
49  void paintRect(QPainter *painter, const QStyleOptionViewItem &option) const;
50 
51  void paintText(QPainter *p, const QStyleOptionViewItem &opt, const QRect &rectText, const QString &text, const QStandardItem *item) const;
52 };
53 
54 #endif // MIAMITEMDELEGATE_H
QSortFilterProxyModel * _proxy
Definition: miamitemdelegate.h:28
static qreal _iconOpacity
Definition: miamitemdelegate.h:25
QTimer * _timer
Definition: miamitemdelegate.h:33
QStandardItemModel * _libraryModel
Definition: miamitemdelegate.h:27
#define MIAMLIBRARY_LIBRARY
Definition: miamlibrary_global.hpp:8
The MiamItemDelegate class is the base class for drawing music informations in a QTreeView or a QList...
Definition: miamitemdelegate.h:21