]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/playlist/icon_view.hpp
Qt: respect font sizes
[vlc] / modules / gui / qt4 / components / playlist / icon_view.hpp
index 9819eb08fa34507862557a9464beb9b2dac60040..f300142dee3c0247a12c44f60bf7f2e6182703c1 100644 (file)
 class QPainter;
 class PLModel;
 
-class PlListViewItemDelegate : public QStyledItemDelegate
+class AbstractPlViewItemDelegate : public QStyledItemDelegate
+{
+public:
+    AbstractPlViewItemDelegate( QWidget * parent = 0 ) : QStyledItemDelegate(parent) {}
+    QString getMeta( const QModelIndex & index, int meta ) const;
+    void paintPlayingItemBg( QPainter *painter, const QStyleOptionViewItem & option ) const;
+    QPixmap getArtPixmap( const QModelIndex & index, const QSize & size ) const;
+};
+
+class PlIconViewItemDelegate : public AbstractPlViewItemDelegate
 {
     Q_OBJECT
 
 public:
-    PlListViewItemDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent) {}
+    PlIconViewItemDelegate(QWidget *parent = 0) : AbstractPlViewItemDelegate( parent ) {}
+    void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
+    QSize sizeHint ( const QStyleOptionViewItem & option = QStyleOptionViewItem(),
+                     const QModelIndex & index = QModelIndex() ) const;
+};
+
+class PlListViewItemDelegate : public AbstractPlViewItemDelegate
+{
+    Q_OBJECT
+
+public:
+    PlListViewItemDelegate(QWidget *parent = 0) : AbstractPlViewItemDelegate(parent) {}
 
     void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
     QSize sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const;
@@ -47,8 +67,14 @@ class PlIconView : public QListView
 
 public:
     PlIconView( PLModel *model, QWidget *parent = 0 );
-public slots:
-    void activate( const QModelIndex & index );
+};
+
+class PlListView : public QListView
+{
+    Q_OBJECT
+
+public:
+    PlListView( PLModel *model, QWidget *parent = 0 );
 };
 
 #endif