Author: yamakenz
Date: Fri Sep 21 14:58:53 2007
New Revision: 5004

Modified:
   trunk/qt4/immodule/plugin.cpp
   trunk/qt4/immodule/quiminputcontext.cpp
   trunk/qt4/immodule/quiminputcontext.h
   trunk/qt4/immodule/quiminputcontextplugin.pro.in

Log:
* This commit port the Japanese kana-input hack from Qt3 immodule. And
  is correctly working

* qt4/immodule/plugin.cpp
  - Include QX11Info and uim-x-util.h
  - (UimInputContextPlugin::uimInit): Add uim_x_kana_input_hack_init()
* qt4/immodule/quiminputcontext.h
  - (UIM_QT_USE_JAPANESE_KANA_KEYBOARD_HACK): New macro
  - (QUimInputContext::x11FilterEvent): New function decl
* qt4/immodule/quiminputcontext.cpp
  - Include Xlib.h and uim-x-util.h
  - (QUimInputContext::x11FilterEvent): Port the kana-input hack from
    Qt3 immodule
* qt4/immodule/quiminputcontextplugin.pro.in
  - (LIBS): Add -luim-x-util
  - (QMAKE_LIBDIR): Add uim/.libs


Modified: trunk/qt4/immodule/plugin.cpp
==============================================================================
--- trunk/qt4/immodule/plugin.cpp       (original)
+++ trunk/qt4/immodule/plugin.cpp       Fri Sep 21 14:58:53 2007
@@ -4,8 +4,12 @@
 #include <qinputcontextplugin.h>
 #include <qinputcontext.h>
 #include <qstringlist.h>
+#ifdef Q_WS_X11
+#include <QX11Info>
+#endif
 
-#include <uim/uim.h>
+#include "uim/uim.h"
+#include "uim/uim-x-util.h"
 
 #include "quiminfomanager.h"
 #include "quiminputcontext_with_slave.h"
@@ -76,7 +80,9 @@
     if ( !uim_init() ) {
         if (!infoManager)
             infoManager = new QUimInfoManager();
-
+#if UIM_QT_USE_JAPANESE_KANA_KEYBOARD_HACK
+       uim_x_kana_input_hack_init( QX11Info::display() );
+#endif
         uimReady = true;
     }
 }

Modified: trunk/qt4/immodule/quiminputcontext.cpp
==============================================================================
--- trunk/qt4/immodule/quiminputcontext.cpp     (original)
+++ trunk/qt4/immodule/quiminputcontext.cpp     Fri Sep 21 14:58:53 2007
@@ -27,6 +27,12 @@
 #include <uim/uim-scm.h>
 #include <uim/uim-im-switcher.h>
 
+#if UIM_QT_USE_JAPANESE_KANA_KEYBOARD_HACK
+#include <X11/Xlib.h>
+
+#include "uim/uim-x-util.h"
+#endif
+
 #define DEFAULT_SEPARATOR_STR "|"
 
 QUimInputContext *focusedInputContext = NULL;
@@ -139,6 +145,21 @@
 
     return uc;
 }
+
+#ifdef Q_WS_X11
+bool QUimInputContext::x11FilterEvent( QWidget *keywidget, XEvent *event )
+{
+    // to suppress warning
+    keywidget = keywidget;
+    event = event;
+
+#if UIM_QT_USE_JAPANESE_KANA_KEYBOARD_HACK
+    return uim_x_kana_input_hack_filter_event( m_uc, event );
+#else
+    return FALSE;
+#endif
+}
+#endif // Q_WS_X11
 
 bool QUimInputContext::filterEvent( const QEvent *event )
 {

Modified: trunk/qt4/immodule/quiminputcontext.h
==============================================================================
--- trunk/qt4/immodule/quiminputcontext.h       (original)
+++ trunk/qt4/immodule/quiminputcontext.h       Fri Sep 21 14:58:53 2007
@@ -7,6 +7,10 @@
 #include <qinputcontext.h>
 #include <qevent.h>
 
+#ifdef Q_WS_X11
+#define UIM_QT_USE_JAPANESE_KANA_KEYBOARD_HACK 1
+#endif
+
 #include <uim/uim.h>
 #include <uim/uim-helper.h>
 #include <uim/uim-util.h>
@@ -42,6 +46,9 @@
     virtual QString identifierName();
     virtual QString language();
 
+#ifdef Q_WS_X11
+    virtual bool x11FilterEvent( QWidget *keywidget, XEvent *event );
+#endif
     virtual bool filterEvent( const QEvent *event );
     virtual void reset();
     virtual void update();

Modified: trunk/qt4/immodule/quiminputcontextplugin.pro.in
==============================================================================
--- trunk/qt4/immodule/quiminputcontextplugin.pro.in    (original)
+++ trunk/qt4/immodule/quiminputcontextplugin.pro.in    Fri Sep 21 14:58:53 2007
@@ -10,9 +10,10 @@
                @abs_top_builddir@/replace
 QMAKE_LIBDIR += @abs_top_builddir@/uim
 # Since the plugin linked with libtool did not work, link the
-# static library directly
+# static libraries directly
 QMAKE_LIBDIR += @abs_top_builddir@/replace/.libs
-LIBS += -lreplace -luim -luim-scm
+QMAKE_LIBDIR += @abs_top_builddir@/uim/.libs
+LIBS += -lreplace -luim -luim-scm -luim-x-util
 
 QMAKE_CFLAGS_DEBUG     += @CFLAGS@   @X_CFLAGS@
 QMAKE_CFLAGS_RELEASE   += @CFLAGS@   @X_CFLAGS@

Reply via email to