[immodule-qt] New patch has been released for testing

YamaKen yamaken at bp.iij4u.or.jp
Thu Aug 12 16:14:45 EEST 2004


Hi all, I've written 'important changes' file for the upcoming
release.

Please review the description. I may have forgotten something :)

Karl, please follow the API changes. Our next stable immodule
patch will soon be available.


At Thu, 12 Aug 2004 17:25:38 +0900,
yamaken at bp.iij4u.or.jp wrote:
> 
> Hi all, I've released an updated patch for testing. Please test
> and report.
> 
> http://immodule-qt.freedesktop.org/Software/ImmoduleQtDownload
> 
> Some compilation time and runtime problems for Binary Compatible
> mode have been fixed.


changes.immodule:
----------------------------------------------------------------------------
qt-x11-immodule-unified-qt3.3.2-20040812 is a test release. It breaks
backward compatibility (source and binary) about immodule with our
previous release qt-x11-immodule-bc-qt3.3.2-20040623.

However, backward compatibility (source and binary) with normal Qt
3.3.2 is kept in 'Binary Compatible' mode.


****************************************************************************
*                           For users                                      *
****************************************************************************

Input methods
-------------

- Added "simple" input method which provides dead/multi key composing
  for latin languages


User Interface
--------------

- Added input method selection menu in the context menu of text
  widgets


Configuration
-------------

- Added new environment variables QT_IM_SWITCHER and QT_IM_MODULE to
  set user's favorite input method as default. See README.immodule for
  examples.


****************************************************************************
*                          For develpers                                   *
****************************************************************************

Documents
---------

- Almost description of QInputContext and QInputContextPlugin has been
  filled. Feel free to ask obscure things at our mailinglist.


New features
------------

- Pluggable input method switcher

  Now we can write input method switcher as an ordinary input method
  plugin. The two plugins 'imsw-multi' and 'imsw-none' are provided as
  default. But the architecture needs more discussion about whether
  the design is right or not. Join the discussion.

- Pluggable popup menu

  Any input method can provide its own popup menu. See
  http://freedesktop.org/pipermail/immodule-qt/2004-August/000266.html
  for further information.

- QInputContext proxying

  Some methods of QInputContext have been changed to enable
  QInputContext proxying. This feature is required to implement
  pluggable input method switcher.


General
-------

- Our two development tree for Qt3 'Binary Compatible' and 'ALL' have
  been merged into this unified source tree. The source tree is called
  'Unified' patch.

- Add plugins/src/inputmethods directory to build input method plugins
  within the Qt source tree. The directory name 'inputmethods' is
  intended to be compatible with Qt/Embedded. Install directory name
  is still kept as 'input' for backward compatibility

- Change XIM input method to a plugin instead of directly link into
  libqt

- Fix some bugs in previous qt-x11-immodule-bc-qt3.3.2-20040623. See
  following log for more detail.

  * src/kernel/qwidget_x11.cpp
    - (destroyInputContext): Replace the code with original Simplified
      API patch. See the comment to recognize the original intention
    - (focusInputContext): Fix a condition to call qic->setFocus() as
      originally written. See added comment to recognize the original
      intention

- Many internal improvements and cleanups


API Changes
-----------

- QInputContext proxying

  QInputContext have been changed as follows to enable QInputContext
  proxying.

  1. Use signal to deliver QIMEvent instead of explicit
     postEvent(). This enables QIMEvent proxying and better platform
     abstraction. Corresponding slot is created as
     QApplication::imEventReceived().

  2. Move some methods of QInputContext to public from protected or
     private. This enables that proxy-IM can access slave methods.

  3. Make some methods of QInputContext virtual. This enables
     overriding the methods as proxy

  4. Rename QInputContext::name() to identifierName() to avoid
     conflicting with QObject::name()


- QInputContext

  * language()

    New method to indicate current language

  * menus()

    New method for the pluggable popup menu feature

  * addMenusTo()

    New method for text widget developer

  * deletionRequested()

    New signal to request deletion of this instance

  * identifierName()

    This replaces name() of previous API to avoid conflicting with
    QObject::name()

  * filterEvent()

    Turn the argument into const. See
    http://freedesktop.org/pipermail/immodule-qt/2004-August/000335.html
    for further information

  * isComposing
  * isPreeditRelocationEnabled

    Move to public from protected to allow proxying

  * setFocusWidget
  * setHolderWidget
  * releaseComposingWidget

    Move to public from private to allow proxying

  * focusWidget
  * holderWidget

    - Make public from protected
    - Make virtual to allow overriding the method as proxy

- QInputContextPlugin

  * languages()

    New method which returns what languages are supported by the
    QInputContext instance

  * displayName()

    New method which returns a user friendly i18n-ized name of the
    QInputContext instance

  * description()

    New method which returns a i18n-ized brief description of the
    QInputContext instance
----------------------------------------------------------------------------

-------------------------------
YamaKen  yamaken at bp.iij4u.or.jp



More information about the immodule-qt mailing list