[Uim] [immodule_for_Qt] stabilizing API change

YamaKen yamaken at bp.iij4u.or.jp
Tue Jun 8 15:02:25 EEST 2004

Hi there. Excuse me for posting Qt-centric article.

At Sun, 06 Jun 2004 05:02:04 +0900,
yamaken at bp.iij4u.or.jp wrote:
> - Remaining work
>   * Fix some bugs

I've updated the patch to fix known bugs.


The bugs have almost been wiped out, except for the one
involving QUimInputContext and scrollbar. I will remove the one

Daiske-san, please check and merge the patch. Some comments in
the patch will help.

2004-06-08  YamaKen  <yamaken at bp.iij4u.or.jp>

	* src/kernel/qrichtext_p.h
	  - (QTextCursor::place): New 5-args overloaded function
	  - (QTextCursor::place): 3-args version of the function is
	    reimplemented as inline function using new 5-args one.
	* src/kernel/qrichtext.cpp
	  - (QTextCursor::place): Remove 3-args version of the function
	  - (QTextCursor::place): New 5-args overloaded function. This
	    is copied from 3-args one and added new args loosePlacing
	    and matchBetweenCharacters

	* src/widgets/qtextedit.cpp
	  - (sendMouseEventToInputContext): Send mouse event when only
	    mouse cursor is placed within preedit area. This is
	    accomplished by new 5-args QTextCursor::place()
	  - (contentsContextMenuEvent): Disable context menu when in
	    IM composing state
	  - (drawContents): Add updateMicroFocusHint() to follow
	    dragging of active window by the showed candidate window
	  - (contentsMouseMoveEvent): Fix cursor vanishing on IM
	    composing state

	* src/kernel/qlineedit.cpp
	  - (sendMouseEventToInputContext): Exclude character at
	    preedit[preeditLength] from being handled as preedit
	  - (contextMenuEvent): Disable context menu when in IM
	    composing state
	  - (focusInEvent): Fix invalid MicroFocusHint position which
	    caused that candidate window is always showed at end of
	    the preedit when active window is show() back

2004-06-07  YamaKen  <yamaken at bp.iij4u.or.jp>

	* src/kernel/qwidget_x11.cpp
	  - (reparentSys): Fix an invalid assumption about input
	    context location involving destroyInputContext()
	  - (deleteTLSysExtra): Remove destroyInputContext() because
	    the input context is not a extra data and should be
	    destroyed in QWidget::destroy()
	  - (destroyInputContext): Remove icHolderWidget() because
	    this function is called to destroy the input context that
	    belongs to the widget itself
	  - (destroy): Replace 'this->ic' with 'ic'
	  - (create): Replace 'this->ic' with 'ic'

	* src/kernel/qwidget.cpp
	  - (hide): Add unfocusInputContext()

	* src/kernel/qapplication.cpp
	  - (setActiveWindow): Add unfocusInputContext()

	* src/kernel/qlineedit.cpp
	  - (QLineEditPrivate::xToPosInternal): New function. Copied
	      from xToPos and Remove the safety limiter.
	  - (QLineEditPrivate::xToPos): Reimprement using xToPosInternal
	  - (sendMouseEventToInputContext):
	    * Fix position boundary as matching with character
	      boundary rather than center of character
	    * Send mouse event when only mouse cursor is placed within
	      preedit area. This is accomplished by replacing xToPos()
	      with xToPosInternal()

YamaKen  yamaken at bp.iij4u.or.jp

More information about the uim mailing list