source: trunk/CHANGES.OS2@ 493

Last change on this file since 493 was 397, checked in by Dmitry A. Kuminov, 15 years ago

README for beta 5.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Revision Author Id
File size: 10.9 KB
Line 
1This document contains a brief list of the most important OS/2-specific changes
2in the Qt library from release to release.
3
4
5CHANGES
6
7Beta 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
82Beta 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
154Beta 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
197Beta 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
251Beta 1 (29-08-2009)
252
253 - First public release.
Note: See TracBrowser for help on using the repository browser.