/*****************************************************************************
* 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 );
};