]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/playlist/playlist.hpp
Qt: PlaylistWidget parenting and code cleanup/simplifications
[vlc] / modules / gui / qt4 / components / playlist / playlist.hpp
index 5945176f149a41ae05946dfd2431ae6fdff961cc..869f0a9395c5285331110f3948f5315de7c599ab 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * interface_widgets.hpp : Playlist Widgets
  ****************************************************************************
- * Copyright (C) 2006 the VideoLAN team
+ * Copyright (C) 2006-2009 the VideoLAN team
  * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
@@ -19,8 +19,8 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * along with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 #ifndef _PLAYLISTWIDGET_H_
 # include "config.h"
 #endif
 
-#include <vlc_common.h>
 #include "qt4.hpp"
-#include "dialogs_provider.hpp"
+
+#include "dialogs_provider.hpp"              /* Media Info from ArtLabel */
+#include "components/interface_widgets.hpp"  /* CoverArt */
+//#include <vlc_playlist.h>
 
 #include <QSplitter>
-#include <QLabel>
 
 class PLSelector;
-class PLPanel;
+class StandardPLPanel;
 class QPushButton;
 
-class PlaylistWidget : public QSplitter
+class ArtLabel : public CoverArtLabel
 {
-    Q_OBJECT;
 public:
-    PlaylistWidget( intf_thread_t *_p_i, QWidget *parent ) ;
-    virtual ~PlaylistWidget();
-private:
-    PLSelector *selector;
-    PLPanel *rightPanel;
-    QPushButton *addButton;
-    QLabel *art;
-    QString prevArt;
-    QWidget *parent;
-protected:
-    intf_thread_t *p_intf;
-    void dropEvent( QDropEvent *);
-    void dragEnterEvent( QDragEnterEvent * );
-
-private slots:
-    void setArt( QString );
-signals:
-    void rootChanged( int );
-};
+    ArtLabel( QWidget *parent, intf_thread_t *intf )
+            : CoverArtLabel( parent, intf ) {};
 
-class ArtLabel : public QLabel
-{
-    Q_OBJECT
-    void mouseDoubleClickEvent( QMouseEvent *event )
+    virtual void mouseDoubleClickEvent( QMouseEvent *event )
     {
         THEDP->mediaInfoDialog();
+        event->accept();
     }
 };
 
+class PlaylistWidget : public QSplitter
+{
+    Q_OBJECT
+public:
+    PlaylistWidget( intf_thread_t *_p_i, QWidget * );
+    virtual ~PlaylistWidget();
+private:
+    PLSelector      *selector;
+    ArtLabel        *art;
+    StandardPLPanel *rightPanel;
+    QPushButton     *addButton;
+protected:
+    intf_thread_t *p_intf;
+    virtual void dropEvent( QDropEvent *);
+    virtual void dragEnterEvent( QDragEnterEvent * );
+    virtual void closeEvent( QCloseEvent * );
+};
 
 #endif