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@