]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/qt4.hpp
A bit of headers cleanup
[vlc] / modules / gui / qt4 / qt4.hpp
index 560245eccb56d0fd3d8f8c3295502369777cc609..8915455dbd59c3aa979184736787af4c8a1a256f 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************
  * qt4.hpp : QT4 interface
  ****************************************************************************
- * Copyright (C) 2000-2005 the VideoLAN team
- * $Id: wxwidgets.cpp 15731 2006-05-25 14:43:53Z zorglub $
+ * Copyright (C) 2006 the VideoLAN team
+ * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
  *
 #define _QVLC_H_
 
 #include <vlc/vlc.h>
-#include <vlc/intf.h>
+#include <vlc_interface.h>
+#include <vlc_playlist.h>
 #include <QEvent>
 
 class QApplication;
+class QMenu;
 class MainInterface;
 class DialogsProvider;
 class VideoWidget;
@@ -41,11 +43,45 @@ struct intf_sys_t
 
     VideoWidget *p_video;
     int i_saved_height, i_saved_width;
+
+    QMenu * p_popup_menu;
 };
 
 #define THEPL p_intf->p_sys->p_playlist
+#define QPL_LOCK vlc_mutex_lock( &THEPL->object_lock );
+#define QPL_UNLOCK vlc_mutex_unlock( &THEPL->object_lock );
+
+#define THEDP DialogsProvider::getInstance()
+#define THEMIM MainInputManager::getInstance( NULL )
+
+#define qfu( i ) QString::fromUtf8( i )
+#define qtr( i ) QString::fromUtf8( _(i) )
+#define qtu( i ) i.toUtf8().data()
+#define qta( i ) i.toAscii().data()
+
+#define CONNECT( a, b, c, d ) connect( a, SIGNAL( b ), c, SLOT(d) )
+#define BUTTONACT( b, a ) connect( b, SIGNAL( clicked() ), this, SLOT(a) )
+#define ON_TIMEOUT( act ) CONNECT( THEDP->fixed_timer, timeout(), this, act )
+
+#define BUTTON_SET( button, text, tooltip ) \
+    button->setText( text ); \
+    button->setToolTip( tooltip );
+
+#define BUTTON_SET_ACT( button, text, tooltip, thisslot ) \
+    BUTTON_SET( button, text, tooltip ); \
+    BUTTONACT( button, thisslot );
+
+#define BUTTON_SET_IMG( button, text, image, tooltip ) \
+    BUTTON_SET( button, text, tooltip ); \
+    button->setIcon( QIcon( ":/pixmaps/"#image ) );
+
+#define BUTTON_SET_ACT_I( button, text, image, tooltip, thisslot ) \
+    BUTTON_SET_IMG( button, text, image, tooltip ); \
+    BUTTONACT( button, thisslot );
 
 static int DialogEvent_Type = QEvent::User + 1;
+static int PLUndockEvent_Type = QEvent::User + 2;
+static int PLDockEvent_Type = QEvent::User + 3;
 
 class DialogEvent : public QEvent
 {
@@ -63,4 +99,15 @@ public:
     intf_dialog_args_t *p_arg;
 };
 
+/* Ugly to put it here, but don't want more files ... */
+#include <QFrame>
+class BasePlaylistWidget : public QFrame
+{
+public:
+    BasePlaylistWidget( intf_thread_t *_p_i ) : p_intf( _p_i)  {};
+    virtual ~BasePlaylistWidget() {};
+protected:
+    intf_thread_t *p_intf;
+};
+
 #endif