|
1 Qt 3.0.1 is a bugfix release. It maintains both forward and backward |
|
2 compatibility (source and binary) with Qt 3.0.0 |
|
3 |
|
4 |
|
5 **************************************************************************** |
|
6 * General * |
|
7 **************************************************************************** |
|
8 |
|
9 - Style Engine fixes |
|
10 Qt 3.0 introduced a new and more flexibile style engine. This |
|
11 release should fix most of the small visual flaws that the new |
|
12 styles introduced. It also greatly improves appearance in |
|
13 right-to-left mode. |
|
14 |
|
15 - MS-Windows XP |
|
16 This is the first release to fully support Windows XP, |
|
17 including the new themable GUI styles. |
|
18 The Windows XP style can only be built as a plugin, which requires |
|
19 Qt to be configured as a shared library. To build the plugin |
|
20 you must install a Microsoft Platform SDK for October 2001 |
|
21 or later. Your INCLUDE and LIB environment variables must |
|
22 point to the respective directories in the SDK installation. |
|
23 |
|
24 - Reverse (right-to-left) layouts |
|
25 Many classes have improved support for right-to-left layouts. |
|
26 |
|
27 - Compile fixes |
|
28 Solaris 7 Intel, g++ version 2.8.1. |
|
29 |
|
30 - Documentation updates |
|
31 Some new and improved diagrams and minor textual revisions. |
|
32 |
|
33 - Mac only: Drag'n'drop |
|
34 Mac only: QDropEvents can decode HFS flavors. |
|
35 |
|
36 - X11 only: Multi-head (multi-screen) improvements |
|
37 Support for different TrueColor depths on each head (screen). |
|
38 Drag'n'drop support across multiple screens. Tooltips always |
|
39 stay on the correct screen. Improved OpenGL support on |
|
40 multiple screens. Qt 3.1 will support different color depths |
|
41 on every screen (e.g. one TrueColor screen, one 8-bit |
|
42 PseudoColor and one 8-bit GreyScale). |
|
43 |
|
44 |
|
45 **************************************************************************** |
|
46 * Library * |
|
47 **************************************************************************** |
|
48 |
|
49 - QAction |
|
50 Fixed a memory leak in conjunction with action accelerators. |
|
51 Turn toggle actions off when toggling is turned off with |
|
52 setToggleAction(FALSE); |
|
53 |
|
54 - QApplication |
|
55 Shared double buffers are cleaned up on destruction. |
|
56 Creating and using multiple QApplications in the same process |
|
57 is supported. |
|
58 - Solaris only: Default to the Interface System font (which is |
|
59 the default for the CDE) |
|
60 - Win32 only: When WM_QUERYENDSESSION is received, _flushall |
|
61 is called to ensure that all open streams and buffers are |
|
62 flushed to disk (or to OS's buffers). |
|
63 Better support for more input methods (e.g. Chinese). |
|
64 Enter events are not propagated to modally blocked widgets. |
|
65 Key_BackTab events are generated rather than Shift+Key_Tab. |
|
66 Floating toolbars are blocked when the application is modal. |
|
67 Move and Resize are disabled in the system menu for |
|
68 maximized toplevel windows |
|
69 - WinXP only: WM_THEMECHANGED messages are handled; widgets |
|
70 are repolished with the appropriate style. |
|
71 - X11 only: Removed misleading warning message for main |
|
72 widgets on heads (screens) other than the default head. |
|
73 Input context: Solved a memory leak in Xlib, and saved a |
|
74 server round trip when updating the microfocushint. |
|
75 Worked around some broken XmbLookupString implementations |
|
76 that do not report buffer overflows correctly. |
|
77 Key events are never given to a widget after clearFocus() |
|
78 has been called for that widget; this is the same behavior |
|
79 as Windows. |
|
80 |
|
81 - QAquaStyle (MacOS X only) |
|
82 More optimizations and several minor visual bugs fixed. |
|
83 |
|
84 - QCanvas |
|
85 Erase any exposed empty space when shrinking the canvas. |
|
86 |
|
87 - QCanvasPixmapArray |
|
88 Initialize the framecount to 0. |
|
89 |
|
90 - QCanvasView |
|
91 Optimize background pixmaps: potentially they were drawn |
|
92 twice, first untranslated then translated. |
|
93 |
|
94 - QClipboard (X11 only) |
|
95 The race conditions that cause KDE to lock-up occasionally |
|
96 should now be fixed. |
|
97 |
|
98 - QComboBox |
|
99 Fixed behavior with non-selectable items. Fixed a crash when |
|
100 calling setCurrentItem(-1). Fixed autoscrolling when dragging |
|
101 the mouse directly after opening the dropdown. |
|
102 |
|
103 - QColor |
|
104 Make invalid named colors return a non-valid QColor (as |
|
105 documented). |
|
106 |
|
107 - QColorDialog (Win32 only) |
|
108 Use WStyle_DialogBorder, since resizing this dialog does not |
|
109 make much sense. |
|
110 |
|
111 - QCommonStyle |
|
112 Respect QApplication::globalStrut() in scroll bars. Support |
|
113 reverse layout in QTitleBar. |
|
114 |
|
115 - QCursor |
|
116 Safer cleanup of cursor shapes (avoids possible free'd memory |
|
117 read) |
|
118 - Win32 only: fixed application override cursor with mouse |
|
119 grabbing. |
|
120 |
|
121 - QDate |
|
122 Fixed some possible overflows. |
|
123 - Win32 only: Improve locale support for short day and month |
|
124 names etc. Initialize milliseconds correctly. |
|
125 |
|
126 - QDateTimeEdit |
|
127 Display AM/PM if set by locale. Improved sizeHint(). |
|
128 |
|
129 - QDockAarea |
|
130 More reliable sizeHint(). Better support for reverse layouts. |
|
131 |
|
132 - QDockWindow |
|
133 Emit the placeChange() signal more reliably. Avoid floating |
|
134 docks popping up everywhere before they have been positioned |
|
135 and laid out. |
|
136 |
|
137 - QDesktopWidget |
|
138 - X11 only: When using normal dualhead (not Xinerama), make |
|
139 sure we report the correct screen number. |
|
140 - Win32 only: refresh on WM_DISPLAYCHANGE. |
|
141 |
|
142 - QFrame |
|
143 New panel styles LineEditPanel and TabWidgetPanel. This was |
|
144 required by the new for Windows XP support. |
|
145 |
|
146 - QFileDialog |
|
147 Show unicode filenames to the user rather than encoded ASCII |
|
148 (e.g. previously latin1 characters were shown as "%XX" |
|
149 escapes). |
|
150 Fixed multiple-selection of FTP files. |
|
151 Emit signal fileHighlighted in existingfile mode. |
|
152 - Mac only: Fixed existingFolder(). Fixed window position so |
|
153 that it will never fall outside the screen. |
|
154 - Win32 only: since files, directories and drives are not case |
|
155 sensitive, we don't add an extra entry in the paths box if |
|
156 the path already exists but with different case. |
|
157 |
|
158 - QFileInfo (Unix only) |
|
159 Make sure that symlinks pointing to invalid/non-existing |
|
160 targets are reported as symlinks. |
|
161 |
|
162 - QFont |
|
163 Ensure a rounded-off value is returned from pointSize(). |
|
164 - x11 only: improved line width calculation. Fixed off by one |
|
165 error in interpreting Xft font extents. Allow the use of |
|
166 both Xft and non Xft fonts in the same application. Make |
|
167 sure fonts are antialiased by default when using |
|
168 xftfreetype. |
|
169 |
|
170 - QFontDialog |
|
171 Prevent re-laying out when the size of the preview label |
|
172 changes. |
|
173 |
|
174 - QFtp |
|
175 In parseDir(), do not compare English month names to |
|
176 shortMonthName(), since the latter is localized. |
|
177 |
|
178 - QGList |
|
179 Make self-assignments work. |
|
180 |
|
181 - QGLWidget |
|
182 Fixed ARGB to RGBA conversion on BigEndian systems. |
|
183 - Win32 only: fixed colormap for 8-bit RGBA GL mode. |
|
184 - X11 only: multiple heads with different color depths fixes. |
|
185 |
|
186 - QHebrewCodec |
|
187 Assume the bidi algorithm is a reversible operation for the |
|
188 visual 8859-8 codec. This is not true for very complex strings |
|
189 but should hold in most cases. |
|
190 |
|
191 - QIconSet |
|
192 Fixed detach() to really detach the internal pixmaps. In case |
|
193 no image formats are installed, show black pixmaps rather than |
|
194 ASSERT. |
|
195 |
|
196 - QImage |
|
197 Allow 16-bit DIBs. Allow > 32767 level PNMs. |
|
198 Fixed smoothscale() for the following bug: whenever |
|
199 (new_width / original_width * 4096) is not an integer the last |
|
200 column of the scaled image is black. |
|
201 |
|
202 - QImageIO |
|
203 Fixed plugin loading in cases where the image format is |
|
204 explicitly defined. |
|
205 |
|
206 - QInputDialog |
|
207 Disable the OK button when input is not Acceptable. |
|
208 (See QValidator.) |
|
209 |
|
210 - QLabel |
|
211 When showing rich text with tables (via QSimpleRichtext), |
|
212 avoid drawing the table background. |
|
213 |
|
214 - QLayout |
|
215 In reverse layout mode: fix off by one error when laying out |
|
216 right to left or bottom to top. |
|
217 |
|
218 - QLineEdit |
|
219 Fixed offset calculation for horizontal scrolling. Invoke |
|
220 validator when the user presses Backspace or |
|
221 Delete. Compression of the undo/redo stack fixed. Security: do |
|
222 not reveal the position of spaces with Ctrl+RightArrow or |
|
223 Ctrl+LeftArrow in password mode. |
|
224 |
|
225 - QListBox |
|
226 Append items at the proper position even after sorting the |
|
227 content. Made QWidget::setBackgroundMode() work correctly. |
|
228 |
|
229 - QListBoxPixmap |
|
230 Use the function pixmap() when drawing the pixmap, so users |
|
231 can reimplement QListBoxPixmap::pixmap(). |
|
232 |
|
233 - QListView |
|
234 Fix misalignment of checkbox click zone. Make the selected and |
|
235 focus rectangles cover the entire column for QCheckListItems |
|
236 if the listview root is not decorated. Make |
|
237 QWidget::setBackgroundMode() on the viewport work correctly. |
|
238 Comply with user interface guidelines: clear the selection |
|
239 when a click is in an empty area unless the Ctrl key is down. |
|
240 Fixed possible crash when starting a rename with a double |
|
241 click. Smarter ensureItemVisible(). Draw listview background |
|
242 in paintEmptyArea() with the current style. Ensure the |
|
243 listview always has a current item. |
|
244 |
|
245 - QMainWindow |
|
246 Better laying out of dockareas when they are all empty. |
|
247 Otherwise an empty QMainWindow looks unappealing in a |
|
248 workspace. Maintain the toplevel layout's resize mode. |
|
249 |
|
250 - QMessageBox |
|
251 Avoid double deletion if the parent is destroyed while the |
|
252 messagebox is open. Support y/n/c shortcuts without needing |
|
253 the Alt key modifier. |
|
254 |
|
255 - QMovie |
|
256 Allow pause() and restart() with MNG. |
|
257 |
|
258 - QMultiLineEdit |
|
259 Remove internal trailing space when returning a textline with |
|
260 textLine(int) and querying lineLength(int). |
|
261 |
|
262 - QPainter |
|
263 The boundingRect() should now work properly for the |
|
264 combination richtext, right-aligned and an empty initial rect. |
|
265 Handle DontClip-flag in the painter's complex drawText() |
|
266 function. Reset the cached composition matrix (and inverse) |
|
267 when reinitialising a painter. |
|
268 |
|
269 - QPicture |
|
270 Fixed the loading of binaries from older Qt versions. |
|
271 |
|
272 - QPixmap |
|
273 grabWidget(): when the widget sets WRepaintNoErase it might |
|
274 erase itself with the non-redirected QWidget::erase(); restore |
|
275 those areas. |
|
276 - X11 only: (with XRENDER extension) when copying a pixmap, |
|
277 bitBlt the entire data into the new pixmap instead of using |
|
278 alpha composition. |
|
279 |
|
280 - QPopupMenu |
|
281 Fixed strange side effects with the menu effects. Support |
|
282 minimumSize() for popups. Fixed a navigation issue where |
|
283 Key_Right under certain circumstances was not propagated to |
|
284 the menu bar. Speedups when disabling/enabling menu items |
|
285 before showing them. |
|
286 - X11 only: Fixed mouse and keyboard grabbing side effects |
|
287 with popup menu effects enabled. |
|
288 |
|
289 - QPrintDialog (built-in dialog) |
|
290 Use the text in the lineedit for the file dialog. |
|
291 |
|
292 - QPrinter |
|
293 Fixed crash when printing with incomplete combined unicode |
|
294 fonts. |
|
295 - Win32 only: fixed a very rare and mysterious crash. |
|
296 |
|
297 |
|
298 - QPSPrinter |
|
299 Make sure the fontPath is read correctly by the postscript |
|
300 driver, and the qtconfig program. Small memory leaks closed. |
|
301 Better support for Asian printing. Limit line length of |
|
302 Postscript DSC comments to 255 chars (as per the postscript |
|
303 specification). |
|
304 |
|
305 - QRichText |
|
306 Fixed handling of  . Support both <qt title="..."> and |
|
307 <title>. Avoid painting \n at the end of lines (these |
|
308 sometimes appeared as an empty unicode box). Fixed find() in |
|
309 "whole words only" mode. Fixed unicode auto alignment. Made |
|
310 cursor movement in BiDi paragraphs compliant with MS-Windows. |
|
311 Fixed paragraph right and center alignments when using <br> |
|
312 tags. Fixed superscript/subscript confusion. |
|
313 |
|
314 - QScrollBar |
|
315 Allow scrolling with modifier keys pressed. |
|
316 |
|
317 - QScrollView |
|
318 Made autoscrolling work with drag and drop. Never generate |
|
319 paintevents that are outside the visible area. |
|
320 |
|
321 - QSettings |
|
322 - Unix only: search paths are valid for individual objects, |
|
323 NOT every object (windows behavior). When reading files, |
|
324 don't replace the old groups with contents of the new |
|
325 groups; merge them instead. Properly escape backslashes and |
|
326 newlines. |
|
327 - win32 only: improved error handling. Fixed subKeyList() and |
|
328 entryList() for empty paths. |
|
329 |
|
330 - QSimpleRichText |
|
331 Correctly transform clipping rectangle. |
|
332 |
|
333 - QSizeGrip |
|
334 Reverted sizeHint() to the old size to avoid making the |
|
335 statusbar a tiny bit too big. Support right-to-left layout. |
|
336 |
|
337 |
|
338 - QSgiStyle |
|
339 Made the combobox arrow look nicer. Fixed disabled combobox |
|
340 drawing. |
|
341 |
|
342 - QSlider |
|
343 Fixed click handling for reverse layouts. |
|
344 |
|
345 - QSpinBox |
|
346 Usability fix: when changing a value with the up/down arrow |
|
347 keys or with the arrow buttons, select the new value. |
|
348 |
|
349 - QSplitter |
|
350 Use the actual QSplitter pointer as documented (and not a |
|
351 QSplitterHandle pointer) as the parameter to the |
|
352 QStyle::sizeForContents() call. Fixed reverse layouts when |
|
353 splitter movement is constrained. |
|
354 |
|
355 - QSqlRecord |
|
356 Fixed double increment of the iterator in certain |
|
357 circumstances. |
|
358 |
|
359 - QString |
|
360 Fixed QString::setLatin1() when the length parameter is 0. |
|
361 - Unix only: Use strcoll() in QString::localeAwareSorting(). |
|
362 - Mac only: clarify that local8Bit() is always utf8(). |
|
363 |
|
364 - QStyle |
|
365 New frame styles for tab widgets, window frames and line edit |
|
366 controls. This was required by the new support for Windows XP. |
|
367 Added SH_ScrollBar_StopMouseOverSlider style hint so that one can |
|
368 turn on (or off) the ability to stop pageup/pagedown when the |
|
369 slider hits the mouse (this is needed for Aqua on MacOS X). |
|
370 |
|
371 - QSvgDevice |
|
372 Many fixes for saving and restoring attributes that are not |
|
373 part of QPainter. Processing of 'tspan' elements. Now uses |
|
374 double instead of int for internal 'path' arithmetic for |
|
375 better scaling results. Supports QPicture's coordinate |
|
376 transformations. |
|
377 |
|
378 - QTabBar |
|
379 Fixed the focus rectangles and spacing with icons and label |
|
380 texts. |
|
381 |
|
382 - QTable |
|
383 Improved layout in right-to-left mode. Fixed adjustRow() when |
|
384 using header items with icon sets. Do not let hidden |
|
385 columns/rows re-appear when adjusting. Update header correctly |
|
386 when changing a table's dimensions. Correctly reset the |
|
387 updatesEnabled flag in sortColumn(). Fixed modifying the |
|
388 contents of a combobox or checkbox table item while it is the |
|
389 current cell. |
|
390 |
|
391 - QTableItem |
|
392 Make sure an item cannot span over a table's maximum number of |
|
393 rows and columns. |
|
394 |
|
395 - QTabWidget |
|
396 Constrain the sizehint to avoid having oversized dialogs. |
|
397 |
|
398 - QTextCode |
|
399 Rename iso8859-6-I to to 8859-6. The old name is still |
|
400 supported for backwards compatibility. |
|
401 - Win32: implemented locale(). |
|
402 - Mac: implemented locale(). |
|
403 |
|
404 - QTextDrag (Win32 only) |
|
405 Performance improvements in encodedData(). |
|
406 |
|
407 - QTextEdit |
|
408 Fixed HTML output. New property tabStopWidth. Fixed append() |
|
409 and made it smarter: it only scrolls to the end if the view |
|
410 was scrolled to the end before. Proper reformatting when |
|
411 switching word wrap policies. Do not blink the cursor when the |
|
412 textedit is disabled. Make isModified() return the new value |
|
413 in slots connected to the modificationChanged() signal. |
|
414 - X11 only: middle mouse selection pasting sets the cursor |
|
415 position. |
|
416 |
|
417 - QTextStream |
|
418 Faster string output in latin1 mode. |
|
419 |
|
420 - QThread |
|
421 - Unix only: initialize threads in non-GUI mode as well. |
|
422 - Win32 only: fixed the initial value of QThread::running(). |
|
423 |
|
424 - QToolButton |
|
425 Fixed unwanted occurences of delayed popup menus. |
|
426 |
|
427 - QUrlOperator |
|
428 Fixed the cache, so that QUrlInfo::name() is set correctly for |
|
429 renamed files. This bug also affected QFileDialog. More |
|
430 careful check whether a file is writable before renaming or |
|
431 deleting it. |
|
432 |
|
433 - QValueVector |
|
434 Make operator==() const. Fixed some sharing issues. |
|
435 |
|
436 - QVariant |
|
437 Fixed a few memory leaks when casting complex values to simple |
|
438 types. Faster operator==(). |
|
439 |
|
440 - QWaitCondition (Win32 only) |
|
441 Fixed wakeAll(). |
|
442 |
|
443 - QWhatsThis |
|
444 Make QWidget::customWhatsThis() work with menu accelerators. |
|
445 Avoid infinite loops with menu effects. |
|
446 |
|
447 - QWidget |
|
448 Fix default focus so that setTabOrder( X, Y ); setTabOrder( Y, |
|
449 Z ); gives focus to X, not Y or Z. Closing a modal dialog with |
|
450 a double click on a widget could result in a mouse release |
|
451 event being delivered to the widget underneath; this has been |
|
452 fixed. |
|
453 Set/Reset WState_HasMouse on DragEnter/DragLeave. |
|
454 - Win32 only: obey WPaintUnclipped. Make reparent() with 0,0 |
|
455 positions do the requested positioning. |
|
456 - X11 only: when reparenting widgets to/from toplevel, make |
|
457 sure the XdndAware property is set. Make input methods work |
|
458 with servers other than kinput2. More fixes for 4Dwm's |
|
459 incompliance with ICCCM 4.1.5 regarding geometry handling. |
|
460 When hiding toplevel windows, we call XFlush() to avoid |
|
461 having popup menus hanging around grabbing the mouse and |
|
462 keyboard while the application is busy. Obey the 'erase' |
|
463 value in repaint(const QRegion& reg, bool erase). |
|
464 |
|
465 - QWindowsStyle |
|
466 Various visual fixes, including fixes for right-to-left |
|
467 mode. Most significantly the light source now comes from the |
|
468 top left also in reverse layout the same as modern versions of |
|
469 Windows. |
|
470 |
|
471 - QWorkspace |
|
472 Support document windows without title bars. Scroll to top |
|
473 left corner when cascading/tiling a scrolled workspace. Define |
|
474 a proper baseSize() for workspace children. Fix some side |
|
475 effects with the workspace's maximize controls on Windows |
|
476 style. Don't raise windows over scrollbars. Clients can now |
|
477 call adjustSize() on the workspace when their sizeHint() |
|
478 changes. When showing two scrollbars, maintain a solid corner. |
|
479 Obey a document window's maximum size when tiling. |
|
480 |
|
481 **************************************************************************** |
|
482 * Extensions * |
|
483 **************************************************************************** |
|
484 |
|
485 NO CHANGES |
|
486 |
|
487 **************************************************************************** |
|
488 * Other * |
|
489 **************************************************************************** |
|
490 |
|
491 - qtconfig (X11 only) |
|
492 It is now possible to turn Xft on and off, as well as turning |
|
493 antialiasing-by-default on and off. This is necessary since |
|
494 Xft doesn't work on dual head. |
|
495 |
|
496 - moc |
|
497 Q_PROPERTY: Support QMap<QString, QVariant> and |
|
498 QValueList<QVariant> as "QMap" and "QValueList". Support |
|
499 parameters of nested template types, for example |
|
500 QValueVector<QValueVector<double> >, as well as |
|
501 Foo<const int>. |
|
502 |
|
503 - uic |
|
504 Fix uic-generated code for QWizard with both "font" and |
|
505 "titleFont" properties set. Put local includes after global |
|
506 includes in generated files. |
|
507 |
|
508 - lupdate |
|
509 Allow translation of menubar items generated with Qt Designer |
|
510 (e.g. "&File", "&Edit", etc.). |
|
511 |
|
512 - libMNG |
|
513 Updated to version 1.0.3. |
|
514 |
|
515 - libPNG |
|
516 Updated to version 1.0.12. |
|
517 |
|
518 - Translations |
|
519 Added Hebrew translations for Qt and the demo application. |
|
520 |
|
521 - Qt Designer |
|
522 Support 'Ignored' size policy. Support properties of type |
|
523 'double'. Fixed saving of custom widgets in toolbars. Various |
|
524 smaller usability improvements. |
|
525 |
|
526 - Qt Assistant |
|
527 When users starts Qt Assistant themselves, always make a new |
|
528 instance. Only use the unique-instance feature when invoking |
|
529 from Qt Designer. |
|
530 |
|
531 - QMsDev |
|
532 Invoke Qt Linguist when opening a .ts file in Visual Studio. |
|
533 |
|
534 |
|
535 |
|
536 **************************************************************************** |
|
537 * Qt/Embedded-specific changes * |
|
538 **************************************************************************** |
|
539 |
|
540 NO CHANGES |