]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/playlist.hpp
Qt: add a bunch of virtual for destructors
[vlc] / modules / gui / qt4 / dialogs / playlist.hpp
index e07ca7fb7c7665a6f93afbd72ae0e6a459547db2..f7a2e49f3017f0b90b0a815fd53b3e94416b78b0 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
  * playlist.hpp: Playlist dialog
  ****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id: wxwidgets.cpp 15731 2006-05-25 14:43:53Z zorglub $
+ * Copyright (C) 2006 the VideoLAN team
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  *
  *
  * 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. *****************************************************************************/
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
 
-#ifndef _PLAYLIST_DIALOG_H_
-#define _PLAYLIST_DIALOG_H_
+#ifndef QVLC_PLAYLIST_DIALOG_H_
+#define QVLC_PLAYLIST_DIALOG_H_ 1
 
 #include "util/qvlcframe.hpp"
+#include "components/playlist/playlist.hpp"
+#include "util/singleton.hpp"
 
-class PlaylistDialog : public QVLCFrame
+#include <QModelIndex>
+
+class QSignalMapper;
+class PLSelector;
+class PLPanel;
+class QSettings;
+class QHideEvent;
+
+class PlaylistDialog : public QVLCMW, public Singleton<PlaylistDialog>
 {
-    Q_OBJECT;
+    Q_OBJECT
+
 public:
-    static PlaylistDialog * getInstance( intf_thread_t *p_intf )
-    {
-        if( !instance) instance = new PlaylistDialog( p_intf );
-        return instance;
-    }
-    virtual ~PlaylistDialog();
+    PlaylistWidget *exportPlaylistWidget( );
+    void importPlaylistWidget( PlaylistWidget * );
+    bool hasPlaylistWidget();
+
+protected:
+    virtual void hideEvent( QHideEvent * );
+
 private:
+    PlaylistWidget *playlistWidget;
     PlaylistDialog( intf_thread_t * );
-    intf_thread_t *p_intf;
-    static PlaylistDialog *instance;
-public slots:
+    virtual ~PlaylistDialog();
+
+    void dropEvent( QDropEvent *);
+    void dragEnterEvent( QDragEnterEvent * );
+    void dragMoveEvent( QDragMoveEvent * );
+    void dragLeaveEvent( QDragLeaveEvent * );
+
+    friend class    Singleton<PlaylistDialog>;
+
+signals:
+    void visibilityChanged( bool );
 };