]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/interface_widgets.hpp
Qt: create a CoverArtLabel
[vlc] / modules / gui / qt4 / components / interface_widgets.hpp
index 1323ea61d308d67c24b6f6eec29e1eda8402f7ea..fc1aee305df5be8a330bc5e9c26556dad5b9baed 100644 (file)
@@ -100,7 +100,7 @@ private:
     virtual void resizeEvent( QResizeEvent * event );
 public slots:
     void toggle(){ TOGGLEV( this ); }
-    void updateArt( QString );
+    void updateArt( input_item_t* );
 };
 
 #if 0
@@ -376,4 +376,28 @@ private slots:
     void resetRate();
 };
 
+class CoverArtLabel : public QLabel
+{
+    Q_OBJECT
+public:
+    CoverArtLabel( vlc_object_t *p_this, input_item_t *p_input = NULL );
+    virtual ~CoverArtLabel() {};
+private:
+    input_item_t *p_input;
+    vlc_object_t *p_this;
+    QString prevArt;
+
+public slots:
+    void requestUpdate() { emit updateRequested(); };
+    void update( input_item_t* p_item )
+            { p_input = p_item; requestUpdate(); }
+
+private slots:
+    void doUpdate();
+    void downloadCover();
+
+signals:
+    void updateRequested();
+};
+
 #endif