]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/playlist.hpp
Stop allocating QSettings all the time everywhere.
[vlc] / modules / gui / qt4 / dialogs / playlist.hpp
index 9a393732cefdeee864199c2d85f24518c12dfaf8..3516c051f25e1ed977e15ea61c20d4fa8ecfa092 100644 (file)
  *
  * 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_
 
-#include <QModelIndex>
 #include "util/qvlcframe.hpp"
+#include "../components/playlist/playlist.hpp"
+
+#include <QModelIndex>
 
+class QSignalMapper;
 class PLSelector;
 class PLPanel;
+class QSettings;
 
-class PlaylistDialog : public QVLCFrame
+class PlaylistDialog : public QVLCMW
 {
     Q_OBJECT;
+private:
+    PlaylistWidget *playlistWidget;
+
 public:
     static PlaylistDialog * getInstance( intf_thread_t *p_intf )
     {
         if( !instance) instance = new PlaylistDialog( p_intf );
         return instance;
     }
+    static void killInstance()
+    {
+        if( instance ) delete instance;
+        instance = NULL;
+    }
     virtual ~PlaylistDialog();
 private:
     PlaylistDialog( intf_thread_t * );
-    static PlaylistDialog *instance;
 
-    PLSelector *selector;
-    PLPanel *rightPanel;
+    void dropEvent( QDropEvent *);
+    void dragEnterEvent( QDragEnterEvent * );
+    void dragMoveEvent( QDragMoveEvent * );
+    void dragLeaveEvent( QDragLeaveEvent * );
+
+    static PlaylistDialog *instance;
 };