]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/playlist.hpp
Qt: Use the singleton class, to simplify the code
[vlc] / modules / gui / qt4 / dialogs / playlist.hpp
index 5e1adf7c81dc03494d70bc0a6d9e32db7fd4067d..ac20a45e94e14b0d3beb086e8f71823378a2ef7c 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_
+#ifndef QVLC_PLAYLIST_DIALOG_H_
+#define QVLC_PLAYLIST_DIALOG_H_ 1
 
-#include <QModelIndex>
 #include "util/qvlcframe.hpp"
+#include "../components/playlist/playlist.hpp"
+#include "util/singleton.hpp"
+
+#include <QModelIndex>
 
 class QSignalMapper;
 class PLSelector;
 class PLPanel;
+class QSettings;
 
-class PlaylistDialog : public QVLCMW
+class PlaylistDialog : public QVLCMW, public Singleton<PlaylistDialog>
 {
     Q_OBJECT;
-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; }
-    virtual ~PlaylistDialog();
 private:
+    PlaylistWidget *playlistWidget;
 
-    void createPlMenuBar( QMenuBar *bar, intf_thread_t *p_intf );
-    QMenu * SDMenu();
+private:
     PlaylistDialog( intf_thread_t * );
-    static PlaylistDialog *instance;
+    virtual ~PlaylistDialog();
+
+    void dropEvent( QDropEvent *);
+    void dragEnterEvent( QDragEnterEvent * );
+    void dragMoveEvent( QDragMoveEvent * );
+    void dragLeaveEvent( QDragLeaveEvent * );
 
-    QSignalMapper *SDMapper;
-    PLSelector *selector;
-    PLPanel *rightPanel;
-private slots:
-    void SDMenuAction( QString );
+    friend class    Singleton<PlaylistDialog>;
 };