[vlc-devel] commit: QT4 wineventfilter for Win32, allows WM_APPCOMMAND stuff ( Kaarlo Raiha )

git version control git at videolan.org
Mon Oct 20 18:17:15 CEST 2008


vlc | branch: 0.9-bugfix | Kaarlo Raiha <kaarlo.raiha at tut.fi> | Sun Oct  5 17:35:00 2008 +0300| [9f204b6a3c83a49e9a14b49cec417bc270b5ddf4] | committer: Jean-Baptiste Kempf 

QT4 wineventfilter for Win32, allows WM_APPCOMMAND stuff

Signed-off-by: Rémi Denis-Courmont <rdenis at simphalempin.com>
(cherry picked from commit 2573062f8b833f39b2d528617bf52f0ed77125fc)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9f204b6a3c83a49e9a14b49cec417bc270b5ddf4
---

 modules/gui/qt4/qt4.cpp |   17 +++++++++++++++++
 modules/gui/qt4/qt4.hpp |   13 +++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
old mode 100644
new mode 100755
index ec788f6..f5f62bc
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -220,6 +220,19 @@ vlc_module_begin();
 #endif
 vlc_module_end();
 
+#if defined(Q_WS_WIN)
+bool WinQtApp::winEventFilter( MSG *msg, long *result )
+{
+    switch( msg->message )
+    {
+        case 0x0319: /* WM_APPCOMMAND 0x0319 */
+        DefWindowProc( msg->hwnd, msg->message, msg->wParam, msg->lParam );
+        break;
+    }
+    return false;
+}
+#endif /* Q_WS_WIN */
+
 /*****************************************************************************
  * Module callbacks
  *****************************************************************************/
@@ -333,7 +346,11 @@ static void *Init( vlc_object_t *obj )
 #endif
 
     /* Start the QApplication here */
+#ifdef WIN32
+    WinQtApp *app = new WinQtApp( argc, argv , true );
+#else
     QApplication *app = new QApplication( argc, argv , true );
+#endif
     p_intf->p_sys->p_app = app;
 
     p_intf->p_sys->mainSettings = new QSettings(
diff --git a/modules/gui/qt4/qt4.hpp b/modules/gui/qt4/qt4.hpp
old mode 100644
new mode 100755
index 2a0e004..f9a4663
--- a/modules/gui/qt4/qt4.hpp
+++ b/modules/gui/qt4/qt4.hpp
@@ -48,6 +48,19 @@ class DialogsProvider;
 class VideoWidget;
 class QSettings;
 
+#if defined(Q_WS_WIN)
+#include <QApplication>
+
+class WinQtApp : public QApplication
+{
+public:
+    WinQtApp ( int & argc, char ** argv, bool GUIenabled ) : QApplication( argc, argv, GUIenabled ) {}
+    ~WinQtApp() {}
+protected:
+    bool winEventFilter(MSG *msg, long *result);
+};
+#endif /* Q_WS_WIN */
+
 struct intf_sys_t
 {
     QApplication *p_app;




More information about the vlc-devel mailing list