playlist.cpp
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * playlist.cpp : Playlist dialog
  3.  ****************************************************************************
  4.  * Copyright (C) 2006 the VideoLAN team
  5.  * $Id: 2736e5279c3982fecec87e3c559362b66fe1ce96 $
  6.  *
  7.  * Authors: Clément Stenac <zorglub@videolan.org>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  22.  ******************************************************************************/
  23. #ifdef HAVE_CONFIG_H
  24. # include "config.h"
  25. #endif
  26. #include "dialogs/playlist.hpp"
  27. #include "components/playlist/playlist.hpp"
  28. #include "util/qt_dirs.hpp"
  29. #include <QUrl>
  30. #include <QHBoxLayout>
  31. PlaylistDialog *PlaylistDialog::instance = NULL;
  32. PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf )
  33.                 : QVLCMW( _p_intf )
  34. {
  35.     QWidget *main = new QWidget( this );
  36.     setCentralWidget( main );
  37.     setWindowTitle( qtr( "Playlist" ) );
  38.     setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
  39.     QHBoxLayout *l = new QHBoxLayout( centralWidget() );
  40.     getSettings()->beginGroup("playlistdialog");
  41.     playlistWidget = new PlaylistWidget( p_intf );
  42.     l->addWidget( playlistWidget );
  43.     readSettings( getSettings(), QSize( 600,700 ) );
  44.     getSettings()->endGroup();
  45. }
  46. PlaylistDialog::~PlaylistDialog()
  47. {
  48.     getSettings()->beginGroup("playlistdialog");
  49.     writeSettings( getSettings() );
  50.     getSettings()->endGroup();
  51. }
  52. void PlaylistDialog::dropEvent( QDropEvent *event )
  53. {
  54.      const QMimeData *mimeData = event->mimeData();
  55.      foreach( const QUrl &url, mimeData->urls() ) {
  56.         QString s = toNativeSeparators( url.toString() );
  57.         if( s.length() > 0 ) {
  58.             playlist_Add( THEPL, qtu(s), NULL,
  59.                           PLAYLIST_APPEND, PLAYLIST_END, true, false );
  60.         }
  61.      }
  62.      event->acceptProposedAction();
  63. }
  64. void PlaylistDialog::dragEnterEvent( QDragEnterEvent *event )
  65. {
  66.      event->acceptProposedAction();
  67. }
  68. void PlaylistDialog::dragMoveEvent( QDragMoveEvent *event )
  69. {
  70.      event->acceptProposedAction();
  71. }
  72. void PlaylistDialog::dragLeaveEvent( QDragLeaveEvent *event )
  73. {
  74.      event->accept();
  75. }