Great Circle Associates

XCIN Mail-list
(July 1999)


Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: XIM patch for qt-1.44
From: Tung-Han Hsieh <thhsieh@linux.org.tw>
Date: Fri, 16 Jul 1999 23:44:58 +0800
To: xcin@linux.org.tw
Reply-To: xcin@linux.org.tw

Hi,

§Ú§Ë¦n patch ¤F¡A­n§ïªº¦a¤èº¡¤Öªº :-) ²{¦b qt-1.44 ¤w¯à±µ¨ü xcin-2.5
ªº¿é¤J¤F (§Ú¬O®³ kedit ¨Ó¸Õªº¡A¨ä¥Lµ{¦¡ÁÙ¨S¸Õ)¡A¥H¤U¬O patch:

=====================================================================
diff -r --unified qt-1.44.orig/src/kernel/qapplication_x11.cpp qt-1.44/src/kerne
l/qapplication_x11.cpp
--- qt-1.44.orig/src/kernel/qapplication_x11.cpp        Fri Jul 16 22:54:59 1999
+++ qt-1.44/src/kernel/qapplication_x11.cpp     Fri Jul 16 23:04:02 1999
@@ -1837,6 +1837,8 @@
        if ( quit_now )                         // quit between events
            return FALSE;
        XNextEvent( appDpy, &event );           // get next event
+       if (XFilterEvent(&event, None) == True)
+           return FALSE;
        nevents++;
 
        if ( x11ProcessEvent( &event ) == 1 )
@@ -1941,9 +1943,11 @@
        else if ( f )
            f = (QETWidget*)f->topLevelWidget();
     }
+/*
     if ( XFilterEvent( (XEvent*)event, f ? f->winId() : None ) ) {
        return 1;
     }
+*/
 #endif
 #endif
 
@@ -3195,10 +3199,12 @@
        }
        if ( xic ) {
 #ifndef XIM_FILTER_ALL
+/*
            if ( XFilterEvent( (XEvent*)event, winId() ) ) {
                composingKeycode = keycode; // ### not documented in xlib
                return TRUE;
            }
+*/
 #endif
            count = XmbLookupString( xic, &((XEvent*)event)->xkey,
                                     ascii, sizeof(asciiBuf), &key, &status );
diff -r --unified qt-1.44.orig/src/widgets/qmultilinedit.cpp qt-1.44/src/widgets
/qmultilinedit.cpp
--- qt-1.44.orig/src/widgets/qmultilinedit.cpp  Fri Jul 16 22:54:43 1999
+++ qt-1.44/src/widgets/qmultilinedit.cpp       Fri Jul 16 23:05:43 1999
@@ -256,8 +256,8 @@
     blinkTimer     = 0;
     scrollTimer    = 0;
 #if !defined(NO_XIM)
-//    setInputMethodStyle( IMSNothing, IMSNothing );
-    setInputMethodStyle( IMSPosition, IMSNothing );
+    setInputMethodStyle( IMSNothing, IMSNothing );
+//    setInputMethodStyle( IMSPosition, IMSNothing );
 //    setInputMethodStyle( IMSArea, IMSArea );
     setInputMethodEnabled( TRUE );
 #endif
=========================================================================

½Ð¯S§Oª`·N:

1. §Ú¬Oª½±µ®³ CLE ªº qt-1.44-8CLE.src.rpm ¨Ó§ïªº¡AùØÀY¤w¦³ 3 ­Ó patch:
   qt-1.44-CHINESE.patch, qt-1.44-enablegif.patch,
   qt-1.44-i18n-19990516.diff,
   ¥²¶·¥ý°µ¹L³o¤T­Ó patch ¤§«á¡A¤~¯à¥[¤J¤W­zªº patch

2. ª`·N¤@¤U§Ú¤W­±ªº patch, qmultilinedit.cpp ªº³¡¤À¡A¨ºùجO³]©w
   input_style ªº¡A¤£©¯ªº¬O qt ¦b³o­Ó¦a¤è¬O¼g¦ºªº¡A³o¤@ÂI¤£À³¸Ó¡AÀ³¸Ó
   ­n¹³ rxvt-2.6 ¤@¼Ë¥i¥HÅý¤H³]©w¡C¬°¤F¨Ï¥Î xcin-2.5 ¡A§Ú¥u¦n¼È®É³o»ò
   §ï (IMPreeditNothing, IMStatusNothing), ¦]¬°¥Ø«e xcin-2.5 ¥u¤ä´©³o
   ­Ó style, ¨Æ¹ê¤W¡A§Úı±o³oºØ¬O¡u³Ì°ò¥»¡vªº style, ¦pªGµ{¦¡¤@©w­n¼g
   ¦ºªº¸Ü¡A³Ì±Ò½X¥²¶·¼g¦¨³o¼Ë (¦n¹³¦b¬° xcin ³y¶Õ :-))

   «ØÄ³³o³¡¤À³Ì¦n¬O¥æµ¹ qt ªººûÅ@ªÌ¡AÅý¥L­Ì¥[¤J³o­Ó option ....

3. patch §¹¨Ã rebuild qt «á¡A±z¥i¥Hª½±µ®³ kedit ¨Ó¸Õ:

	export LANG=zh_TW.Big5
	export XMODIFIERS="@im=xcin"
	kedit

   ±z¥i¯à·|¨£¨ì¤@¨Ç warning or error message, ¨º¦n¹³­ì¨Ó´N¦³¤F¡A¥i¥H
   ¤£­n²z¥¦¡C³o®É¡A±zÀ³¸Ó¥i¥Hª½±µ¥Î xcin ¿é¤J¤F :-))

4. ¥Ø«e qt À³¥Îµ{¦¡ÁÙ¤£¯à¦b xcin ¤§«e±Ò°Ê¡A¦Ó xcin ±Ò°Ê«á­YÃö±¼ xcin
   qt ªºÀ³¥Îµ{¦¡¤]·|±¾±¼¡A­ì¦]¬O qt ¨S¦³µù¥U DestroyCallback, ¤]³\¥¦
   ¬O for X11R5 ªº­ì¬G§a¡C³o³¡¤ÀÁٻݭn§ï¡Aµ¥©ú«á¤Ñ§a :-))


T.H.Hsieh

Indexed By Date Previous: Re: ja-Eterm
From: Tung-Han Hsieh <thhsieh@linux.org.tw>
Next: Qt-1.44 XIM patch
From: Tung-Han Hsieh <thhsieh@linux.org.tw>
Indexed By Thread Previous: [Update] xcin-2.5.1-pre1-1
From: Tung-Han Hsieh <thhsieh@linux.org.tw>
Next: Qt-1.44 XIM patch
From: Tung-Han Hsieh <thhsieh@linux.org.tw>