Miam-Player  0.8.0
A nice music player
libraryitemdelegate.h
Go to the documentation of this file.
1 #ifndef LIBRARYITEMDELEGATE_H
2 #define LIBRARYITEMDELEGATE_H
3 
4 #include "miamitemdelegate.h"
6 #include "discitem.h"
7 #include "separatoritem.h"
8 #include "trackitem.h"
9 #include "yearitem.h"
10 
11 #include <QPainter>
12 #include <QPropertyAnimation>
13 #include <QStandardItem>
14 #include "miamlibrary_global.hpp"
15 
17 class LibraryTreeView;
18 
25 {
26  Q_OBJECT
27 private:
28  LibraryTreeView *_libraryTreeView;
29 
30  int _coverSize;
31 
32 public:
33  explicit LibraryItemDelegate(LibraryTreeView *libraryTreeView, QSortFilterProxyModel *proxy);
34 
36  virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
37 
39  virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
40 
41 protected:
43  virtual void drawAlbum(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const override;
44 
45  virtual void drawArtist(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const override;
46 
47  virtual void drawDisc(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const override;
48 
49  virtual void drawTrack(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *track) const override;
50 
51  void paintCoverOnTrack(QPainter *painter, const QStyleOptionViewItem &option, const QStandardItem *track) const;
52 
54  void paintText(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rectText, const QString &text, const QStandardItem *item) const;
55 
56 public slots:
57  void displayIcon(bool b);
58 
59  void updateCoverSize();
60 };
61 
62 #endif // LIBRARYITEMDELEGATE_H
The LibraryTreeView class is displaying tracks in a tree.
Definition: librarytreeview.h:36
The LibraryItemDelegate class.
Definition: libraryitemdelegate.h:24
virtual void drawTrack(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *track) const
Definition: miamitemdelegate.cpp:33
virtual void drawArtist(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const =0
#define MIAMLIBRARY_LIBRARY
Definition: miamlibrary_global.hpp:8
virtual void drawDisc(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const =0
void paintText(QPainter *p, const QStyleOptionViewItem &opt, const QRect &rectText, const QString &text, const QStandardItem *item) const
Definition: miamitemdelegate.cpp:75
The MiamItemDelegate class is the base class for drawing music informations in a QTreeView or a QList...
Definition: miamitemdelegate.h:21
virtual void drawAlbum(QPainter *painter, QStyleOptionViewItem &option, QStandardItem *item) const =0