TQt3 toolkit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
6.9KB

  1. This file describes significant change from
  2. qt-x11-immodule-bc-qt3.3.2-20040623.
  3. Differences from previous release
  4. (qt-x11-immodule-unified-qt3.3.3-20040819) are itemized with '+'
  5. sign. Search it to track incremental change.
  6. ****************************************************************************
  7. * For users *
  8. ****************************************************************************
  9. General
  10. -------
  11. + A strange character inversion problem on some input methods has been
  12. fixed
  13. Input methods
  14. -------------
  15. - Added "simple" input method which provides dead/multi key composing
  16. for latin languages
  17. User Interface
  18. --------------
  19. - Added input method selection menu in the context menu of text
  20. widgets
  21. Configuration
  22. -------------
  23. + default IM configuration feature of qtconfig has been disabled in BC
  24. mode. This is a political change to avoid the confusion about input
  25. method configuration in accordance with GTK+ environment.
  26. See following discussion for further information.
  27. http://freedesktop.org/pipermail/immodule-qt/2004-August/000416.html
  28. - Added new environment variables TQT_IM_SWITCHER and TQT_IM_MODULE to
  29. set user's favorite input method as default. See README.immodule for
  30. examples.
  31. Build & Install
  32. ---------------
  33. + configure options have been changed for internal reasons. See 'How
  34. to install' section of README.immodule
  35. - This version of immodule requires corresponding version of each
  36. input method plugins (i.e. update your additional input method
  37. plugins)
  38. - Plugin directory has been changed from $TQTDIR/plugins/input/ to
  39. $TQTDIR/plugins/inputmethods/. Delete old directory.
  40. - Some codes have been changed to allow compiling against TQt 3.2.x or
  41. earlier.
  42. ****************************************************************************
  43. * For develpers *
  44. ****************************************************************************
  45. Documents
  46. ---------
  47. - Almost description of QInputContext and QInputContextPlugin has been
  48. filled. Feel free to ask obscure things at our mailinglist.
  49. New features
  50. ------------
  51. - Pluggable input method switcher
  52. Now we can write input method switcher as an ordinary input method
  53. plugin. The two plugins 'imsw-multi' and 'imsw-none' are provided as
  54. default. But the architecture needs more discussion about whether
  55. the design is right or not. Join the discussion.
  56. - Pluggable popup menu
  57. Any input method can provide its own popup menu. See
  58. http://freedesktop.org/pipermail/immodule-qt/2004-August/000266.html
  59. for further information.
  60. - QInputContext proxying
  61. Some methods of QInputContext have been changed to enable
  62. QInputContext proxying. This feature is required to implement
  63. pluggable input method switcher.
  64. General
  65. -------
  66. + QInputContext has been source compatible with Qt4 version. Basic
  67. input method plugin can be source compatible without #ifdef. Only
  68. pluggable popup menu requires #ifdef'ed different code. In addition,
  69. be careful about use of classes that is deprecated in Qt4.
  70. - Our two development tree for TQt3 'Binary Compatible' and 'ALL' have
  71. been merged into this unified source tree. The source tree is called
  72. 'Unified' patch.
  73. - 'dead keys' for latin languages have been added into Qt::Key
  74. - Added plugins/src/inputmethods directory to build input method
  75. plugins within the TQt source tree. The directory name 'inputmethods'
  76. is intended to be compatible with Qt/Embedded. Install directory
  77. name is still kept as 'input' for backward compatibility
  78. - Changed XIM input method to a plugin instead of directly link into
  79. libtqt
  80. - Plugin directory has been changed from $TQTDIR/plugins/input/ to
  81. $TQTDIR/plugins/inputmethods/. Replace install directory with new
  82. one.
  83. - Fixed some bugs in previous qt-x11-immodule-bc-qt3.3.2-20040623. See
  84. following log for more detail.
  85. * src/kernel/qwidget_x11.cpp
  86. - (destroyInputContext): Replace the code with original Simplified
  87. API patch. See the comment to recognize the original intention
  88. - (focusInputContext): Fix a condition to call qic->setFocus() as
  89. originally written. See added comment to recognize the original
  90. intention
  91. - QLocale dependency has been removed to be compiled on TQt 3.2.x or
  92. earlier
  93. - Many internal improvements and cleanups
  94. API Changes in qt-x11-immodule-unified-qt3.3.3-20040910
  95. -------------------------------------------------------
  96. + QInputContext
  97. * QInputContext()
  98. Added 'parent' arg to be compatible with Qt4. Since the arg
  99. defaults to 0, no modification of plugins are required.
  100. * language()
  101. * identifierName()
  102. Return type of these two methods have been changed from QCString
  103. which is deprecated in Qt4 to QString to make plugins source
  104. compatible with Qt4.
  105. * addActionsTo()
  106. New method for Qt4 text widget developer
  107. API Changes in qt-x11-immodule-unified-qt3.3.3-20040812
  108. -------------------------------------------------------
  109. - QInputContext proxying
  110. QInputContext have been changed as follows to enable QInputContext
  111. proxying.
  112. 1. Use signal to deliver QIMEvent instead of explicit
  113. postEvent(). This enables QIMEvent proxying and better platform
  114. abstraction. Corresponding slot is created as
  115. QApplication::imEventReceived().
  116. 2. Move some methods of QInputContext to public from protected or
  117. private. This enables that proxy-IM can access slave methods.
  118. 3. Make some methods of QInputContext virtual. This enables
  119. overriding the methods as proxy
  120. 4. Rename QInputContext::name() to identifierName() to avoid
  121. conflicting with QObject::name()
  122. - QInputContext
  123. * language()
  124. New method to indicate current language
  125. * menus()
  126. New method for the pluggable popup menu feature
  127. * addMenusTo()
  128. New method for text widget developer
  129. * deletionRequested()
  130. New signal to request deletion of this instance. This is added for
  131. fatal error handling
  132. * identifierName()
  133. This replaces name() of previous API to avoid conflicting with
  134. QObject::name(), and to distinguish the role from displayName()
  135. * filterEvent()
  136. Turn the argument into const. See
  137. http://freedesktop.org/pipermail/immodule-qt/2004-August/000335.html
  138. for further information
  139. * isComposing
  140. * isPreeditRelocationEnabled
  141. Move to public from protected to allow proxying
  142. * setFocusWidget
  143. * setHolderWidget
  144. * releaseComposingWidget
  145. Move to public from private to allow proxying
  146. * focusWidget
  147. * holderWidget
  148. - Make public from protected to allow proxying
  149. - Make virtual to allow overriding the method as proxy
  150. - QInputContextPlugin
  151. * languages()
  152. New method which returns what languages are supported by the
  153. QInputContext instance
  154. * displayName()
  155. New method which returns a user friendly i18n-ized name of the
  156. QInputContext instance
  157. * description()
  158. New method which returns a i18n-ized brief description of the
  159. QInputContext instance