From 94f37fcbd6ca5715857d5892868e8ab6ea6c5d78 Mon Sep 17 00:00:00 2001
From: KO Myung-Hun <komh@chollian.net>
Date: Tue, 11 Oct 2011 22:33:58 +0900
Subject: [PATCH 18/26] Add UI for KVA

---
 modules/gui/qt4/components/simple_preferences.cpp |    7 ++++
 modules/gui/qt4/qt4.cpp                           |    8 ++--
 modules/gui/qt4/ui/sprefs_video.ui                |   37 +++++++++++++++++++++
 3 files changed, 48 insertions(+), 4 deletions(-)

diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index e48c4e6..b910321 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -233,6 +233,13 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
             ui.hwYUVBox->setVisible( false );
 #endif
 
+#ifdef __OS2__
+            CONFIG_BOOL( "kva-fixt23", kvaFixT23 );
+            CONFIG_GENERIC( "kva-video-mode", StringList, ui.kvaVideoModeLabel,
+                            kvaVideoMode );
+#else
+            ui.kvaBox->setVisible( false );
+#endif
 
             CONFIG_GENERIC( "deinterlace", IntegerList, ui.deinterLabel, deinterlaceBox );
             CONFIG_GENERIC( "deinterlace-mode", StringList, ui.deinterModeLabel, deinterlaceModeBox );
diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
index 96ce80d..2f960de 100644
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -284,11 +284,11 @@ vlc_module_begin ()
 
         set_callbacks( OpenDialogs, Close )
 
-#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_MAC)
+#if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_MAC)  || defined(Q_WS_PM)
     add_submodule ()
 #if defined(Q_WS_X11)
         set_capability( "vout window xid", 0 )
-#elif defined(Q_WS_WIN)
+#elif defined(Q_WS_WIN) || defined(Q_WS_PM)
         set_capability( "vout window hwnd", 0 )
 #elif defined(Q_WS_MAC)
         set_capability( "vout window nsobject", 0 )
@@ -621,8 +621,8 @@ static int WindowOpen( vout_window_t *p_wnd, const vout_window_cfg_t *cfg )
         return VLC_EGENERIC;
     p_wnd->display.x11 = NULL;
 
-#elif defined (Q_WS_WIN)
-    p_wnd->handle.hwnd = p_mi->getVideo( &i_x, &i_y, &i_width, &i_height );
+#elif defined (Q_WS_WIN) || defined(Q_WS_PM)
+    p_wnd->handle.hwnd = (void *)p_mi->getVideo( &i_x, &i_y, &i_width, &i_height );
     if( !p_wnd->handle.hwnd )
         return VLC_EGENERIC;
 
diff --git a/modules/gui/qt4/ui/sprefs_video.ui b/modules/gui/qt4/ui/sprefs_video.ui
index 764b94f..c231a56 100644
--- a/modules/gui/qt4/ui/sprefs_video.ui
+++ b/modules/gui/qt4/ui/sprefs_video.ui
@@ -134,6 +134,41 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="kvaBox" >
+     <property name="title" >
+      <string>KVA</string>
+     </property>
+     <layout class="QGridLayout" >
+      <property name="margin" >
+       <number>9</number>
+      </property>
+      <property name="spacing" >
+       <number>6</number>
+      </property>
+      <item row="1" column="1" colspan="2" >
+       <widget class="QComboBox" name="kvaVideoMode" />
+      </item>
+      <item row="1" column="0" >
+       <widget class="QLabel" name="kvaVideoModeLabel" >
+        <property name="text" >
+         <string>Video mode</string>
+        </property>
+        <property name="buddy" >
+         <cstring>kvaVideoMode</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0" colspan="2" >
+       <widget class="QCheckBox" name="kvaFixT23" >
+        <property name="text" >
+         <string>Enable a workaround for T23</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+     </widget>
+   </item>
+   <item>
     <widget class="QGroupBox" name="groupBox_2">
      <property name="title">
       <string>Video</string>
@@ -301,6 +336,8 @@
   <tabstop>outputModule</tabstop>
   <tabstop>wallpaperMode</tabstop>
   <tabstop>dXdisplayDevice</tabstop>
+  <tabstop>kvaFixT23</tabstop>
+  <tabstop>kvaVideoMode</tabstop>
   <tabstop>deinterlaceBox</tabstop>
   <tabstop>deinterlaceModeBox</tabstop>
   <tabstop>arLine</tabstop>
-- 
1.7.3.2

