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
5 ****************************************************************************
7 ****************************************************************************
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
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.
24 - Reverse (right-to-left) layouts
25 Many classes have improved support for right-to-left layouts.
28 Solaris 7 Intel, g++ version 2.8.1.
30 - Documentation updates
31 Some new and improved diagrams and minor textual revisions.
33 - Mac only: Drag'n'drop
34 Mac only: QDropEvents can decode HFS flavors.
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).
45 ****************************************************************************
47 ****************************************************************************
50 Fixed a memory leak in conjunction with action accelerators.
51 Turn toggle actions off when toggling is turned off with
52 setToggleAction(FALSE);
55 Shared double buffers are cleaned up on destruction.
56 Creating and using multiple QApplications in the same process
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
81 - QAquaStyle (MacOS X only)
82 More optimizations and several minor visual bugs fixed.
85 Erase any exposed empty space when shrinking the canvas.
88 Initialize the framecount to 0.
91 Optimize background pixmaps: potentially they were drawn
92 twice, first untranslated then translated.
94 - QClipboard (X11 only)
95 The race conditions that cause KDE to lock-up occasionally
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.
104 Make invalid named colors return a non-valid QColor (as
107 - QColorDialog (Win32 only)
108 Use WStyle_DialogBorder, since resizing this dialog does not
112 Respect QApplication::globalStrut() in scroll bars. Support
113 reverse layout in QTitleBar.
116 Safer cleanup of cursor shapes (avoids possible free'd memory
118 - Win32 only: fixed application override cursor with mouse
122 Fixed some possible overflows.
123 - Win32 only: Improve locale support for short day and month
124 names etc. Initialize milliseconds correctly.
127 Display AM/PM if set by locale. Improved sizeHint().
130 More reliable sizeHint(). Better support for reverse layouts.
133 Emit the placeChange() signal more reliably. Avoid floating
134 docks popping up everywhere before they have been positioned
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.
143 New panel styles LineEditPanel and TabWidgetPanel. This was
144 required by the new for Windows XP support.
147 Show unicode filenames to the user rather than encoded ASCII
148 (e.g. previously latin1 characters were shown as "%XX"
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.
158 - QFileInfo (Unix only)
159 Make sure that symlinks pointing to invalid/non-existing
160 targets are reported as symlinks.
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
171 Prevent re-laying out when the size of the preview label
175 In parseDir(), do not compare English month names to
176 shortMonthName(), since the latter is localized.
179 Make self-assignments work.
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.
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.
192 Fixed detach() to really detach the internal pixmaps. In case
193 no image formats are installed, show black pixmaps rather than
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.
203 Fixed plugin loading in cases where the image format is
207 Disable the OK button when input is not Acceptable.
211 When showing rich text with tables (via QSimpleRichtext),
212 avoid drawing the table background.
215 In reverse layout mode: fix off by one error when laying out
216 right to left or bottom to top.
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.
226 Append items at the proper position even after sorting the
227 content. Made QWidget::setBackgroundMode() work correctly.
230 Use the function pixmap() when drawing the pixmap, so users
231 can reimplement QListBoxPixmap::pixmap().
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.
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.
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.
256 Allow pause() and restart() with MNG.
259 Remove internal trailing space when returning a textline with
260 textLine(int) and querying lineLength(int).
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.
270 Fixed the loading of binaries from older Qt versions.
273 grabWidget(): when the widget sets WRepaintNoErase it might
274 erase itself with the non-redirected QWidget::erase(); restore
276 - X11 only: (with XRENDER extension) when copying a pixmap,
277 bitBlt the entire data into the new pixmap instead of using
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
286 - X11 only: Fixed mouse and keyboard grabbing side effects
287 with popup menu effects enabled.
289 - QPrintDialog (built-in dialog)
290 Use the text in the lineedit for the file dialog.
293 Fixed crash when printing with incomplete combined unicode
295 - Win32 only: fixed a very rare and mysterious crash.
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
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.
315 Allow scrolling with modifier keys pressed.
318 Made autoscrolling work with drag and drop. Never generate
319 paintevents that are outside the visible area.
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
327 - win32 only: improved error handling. Fixed subKeyList() and
328 entryList() for empty paths.
331 Correctly transform clipping rectangle.
334 Reverted sizeHint() to the old size to avoid making the
335 statusbar a tiny bit too big. Support right-to-left layout.
339 Made the combobox arrow look nicer. Fixed disabled combobox
343 Fixed click handling for reverse layouts.
346 Usability fix: when changing a value with the up/down arrow
347 keys or with the arrow buttons, select the new value.
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.
356 Fixed double increment of the iterator in certain
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().
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).
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
379 Fixed the focus rectangles and spacing with icons and label
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
392 Make sure an item cannot span over a table's maximum number of
396 Constrain the sizehint to avoid having oversized dialogs.
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().
404 - QTextDrag (Win32 only)
405 Performance improvements in encodedData().
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
418 Faster string output in latin1 mode.
421 - Unix only: initialize threads in non-GUI mode as well.
422 - Win32 only: fixed the initial value of QThread::running().
425 Fixed unwanted occurences of delayed popup menus.
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
434 Make operator==() const. Fixed some sharing issues.
437 Fixed a few memory leaks when casting complex values to simple
438 types. Faster operator==().
440 - QWaitCondition (Win32 only)
444 Make QWidget::customWhatsThis() work with menu accelerators.
445 Avoid infinite loops with menu effects.
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
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).
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
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.
481 ****************************************************************************
483 ****************************************************************************
487 ****************************************************************************
489 ****************************************************************************
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.
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
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.
509 Allow translation of menubar items generated with Qt Designer
510 (e.g. "&File", "&Edit", etc.).
513 Updated to version 1.0.3.
516 Updated to version 1.0.12.
519 Added Hebrew translations for Qt and the demo application.
522 Support 'Ignored' size policy. Support properties of type
523 'double'. Fixed saving of custom widgets in toolbars. Various
524 smaller usability improvements.
527 When users starts Qt Assistant themselves, always make a new
528 instance. Only use the unique-instance feature when invoking
532 Invoke Qt Linguist when opening a .ts file in Visual Studio.
536 ****************************************************************************
537 * Qt/Embedded-specific changes *
538 ****************************************************************************