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