]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/qt4.hpp
Stop allocating QSettings all the time everywhere.
[vlc] / modules / gui / qt4 / qt4.hpp
index dc0fe959cdd09adf56d2f33a4a5ace1a78e50f77..7b0236ceccf5114f6c494d127162e500831722d6 100644 (file)
@@ -29,7 +29,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include <vlc_interface.h>
 #include <vlc_playlist.h>
 
 
 #define HAS_QT43 ( QT_VERSION >= 0x040300 )
 
-/* Add define for duration, VLC_META_ENGINE doesn't include it */
-#define VLC_META_ENGINE_DURATION   0x00000002
-#define VLC_META_DURATION          N_( "Duration" )
-
 #define QT_NORMAL_MODE 0
 #define QT_ALWAYS_VIDEO_MODE 1
 #define QT_MINIMAL_MODE 2
@@ -50,12 +46,15 @@ class QMenu;
 class MainInterface;
 class DialogsProvider;
 class VideoWidget;
+class QSettings;
 
 struct intf_sys_t
 {
     QApplication *p_app;
     MainInterface *p_mi;
 
+    QSettings *mainSettings;
+
     bool b_isDialogProvider;
 
     playlist_t *p_playlist;
@@ -68,8 +67,8 @@ struct intf_sys_t
 };
 
 #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 QPL_LOCK vlc_object_lock( THEPL );
+#define QPL_UNLOCK vlc_object_unlock( THEPL );
 
 #define THEDP DialogsProvider::getInstance()
 #define THEMIM MainInputManager::getInstance( p_intf )
@@ -93,7 +92,7 @@ struct intf_sys_t
 
 #define BUTTON_SET_IMG( button, text, image, tooltip )    \
     BUTTON_SET( button, text, tooltip );                  \
-    button->setIcon( QIcon( ":/pixmaps/"#image ) );
+    button->setIcon( QIcon( ":/"#image ) );
 
 #define BUTTON_SET_ACT_I( button, text, image, tooltip, thisslot ) \
     BUTTON_SET_IMG( button, text, image, tooltip );                \
@@ -104,10 +103,24 @@ struct intf_sys_t
 #define TOGGLEV( x ) { if( x->isVisible() ) x->hide();          \
             else  x->show(); }
 
-static int DialogEvent_Type = QEvent::User + 1;
-//static int PLUndockEvent_Type = QEvent::User + 2;
-//static int PLDockEvent_Type = QEvent::User + 3;
-static int SetVideoOnTopEvent_Type = QEvent::User + 4;
+#if QT43
+    #define setLayoutMargins( a, b, c, d, e) setContentsMargins( a, b, c, d )
+#else
+    #define setLayoutMargins( a, b, c, d, e) setMargin( e )
+#endif
+
+#define getSettings() p_intf->p_sys->mainSettings
+
+enum {
+    DialogEventType = 0,
+    IMEventType     = 100,
+    PLEventType     = 200
+};
+
+static int DialogEvent_Type = QEvent::User + DialogEventType + 1;
+//static int PLUndockEvent_Type = QEvent::User + DialogEventType + 2;
+//static int PLDockEvent_Type = QEvent::User + DialogEventType + 3;
+static int SetVideoOnTopEvent_Type = QEvent::User + DialogEventType + 4;
 
 class DialogEvent : public QEvent
 {