| [397] | 1 | This document contains a brief list of the most important OS/2-specific changes
 | 
|---|
 | 2 | in the Qt library from release to release.
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | 
 | 
|---|
 | 5 | CHANGES
 | 
|---|
 | 6 | 
 | 
|---|
 | 7 | Beta 5 (06-12-2009)
 | 
|---|
 | 8 | 
 | 
|---|
 | 9 |   Improvements:
 | 
|---|
 | 10 | 
 | 
|---|
 | 11 |   - gui: Added support for the system clipboard. Qt can now exchange plain text,
 | 
|---|
 | 12 |     HTML (Mozilla application suite) and bitmaps with other PM applications, as
 | 
|---|
 | 13 |     well as all supported MIME data types with other Qt-based applications.
 | 
|---|
 | 14 | 
 | 
|---|
 | 15 |   - corelib: Use system unicode conversion routines to convert from the system
 | 
|---|
 | 16 |     code page to Unicode and back. This makes it unnecessary to specify the
 | 
|---|
 | 17 |     system encoding in the LANG environment variable -- Qt will use the system
 | 
|---|
 | 18 |     encoding of the current process.
 | 
|---|
 | 19 | 
 | 
|---|
 | 20 |   - gui: Implemented support for the IME input box (used on DBCS systems) in Qt
 | 
|---|
 | 21 |     applications with a known limitation that the input box is always positioned
 | 
|---|
 | 22 |     at the lower left corner of the top-level window.
 | 
|---|
 | 23 | 
 | 
|---|
 | 24 |   - gui: Improved font handling on DBCS systems (patch by komh):
 | 
|---|
 | 25 |     * Read national face names from font files instead of always taking the
 | 
|---|
 | 26 |       Latin name.
 | 
|---|
 | 27 |     * Use the PM_AssociateFont registry key to select a fallback font for
 | 
|---|
 | 28 |       missing characters.
 | 
|---|
 | 29 | 
 | 
|---|
 | 30 |   - gui: Implemented QPixmap::grabWindow() which takes a screenshot of a window.
 | 
|---|
 | 31 | 
 | 
|---|
 | 32 |   - gui: Steal the Alt key from the PM which prevents the PM system menu to be
 | 
|---|
 | 33 |     shown when single Alt is pressed in a Qt application. The system menu may
 | 
|---|
 | 34 |     still be called using Alt+Space. Note that this also disables all default
 | 
|---|
 | 35 |     shortuts from the system menu (Alt+F7, Alt+F10 etc.) so that they available
 | 
|---|
 | 36 |     to Qt applications now. Exceptions are Alt+F4, Ctrl+Esc, Alt+Esc which are
 | 
|---|
 | 37 |     not passed to Qt and will function as in regular PM applciations.
 | 
|---|
 | 38 | 
 | 
|---|
 | 39 |   - general: Binary Qt library builds are made portable: they do not contain
 | 
|---|
 | 40 |     hard-coded paths to various Qt components any more and use relative
 | 
|---|
 | 41 |     locations whenever possible. See
 | 
|---|
 | 42 |     http://svn.netlabs.org/qt4/browser/tags/4.5.1-os2-beta5/doc/src/qt-conf.qdoc
 | 
|---|
 | 43 |     for more info.
 | 
|---|
 | 44 | 
 | 
|---|
 | 45 |   - corelib: Improved the polling QFileSystemWatcher implementation so that it
 | 
|---|
 | 46 |     doesn't eat all CPU when there are more than 100 items to watch, like when
 | 
|---|
 | 47 |     showing a file open dialog with many files in a directory.
 | 
|---|
 | 48 | 
 | 
|---|
 | 49 |   - qmake: Improved processing of the project library list (LIBS variable) to
 | 
|---|
 | 50 |     avoid appearance of raw library names that require substitution (fixes the
 | 
|---|
 | 51 |     debug build of linguist).
 | 
|---|
 | 52 | 
 | 
|---|
 | 53 |   - qmake: Added support for DEF_FILE_VERSION, DEF_FILE_DESCRIPTION and
 | 
|---|
 | 54 |     DEF_FILE_VENDOR project variables that allow to embed the description
 | 
|---|
 | 55 |     string into a generated DLL or executable. For compatibility with other
 | 
|---|
 | 56 |     platforms, these variables by default are mapped to VERSION,
 | 
|---|
 | 57 |     QMAKE_TARGET_PRODUCT + QMAKE_TARGET_DESCRIPTION + QMAKE_TARGET_COPYRIGHT and
 | 
|---|
 | 58 |     QMAKE_TARGET_COMPANY, respectively.
 | 
|---|
 | 59 | 
 | 
|---|
 | 60 |   Fixes:
 | 
|---|
 | 61 | 
 | 
|---|
 | 62 |   - gui: Table views showed alternate rows in black color instead of light gray.
 | 
|---|
 | 63 | 
 | 
|---|
 | 64 |   - gui: If some font style (e.g. Bold) does not provide characters for some
 | 
|---|
 | 65 |     script (e.g. Cyrillic) while the Normal style does, a different font will be
 | 
|---|
 | 66 |     chosen for Bold Cyrillic instead of drawing empty boxes.
 | 
|---|
 | 67 | 
 | 
|---|
 | 68 |   - corelib: Fixed two issues related to loading text codec plugins from the
 | 
|---|
 | 69 |     application's directory.
 | 
|---|
 | 70 | 
 | 
|---|
 | 71 |   - corelib: Fixed QDir::absoluteFilePath(), midir()/mkpath(), rmdir()/rmpath()
 | 
|---|
 | 72 |     that didn't properly handle relative and UNC paths which could cause various
 | 
|---|
 | 73 |     path-related failures.
 | 
|---|
 | 74 | 
 | 
|---|
 | 75 |   - corelib: Properly report root directories of drives to Qt. This makes
 | 
|---|
 | 76 |     letters of removable drives always seen by Qt (for example, in the file open
 | 
|---|
 | 77 |     dialog) even if the medium isn't currently inserted.
 | 
|---|
 | 78 | 
 | 
|---|
 | 79 |   - corelib: Fixed unnecessary access to removable drives and a long delay and
 | 
|---|
 | 80 |     noice caused by it when showing a file open dialog in Qt applications.
 | 
|---|
 | 81 | 
 | 
|---|
 | 82 | Beta 4 (11-11-2009)
 | 
|---|
 | 83 | 
 | 
|---|
 | 84 |   Improvements:
 | 
|---|
 | 85 | 
 | 
|---|
 | 86 |   - Added sound support (implemented QSound class).
 | 
|---|
 | 87 | 
 | 
|---|
 | 88 |   - Added system tray support (QSystemTrayIcon class). This support requires
 | 
|---|
 | 89 |     the Extended system tray XCenter plugin to be installed. See the note above
 | 
|---|
 | 90 |     on how to compile and install this plugin.
 | 
|---|
 | 91 | 
 | 
|---|
 | 92 |   - Enabled QPlugin support on OS/2. This in turn enables SVG support for
 | 
|---|
 | 93 |     QIcon (which is built as a Qt plugin DLL by default).
 | 
|---|
 | 94 | 
 | 
|---|
 | 95 |   - Better widget modality support (widgets blocked by modality cannot be
 | 
|---|
 | 96 |     activated and moved using the mouse and the title bar anymore).
 | 
|---|
 | 97 | 
 | 
|---|
 | 98 |   - Added support for 'console' and 'windows' CONFIG options in .pro files.
 | 
|---|
 | 99 |     Now, if 'windows' is present, the target executable will have the WINDOWAPI
 | 
|---|
 | 100 |     attribute set which effectively makes it a PM application. This, in
 | 
|---|
 | 101 |     particular, disables standard input, output and error streams so that when
 | 
|---|
 | 102 |     started, the application will not have a console window attached to it.
 | 
|---|
 | 103 |     By default, 'console' mode is active unless you perform a release build and
 | 
|---|
 | 104 |     the application is linked against the QtGui library ('QT = gui' in .pro),
 | 
|---|
 | 105 |     in which case the default is 'windows'.
 | 
|---|
 | 106 | 
 | 
|---|
 | 107 |   - Improved paint speed in Qt windows which should increase overall graphical
 | 
|---|
 | 108 |     UI performance by 10%-20% in Qt4 applications.
 | 
|---|
 | 109 | 
 | 
|---|
 | 110 |   - Implemented setting window icons for top-level windows (using
 | 
|---|
 | 111 |     QWidget::setWindowIcon()).
 | 
|---|
 | 112 | 
 | 
|---|
 | 113 |   - Added LxLite support to provide compression for executables and DLLs. The
 | 
|---|
 | 114 |     compression is controlled by the 'exepack' CONFIG option which is turned on
 | 
|---|
 | 115 |     by default for release builds if the LxLite executable is present in PATH
 | 
|---|
 | 116 |     during the configure.cmd invocation. The compression may be turned off on a
 | 
|---|
 | 117 |     per-project basis by adding a 'CONFIG -= exepack' line to the .pro file.
 | 
|---|
 | 118 | 
 | 
|---|
 | 119 |   - Improved the section of this README.OS2 file that describes how to properly
 | 
|---|
 | 120 |     set the LANG variable to have correct national characters in file names and
 | 
|---|
 | 121 |     in window titles of Qt applications.
 | 
|---|
 | 122 | 
 | 
|---|
 | 123 |   Fixes:
 | 
|---|
 | 124 | 
 | 
|---|
 | 125 |   - QProcess: The executable's path was not always added to BEGINLIBPATH.
 | 
|---|
 | 126 | 
 | 
|---|
 | 127 |   - Fixed-size top-level widgets could not be moved.
 | 
|---|
 | 128 | 
 | 
|---|
 | 129 |   - Application crash after pressing a button in a dialog window that resizes
 | 
|---|
 | 130 |     this dialog (for example, makes it bigger to show more information).
 | 
|---|
 | 131 | 
 | 
|---|
 | 132 |   - Resizing top level windows using the top border broke mouse coordinates so
 | 
|---|
 | 133 |     that Qt tought you pressed the mouse button in a different place of the
 | 
|---|
 | 134 |     window than where you actually did it.
 | 
|---|
 | 135 | 
 | 
|---|
 | 136 |   - Events posted with QCoreApplication::postEvent() were only processed upon
 | 
|---|
 | 137 |     receiving a next message from the system. This caused funny delays such as
 | 
|---|
 | 138 |     controls in a Qt window still indicating the input focus (the dotted
 | 
|---|
 | 139 |     rectangle) after the window was deactivated and losing this indication only
 | 
|---|
 | 140 |     when the mouse pointer was moved over the window.
 | 
|---|
 | 141 | 
 | 
|---|
 | 142 |   - Don't replay mouse button press on a push button that is showing a popup
 | 
|---|
 | 143 |     menu but instead hide the popup menu and unpress the button to get more
 | 
|---|
 | 144 |     native look and feel.
 | 
|---|
 | 145 | 
 | 
|---|
 | 146 |   - Deactivating the window with a push button showing a popup menu would hide
 | 
|---|
 | 147 |     the popup but leave the button pressed.
 | 
|---|
 | 148 | 
 | 
|---|
 | 149 |   - Fixed incorrect Qt dirty widget region calculation when processing WM_PAINT
 | 
|---|
 | 150 |     messages. This fixes a lot of redraw problems (menu items in the main menu
 | 
|---|
 | 151 |     bar, text in combo-boxes, various redraw problems in smplayer when switching
 | 
|---|
 | 152 |     interfaces and going to/from fullscreen, and similar).
 | 
|---|
 | 153 | 
 | 
|---|
 | 154 | Beta 3 (17-10-2009)
 | 
|---|
 | 155 | 
 | 
|---|
 | 156 |   Improvements:
 | 
|---|
 | 157 | 
 | 
|---|
 | 158 |   - Added proper font support. All outline (scalable) fonts visible in the Font
 | 
|---|
 | 159 |     Palette should be now recognized by Qt. The fonts are hinted and antialiased
 | 
|---|
 | 160 |     using the Freetype2 library when drawing text.
 | 
|---|
 | 161 | 
 | 
|---|
 | 162 |   - System fonts and colors are now used by default for Qt widgets.
 | 
|---|
 | 163 | 
 | 
|---|
 | 164 |   - configure.cmd now generates the main Makefile to simplify building of Qt.
 | 
|---|
 | 165 | 
 | 
|---|
 | 166 |   - corelib: QProcess: Implemented child termination detection.
 | 
|---|
 | 167 | 
 | 
|---|
 | 168 |   - corelib: QProcess: Implemented redirection to another QProcess.
 | 
|---|
 | 169 | 
 | 
|---|
 | 170 |   - corelib: QProcess now uses native pipes for stream redirection. This fixes
 | 
|---|
 | 171 |     various issues like 'Socket operation on non-socket' errors during
 | 
|---|
 | 172 |     parent-child communication.
 | 
|---|
 | 173 | 
 | 
|---|
 | 174 |   - corelib: QProcess: Make sure that the directory containing the executable
 | 
|---|
 | 175 |     file is always searched (first) for DLLs needed by this executable. This
 | 
|---|
 | 176 |     makes it unnecessary to change the current directory to the executable's
 | 
|---|
 | 177 |     directory or add it to LIBPATH before starting the Qt application.
 | 
|---|
 | 178 | 
 | 
|---|
 | 179 |   - corelib: QProcess can now start applications of different type (e.g. PM
 | 
|---|
 | 180 |     applications from text-mode applications) directly.
 | 
|---|
 | 181 |     QProcess::startDetached() also works.
 | 
|---|
 | 182 | 
 | 
|---|
 | 183 |   - qmake: In debug_and_release mode, 'release-(all|clean|distclean|install|
 | 
|---|
 | 184 |     uninstall)' and 'debug-(all|clean|distclean|install|uninstall)' make
 | 
|---|
 | 185 |     targets are now available.
 | 
|---|
 | 186 | 
 | 
|---|
 | 187 |   Fixes:
 | 
|---|
 | 188 | 
 | 
|---|
 | 189 |   - Doing 'make clean' could result into a hang due to CMD.EXE command line
 | 
|---|
 | 190 |     length limitation.
 | 
|---|
 | 191 | 
 | 
|---|
 | 192 |   - corelib: Fixed: QProcess: Lost data during stream redirection.
 | 
|---|
 | 193 | 
 | 
|---|
 | 194 |   - corelib: QSettings could sometimes distort data when saving it to the
 | 
|---|
 | 195 |     registry (by replacing some characters with codes 0x80 and above with '?').
 | 
|---|
 | 196 | 
 | 
|---|
 | 197 | Beta 2 (17-09-2009)
 | 
|---|
 | 198 | 
 | 
|---|
 | 199 |   Improvements:
 | 
|---|
 | 200 | 
 | 
|---|
 | 201 |   - Ported the network module (QtNetwork4.dll) and added to the default build.
 | 
|---|
 | 202 | 
 | 
|---|
 | 203 |   - Added modules sql, svg, xmlpatterns, scripttools, plugins to the default
 | 
|---|
 | 204 |     build.
 | 
|---|
 | 205 | 
 | 
|---|
 | 206 |   - gui: Added recognition of dead keys which makes it possible to type
 | 
|---|
 | 207 |     umlauts and other accented characters that require composition.
 | 
|---|
 | 208 | 
 | 
|---|
 | 209 |   - gui: Implemented standard cursor shapes in Qt applications.
 | 
|---|
 | 210 | 
 | 
|---|
 | 211 |   Fixes:
 | 
|---|
 | 212 | 
 | 
|---|
 | 213 |   - qmake: Fixed the trailing slash problem which caused qmake to generate
 | 
|---|
 | 214 |     incorrect makefiles and fail to build the Qt library on some platforms.
 | 
|---|
 | 215 | 
 | 
|---|
 | 216 |   - configure.cmd: Return to the root source tree directory after building
 | 
|---|
 | 217 |     qmake.
 | 
|---|
 | 218 | 
 | 
|---|
 | 219 |   - qmake: Automatically use different link flags when linking qmake with WLINK.
 | 
|---|
 | 220 | 
 | 
|---|
 | 221 |   - qmake: Recognize TARGET_SHORT that allows to specify a short DLL name
 | 
|---|
 | 222 |     (vital for OS/2 which reqires DLL names to be in 8x3 format).
 | 
|---|
 | 223 | 
 | 
|---|
 | 224 |   - build: Set short DLL names for Qt modules on OS/2 using TARGET_SHORT.
 | 
|---|
 | 225 | 
 | 
|---|
 | 226 |   - corelib: Various fixes to file system classes that deal with the file name
 | 
|---|
 | 227 |     case (which should be ignored on OS/2) and forward and back slashes.
 | 
|---|
 | 228 | 
 | 
|---|
 | 229 |   - corelib: Fixed: QMutex could let more than one thread access the protected
 | 
|---|
 | 230 |     resource.
 | 
|---|
 | 231 | 
 | 
|---|
 | 232 |   - corelib: Standard stream redirection in QProcess should now work for
 | 
|---|
 | 233 |     kLIBC-based child processes. Redirection for all other applications
 | 
|---|
 | 234 |     (such as CMD.EXE) will be added later (seems to be a kLIBC bug/feature).
 | 
|---|
 | 235 | 
 | 
|---|
 | 236 |   - gui: Fixed erroneous QFileDialog behavior (duplicate entires in the list,
 | 
|---|
 | 237 |     incomplete contents of the root directory of the current drive).
 | 
|---|
 | 238 | 
 | 
|---|
 | 239 |   - gui: Fixed: Ctrl+A..Z should generate characters with codes 0x01-0x1F.
 | 
|---|
 | 240 | 
 | 
|---|
 | 241 |   - gui: Fixed: Close popups when resizing/moving the top level window.
 | 
|---|
 | 242 | 
 | 
|---|
 | 243 |   - gui: Enabled actual enforcing min/max Qt widget constraints for top-level windows.
 | 
|---|
 | 244 | 
 | 
|---|
 | 245 |   - gui: Fixed child widget duplication when resizing top level widgets after
 | 
|---|
 | 246 |     showing a popup; moving native child widgets should now work correctly.
 | 
|---|
 | 247 |     This also fixed a number of redraw problems (for example, drawing the main
 | 
|---|
 | 248 |     menu and tool bars in smplayer, moving tool bars around in other
 | 
|---|
 | 249 |     applications such as textedit from the demo folder).
 | 
|---|
 | 250 | 
 | 
|---|
 | 251 | Beta 1 (29-08-2009)
 | 
|---|
 | 252 | 
 | 
|---|
 | 253 |   - First public release.
 | 
|---|