]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/components/playlist/panels.hpp
Qt4: move the selector from View/Model to QTreeWidget
[vlc] / modules / gui / qt4 / components / playlist / panels.hpp
index f6d3336591d6c40b5f92722b0b2f1333e1fb438a..d949c40ad23af15df642f82fc44cbe881033b681 100644 (file)
 #ifndef _PLPANELS_H_
 #define _PLPANELS_H_
 
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
 
 #include "qt4.hpp"
+#include "components/playlist/playlist.hpp"
 
 #include <QModelIndex>
 #include <QWidget>
 #include <QString>
 
+#include <vlc_playlist.h>
+
+class QSignalMapper;
 class QTreeView;
 class PLModel;
 class QPushButton;
 class QKeyEvent;
-class ClickLineEdit;
 
 class PLPanel: public QWidget
 {
     Q_OBJECT;
 public:
-    PLPanel( BasePlaylistWidget *p, intf_thread_t *_p_intf ) : QWidget( p )
+    PLPanel( PlaylistWidget *p, intf_thread_t *_p_intf ) : QWidget( p )
     {
         p_intf = _p_intf;
         parent = p;
@@ -50,9 +55,10 @@ public:
     virtual ~PLPanel() {};
 protected:
     intf_thread_t *p_intf;
-    BasePlaylistWidget *parent;
+    QFrame *parent;
 public slots:
     virtual void setRoot( int ) = 0;
+    virtual void setRoot( playlist_item_t * ) = 0;
 };
 
 
@@ -60,29 +66,35 @@ class StandardPLPanel: public PLPanel
 {
     Q_OBJECT;
 public:
-    StandardPLPanel( BasePlaylistWidget *, intf_thread_t *,
+    StandardPLPanel( PlaylistWidget *, intf_thread_t *,
                      playlist_t *,playlist_item_t * );
     virtual ~StandardPLPanel();
 protected:
     virtual void keyPressEvent( QKeyEvent *e );
-private:
+protected:
     PLModel *model;
+    friend class PlaylistWidget;
+private:
     QTreeView *view;
-    QPushButton *repeatButton , *randomButton,*addButton;
-    ClickLineEdit *searchLine;
+    QPushButton *repeatButton, *randomButton, *addButton, *gotoPlayingButton;
     int currentRootId;
+    QSignalMapper *selectColumnsSigMapper;
 public slots:
+    void removeItem( int );
     virtual void setRoot( int );
+    virtual void setRoot( playlist_item_t * );
 private slots:
     void deleteSelection();
     void handleExpansion( const QModelIndex& );
     void toggleRandom();
     void toggleRepeat();
+    void gotoPlayingItem();
     void doPopup( QModelIndex index, QPoint point );
-    void search( QString search );
-    void clearFilter();
-    void add();
-    void setCurrentRootId( int );
+    void search( const QString& searchText );
+    void setCurrentRootId( playlist_item_t * );
+    void popupAdd();
+    void popupSelectColumn( QPoint );
+    void toggleColumnShown( int );
 };
 
 #endif