]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/playlist.cpp
Qt4 - When adding a file to the playlist by clicking on "Read" in the OpenFile dialog...
[vlc] / modules / gui / qt4 / dialogs / playlist.cpp
index 9f549f2b20ae5b6f3e73c6aa4564fa2584427b33..c97c587533c3cd0b1259c6905064b7ec91faf74f 100644 (file)
  ******************************************************************************/
 
 #include "dialogs/playlist.hpp"
-#include "util/qvlcframe.hpp"
-#include "qt4.hpp"
-#include "components/playlist/panels.hpp"
-#include "components/playlist/selector.hpp"
-#include <QHBoxLayout>
+
+#include "main_interface.hpp"
+#include "components/interface_widgets.hpp"
+#include "dialogs_provider.hpp"
 #include "menus.hpp"
 
+#include <QUrl>
+#include <QHBoxLayout>
+#include <QSignalMapper>
+#include <QMenu>
+#include <QAction>
+#include <QMenuBar>
+
 PlaylistDialog *PlaylistDialog::instance = NULL;
 
-PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
+PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf )
+                : QVLCMW( _p_intf )
 {
-    setWindowTitle( qtr( "Playlist" ) );
     QWidget *main = new QWidget( this );
     setCentralWidget( main );
-    QVLCMenu::createPlMenuBar( menuBar(), p_intf );
-
-    selector = new PLSelector( centralWidget(), p_intf, THEPL );
-    selector->setMaximumWidth( 140 );
+    setWindowTitle( qtr( "Playlist" ) );
+    setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
 
-    rightPanel = qobject_cast<PLPanel *>(new StandardPLPanel( centralWidget(),
-                              p_intf, THEPL, THEPL->p_local_category ) );
-    connect( selector, SIGNAL( activated( int ) ),
-             rightPanel, SLOT( setRoot( int ) ) );
+    QHBoxLayout *l = new QHBoxLayout( centralWidget() );
+    PlaylistWidget *plw = new PlaylistWidget( p_intf, NULL );
+    l->addWidget( plw );
 
-    QHBoxLayout *layout = new QHBoxLayout();
-    layout->addWidget( selector, 0 );
-    layout->addWidget( rightPanel, 10 );
-    centralWidget()->setLayout( layout );
-    readSettings( "playlist", QSize( 600,300 ) );
+    readSettings( "playlist", QSize( 600,700 ) );
 }
 
 PlaylistDialog::~PlaylistDialog()
 {
     writeSettings( "playlist" );
 }
+
+void PlaylistDialog::dropEvent(QDropEvent *event)
+{
+     const QMimeData *mimeData = event->mimeData();
+     foreach( QUrl url, mimeData->urls() ) {
+        QString s = url.toString();
+        if( s.length() > 0 ) {
+            playlist_Add( THEPL, qtu(s), NULL,
+                          PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE, VLC_FALSE );
+        }
+     }
+     event->acceptProposedAction();
+}
+void PlaylistDialog::dragEnterEvent(QDragEnterEvent *event)
+{
+     event->acceptProposedAction();
+}
+void PlaylistDialog::dragMoveEvent(QDragMoveEvent *event)
+{
+     event->acceptProposedAction();
+}
+void PlaylistDialog::dragLeaveEvent(QDragLeaveEvent *event)
+{
+     event->accept();
+}
+