*
* 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.
+ ******************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
#include "dialogs/playlist.hpp"
-#include "util/qvlcframe.hpp"
-#include "qt4.hpp"
-#include "components/playlist/panels.hpp"
-#include "components/playlist/selector.hpp"
+
+#include "components/playlist/playlist.hpp"
+
+#include "util/qt_dirs.hpp"
+
+#include <QUrl>
#include <QHBoxLayout>
PlaylistDialog *PlaylistDialog::instance = NULL;
-PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
+PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf )
+ : QVLCMW( _p_intf )
{
+ QWidget *main = new QWidget( this );
+ setCentralWidget( main );
setWindowTitle( qtr( "Playlist" ) );
- playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_intf,
- VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-
- QHBoxLayout *layout = new QHBoxLayout();
- selector = new PLSelector( this, p_intf );
- layout->addWidget( selector, 1 );
-
- rightPanel = qobject_cast<PLPanel *>(new StandardPLPanel( this, p_intf,
- p_playlist, p_playlist->p_root_category ) );
- layout->addWidget( rightPanel, 3 );
- readSettings( "playlist", QSize( 500,500 ) );
- setLayout( layout );
+ setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
+
+ QHBoxLayout *l = new QHBoxLayout( centralWidget() );
+
+ getSettings()->beginGroup("playlistdialog");
+
+ playlistWidget = new PlaylistWidget( p_intf );
+ l->addWidget( playlistWidget );
+
+ readSettings( getSettings(), QSize( 600,700 ) );
+
+ getSettings()->endGroup();
}
PlaylistDialog::~PlaylistDialog()
{
- writeSettings( "playlist" );
+ getSettings()->beginGroup("playlistdialog");
+ writeSettings( getSettings() );
+ getSettings()->endGroup();
+}
+
+void PlaylistDialog::dropEvent( QDropEvent *event )
+{
+ const QMimeData *mimeData = event->mimeData();
+ foreach( const QUrl &url, mimeData->urls() ) {
+ QString s = toNativeSeparators( url.toString() );
+ if( s.length() > 0 ) {
+ playlist_Add( THEPL, qtu(s), NULL,
+ PLAYLIST_APPEND, PLAYLIST_END, true, false );
+ }
+ }
+ event->acceptProposedAction();
}
+void PlaylistDialog::dragEnterEvent( QDragEnterEvent *event )
+{
+ event->acceptProposedAction();
+}
+void PlaylistDialog::dragMoveEvent( QDragMoveEvent *event )
+{
+ event->acceptProposedAction();
+}
+void PlaylistDialog::dragLeaveEvent( QDragLeaveEvent *event )
+{
+ event->accept();
+}
+