X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fdialogs%2Fplaylist.cpp;h=a01c326c58cdc2efb30b1bd38a2a544d64da4121;hb=17413bf6fa8456c7942451dd7bb1fbf4231a51e7;hp=a20469802e9df2b4eb934331fab581463d467a37;hpb=f10eac9f21c88d529de88ae1b8eeece388f3068c;p=vlc diff --git a/modules/gui/qt4/dialogs/playlist.cpp b/modules/gui/qt4/dialogs/playlist.cpp index a20469802e..a01c326c58 100644 --- a/modules/gui/qt4/dialogs/playlist.cpp +++ b/modules/gui/qt4/dialogs/playlist.cpp @@ -22,37 +22,33 @@ ******************************************************************************/ #include "dialogs/playlist.hpp" -#include "util/qvlcframe.hpp" -#include "qt4.hpp" -#include "components/playlist/panels.hpp" -#include "components/playlist/selector.hpp" -#include + +#include "main_interface.hpp" +#include "components/playlist/playlist.hpp" +#include "dialogs_provider.hpp" #include "menus.hpp" +#include +#include +#include +#include +#include +#include + PlaylistDialog *PlaylistDialog::instance = NULL; -PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) +PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf ) + : QVLCMW( _p_intf ) { QWidget *main = new QWidget( this ); setCentralWidget( main ); setWindowTitle( qtr( "Playlist" ) ); - QVLCMenu::createPlMenuBar( menuBar(), p_intf ); + setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) ); - selector = new PLSelector( centralWidget(), p_intf, THEPL ); - selector->setMaximumWidth( 130 ); + QHBoxLayout *l = new QHBoxLayout( centralWidget() ); + PlaylistWidget *plw = new PlaylistWidget( p_intf, NULL ); + l->addWidget( plw ); - playlist_item_t *p_root = playlist_GetPreferredNode( THEPL, - THEPL->p_local_category ); - - rightPanel = qobject_cast(new StandardPLPanel( centralWidget(), - p_intf, THEPL, p_root ) ); - connect( selector, SIGNAL( activated( int ) ), - rightPanel, SLOT( setRoot( int ) ) ); - - QHBoxLayout *layout = new QHBoxLayout(); - layout->addWidget( selector, 0 ); - layout->addWidget( rightPanel, 10 ); - centralWidget()->setLayout( layout ); readSettings( "playlist", QSize( 600,700 ) ); } @@ -60,3 +56,29 @@ 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(); +} +