| [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. | 
|---|