Update references to online documentation.
[qt:qt-ios-plaszma.git] / dist / changes-4.5.0
1 Qt 4.5 introduces many new features and improvements as well as bugfixes
2 over the 4.4.x series. For more details, refer to the online documentation
3 included in this distribution. The documentation is also available online:
4
5   http://qt.nokia.com/doc/4.5
6
7 The Qt version 4.5 series is binary compatible with the 4.4.x series.
8 Applications compiled for 4.4 will continue to run with 4.5.
9
10 Some of the changes listed in this file include issue tracking numbers
11 corresponding to tasks in the Task Tracker:
12
13   http://qt.nokia.com/developer/task-tracker
14
15 Each of these identifiers can be entered in the task tracker to obtain more
16 information about a particular change.
17
18 ****************************************************************************
19 *                           General                                        *
20 ****************************************************************************
21
22 General Improvements
23 --------------------
24
25 New features
26 ------------
27
28 - Disk Caching in QtNetwork
29     * Added support for http caching in QNetworkAccessManager.
30     * New classes:  QAbstractNetworkCache, QNetworkDiskCache.
31     * QNetworkDiskCache is a simple disk-based cache.
32
33 - QDate
34     * [207690] Added QDate::getDate().
35
36 - QDateTimeEdit
37     * [196924] Improved QDateTimeEdit's usability. It now skips ahead to the
38       next field when input can't be valid for the current section.
39
40 - QDateTime
41     * [178738] Fixed QDateTime::secsTo() to return the correct value.
42
43 - QDBusPendingCall / QDBusPendingCallWatcher / QDBusPendingReply
44     * New classes to make calls whose replies can be received later.
45
46 - QDesktopServices
47     * Added the ability to determine the proper location to store cache files.
48
49 - QGraphicsItem
50     * Added the QGraphicsItem::itemTransform() function.
51     * [209357] Added the QGraphicsItem::opacity() function.
52     * [209978] Added the QGraphicsItem::ItemStacksBehindParent flag to allow
53       children to be stacked behind their parent item.
54     * Added QGraphicsItem::mapRect() functions.
55
56 - QGraphicsScene
57     * Added the QGraphicsScene::sortCacheEnabled property.
58     * Added the QGraphicsScene::stickyFocus property.
59
60 - QGraphicsTextItem
61     * [242331] Added the QGraphicsTextItem::tabChangesFocus() function.
62
63 - QGraphicsView
64     * [210121] Added action, shortcut and shortcut override support to
65       QGraphicsView and QGraphicsItem.
66
67 - QLineEdit
68     * Added the ability to set the text margin size.
69
70 - QMainWindow
71     * Added API to detect which dock widget is tabified together with another
72       dock widget.
73
74 - QMessageBox
75     * It is now possible to create categories in QErrorMessage to avoid error
76       messages from the same category popping up repeatedly.
77
78 - QMetaObject
79     * Added introspection of constructors, including the ability to invoke a
80       constructor.
81
82 - QMetaProperty
83     * [217531] Added the notifySignalIndex() function, which can be used to
84       introspect which signal (if any) is emitted when a property is changed.
85
86 - QNetworkCookie
87     * [206125] Added support for HTTP-only cookies.
88
89 - QNetworkProxyFactory
90     * Added support for a factory of QNetworkProxy whose result can
91       change depending on the connection being attempted.
92     * Added support for querying system proxy settings on Mac OS X and
93       Windows.
94
95 - QSharedPointer / QWeakPointer
96     * Added two new classes for sharing pointers with support for atomic
97       reference counting and custom destructors.
98
99 - QStringRef
100   * [191369] Added QStringRef::localeAwareCompare() functions.
101
102 - QTabBar
103     * Added the ability to place close buttons and widgets on tabs.
104     * Added the ability to choose the selection behavior after a tab is
105       removed.
106     * Added a document mode which, on Mac OS X, paints the widget like
107       Safari's tabs.
108     * Added the movable property so that the user can move tabs easily.
109     * Added mouse wheel support so that the mouse wheel can be used to change
110       tabs.
111
112 - QTabWidget
113     * Added a document mode that removes the tab widget border.
114
115 - QTcpSocket
116     * [183743] Added support for requesting connections via proxies by
117       hostname (no DNS resolution made on the client machine).
118
119 - QTextDocument / QTextDocumentWriter
120     * Added the QTextDocumentWriter class which allows exporting of
121       QTextDocument text and images to the OpenDocument format
122       (ISO/IEC 26300).
123
124 - QtScriptTools
125     * Added a new module to provide a debugger for Qt Script.
126
127 - Qt::WA_TranslucentBackground
128     * Added this new window attribute to be able to have per-pixel
129       translucency for top-level windows.
130
131 - Qt::WindowCloseButtonHint
132     * Added a new window hint to control the visibility of the window close
133       button.
134
135 - Qt::WindowStaysOnBottomHint
136     * Added a new window hint to allow the window to stay below all other
137       windows.
138
139 - Q_SIGNAL and Q_SLOT
140     * Added new keywords to allow a single function to be marked as a signal
141       or slot.
142
143 - QT4_IM_MODULE
144     * [227849] Added a new environment variable that specifies the input
145       method module to use and takes precedence over the QT_IM_MODULE
146       enviroment variable. This environment variable allows the user to
147       configure the environment to use different input methods for Qt 3 and
148       Qt 4-based applications.
149
150 - QXmlQuery
151     * Added a number of overloads to the bindVariable(), setFocus(), and
152       evaluateTo() functions.
153     * Added a property for controlling the network access manager.
154     * Partial support for XSL-T has been added. See the main documentation for
155       the QtXmlPatterns module for details.
156
157 Optimizations
158 -------------
159
160 - The backing store has been re-factored and optimized
161     * Significant improvement in overall performance of painting for widgets.
162     * Reduced the number of QRegion operations.
163     * Improved update handling.
164     * Improved the performance of clipping.
165     * Support for full static contents.
166
167 - QGraphicsView has been optimized in several areas
168     * Reduced the number of floating point operations.
169     * Improved update handling.
170     * Improved handling of deeply nested item trees.
171     * Improved the performance of clipping for ItemClipChildrenToShape.
172     * Improved sorting speed, so scenes with deeply nested item hierarchies do
173       not affect the performance as compared to Qt 4.4.
174
175 - Widget style sheets optimisations
176     * Improved the speed of style sheet initialization.
177
178 - QAbstractItemModel
179     * Optimized QPersistantModelIndex creation and deletion.
180     * Optimized adding and removing rows and columns.
181
182 - QFileSystemModel
183     * Ensured that the model is always sorted when required.
184
185 - QTreeView
186     * Optimized expanding and collapsing items.
187     * Optimized expanding animations with large views.
188
189 - QRect and QRectF
190     * Improves on functions like intersect(), contains(), etc.
191
192 - QTransform
193     * Reduced the number of multiplications used for simple matrix types.
194
195 - QRasterPaintEngine
196     * Reduced overhead of state changes; e.g., setPen() and setBrush().
197     * Introduced a cache scheme for Windows glyphs, thus improving text
198       drawing performance significantly.
199     * Reduced the cost of doing rectangular clipping.
200     * Improved pixmap drawing.
201     * Improved pixmap scaling.
202     * Optimized drawing of anti-aliased lines.
203     * Optimized drawing of anti-aliased dashed lines.
204
205 Third party components
206 ----------------------
207
208 - Updated Qt's SQLite version to 3.5.9.
209
210 ****************************************************************************
211 *                          Library                                         *
212 ****************************************************************************
213
214 - General Fixes
215     * [217988] Fixed a thread safety issue in QFontPrivate::engineForScript
216       which could lead to buggy text rendering when rendering text from
217       several threads.
218     * [233703] Fixed a crash that occured when the input method (for example
219       SCIM) was destroyed while the application is still running.
220     * [233634] When there are several input method plugins available, they are
221       now initialized only when the user switches to them.
222     * [231089] Fixed an issue which caused HTTP GET to fail for chunk
223       transfers.
224     * [193475] Consumer tablet devices (like Wacom Graphite and Bamboo) now
225       work on Windows and Mac OS X.
226     * [203864] Do not warn when deleting objects in their event handler except
227       for Qt Jambi.
228
229 - QAbstractItemModel
230     * [233058] Fixed the sorting algorithm used in rowsRemoved().
231
232 - QAbstractItemView
233     * [221955] Fixed a bug that allowed rows to be selected even if the
234       selection mode was NoSelection.
235     * [244716] Fixed a possible crash when an edited cell was moved.
236     * [239642] Ensured that a rubber band selection is clear if the selection
237       ends on the viewport.
238     * [239121] Ensured that the old selection is clear when starting a
239       selection on the viewport.
240     * [219380] Fixed an update issue when removing rows.
241
242 - QAbstractSpinBox
243     * [221221] Fixed a usability issue with QAbstractSpinBox subclasses in
244       itemviews.
245
246 - QBitmap
247     * [216648] Fixed a problem where QBitmaps were being converted to 32-bit
248       QPixmaps when QPixmap::resize() was called.
249
250 - QByteArray and QString
251     * [239351] Fixed a bug in QCharRef and QByteRef that would cause them to
252       fail to detach properly in some cases. Applications need to be
253       recompiled to use the fix.
254     * [212140] Added repeated() functions to these classes.
255     * [82509] Added QT_NO_CAST_FROM_BYTEARRAY to disable "operator const
256       char *" and "operator const void *" in QByteArray.
257
258 - QCalendarWidget
259     * [206017] Fixed minimumSize to be calculated correctly in the case where
260       the vertical header has a different text format set.
261     * [206282] Added support for browsing months using the mouse wheel.
262     * [238384] A click on the date cell will now be ignored if the year
263       spin box is opened.
264
265 - QCleanlooksStyle
266     * [195446] Skip disabled menu and menu bar items when using keyboard
267       navigation.
268     * Fixed a problem with wrapped text eliding on titlebars.
269     * [204269] Fixed a sizing problem with push buttons having mnemonics.
270     * [216172] Fixed a problem with check box on inverted color schemes.
271
272 - QColor
273     * [196704] Fixed a problem where the QColor::fromHsvF() function could
274       return incorrect values.
275
276 - QComboBox
277     * [167106] Fixed a problem where the combobox menu would incorrectly show
278       check boxes after a style change.
279     * [227080] Fixed handling of the style sheet background-color attribute on
280       Windows.
281     * [227080] Adjusted pop-up size when using style sheet border.
282     * [238559] Fixed the completer as it was not using the right column with
283       setModelColumn().
284
285 - QCommandLinkButton
286     * [220475] Added support for On/Off icon states.
287
288 - QCommonStyle
289     * [211489] Ensured that checkable group boxes with no title are drawn
290       correctly.
291     * [222561] Made more standard icons available.
292
293 - QCOMPARE(QtTest)
294     * [183525] Fixed issue that caused QCOMPARE to give incomplete
295       information when comparing two string lists.
296     * [193456] Ensured that nmake install for QTestLib copies the DLL into the
297       bin directory.
298
299 - QCoreApplication
300     * [224233] Ensured that QCoreApplication::arguments() skips the
301       -stylesheet argument.
302
303 - QDate
304     * [222937] QDate - fixed issue preventing a minimum date of 01-01-01
305       from being set.
306
307 - QDataStream
308     * [230777] Fixed a bug that would cause skipRawBytes() to go
309       backwards if the correct resulting position was larger than 2 GB.
310
311 - QDateTimeEdit
312     * [196924] Improved QDateTimeEdit's usability. It now skips ahead to the
313       next field when input can't be valid for the current section.
314
315 - QDBusConnection
316     * [211797] Added support for the GetAll call in the standard
317       org.freedesktop.DBus.Properties interface.
318     * [229318] Fixed race conditions caused by timers being deleted in
319       the wrong thread.
320
321 - QDesktopServices
322     * [237398] Ensured that, on Mac OS X, returned paths do not have a
323       trailing '/'.
324
325 - QDesktopWidget
326     * [244004] Fixed a coordinate issue on Mac OS X with multi-screen setups
327       where the screen sizes differ.
328
329 - QDialog
330     * [214987] Ensured that maximize buttons are not put on dialogs by default
331       on Mac OS X.
332
333 - QDialogButtonBox
334     * [224781] Dialog buttons without icons now get the same height as dialog
335       buttons with icons to maintain the alignment.
336
337 - QDockWidget
338     * [237438] Fixed a crash in setFloat() for parentless dock widgets.
339     * [204184] Subclasses are now allowed to handle mouse events.
340     * [173854] Ensured that the size of the dock widget is remembered when it
341       is hidden.
342
343 - QDomDocument
344     * [212446] Ensured that a new line inserted after an element that
345       indicates whitespace is preserved.
346
347 - QDomAttr
348     * [226681] Fixed issue that caused specified() to return false if the
349       attribute is specified in the XML.
350
351 - QEvent
352     * Added more debug operators for common event types.
353
354 - QFlags
355     * [221702] Fixed issue with testFlag() that gave a surprising result on
356       enums with many bits.
357
358 - QFormLayout
359     * [240759] Fixed crash in QFormLayout that could occur when a layout was
360       alone in a row.
361
362 - QFile
363     * [238027] Fixed a bug that would cause QFile not to be able to map a file
364       to memory if QFile::open() was called with extra flags, like
365       QIODevice::Unbuffered.
366
367 - QFileInfo
368     * [166546] Fixed QFileInfo operator== bug involving trailing directory
369       separators.
370
371 - QFileDialog
372     * [240823] Fixed issues with file paths over 270 characters in length on
373       Windows.
374     * [212102] Fixed ".." directory issue.
375     * [241213] Fixed some problems when renaming files.
376     * [232613] Fixed a usability issue with UNC path on Windows.
377     * [228844] Fixed a wrong insertion in the filesystemModel that caused
378       persistant model index to be broken.
379     * [190145] [203703] Fixed a bug in getExistingDirectory() that returned
380       /home/ instead of /home, or on Windows, returned c:/temp/ instead of
381       c:/temp. We now match the native behavior.
382     * [236402] Fixed warning in the QFileDialog caused by deleting a directory
383       we have previously visited.
384     * [235069] Fixed issue that prevented QFileDialog from being closed on
385       Escape when the list view had focus.
386     * [233037] Fixed issue that caused the "Open" button to be disabled even
387       if we want to enter a directory (in AcceptSave mode).
388     * [223831] Ensured that the "Recent Places" string is translatable.
389     * Fixed crash on Windows caused by typing \\\ (empty UNC Path).
390     * [226366] Fixed issue that prevented the completer of the line edit from
391       being shown when setting a directory with lower case letter.
392     * [228158] Fixed issue that could cause the dialog to be closed when
393       pressing Enter with a directory selected.
394     * [231094] Fixed a hang that could occur when pressing a key.
395     * [227304] Fixed a crash that could occur when the dialog had a completer
396       and a QSortFilterProxyModel set.
397     * [228566] Fixed the layout to avoid cyclically showing and hiding the
398       scroll bars.
399     * [206221] Ensured that the view is updated after editing a value with a
400       custom editor.
401     * [196561] Fixed the static API to return the path of the file instead of
402       the link (.lnk) on Windows.
403     * [239706] Fixed a crash that could occur when adding a name filter from
404       an editable combo box.
405     * [198193] Ensured that directory paths on Windows have a trailing
406       backslash.
407
408 - QFrame
409     * [215772] Style sheets: Ensured that the shape of the frame is respected
410       when not styling the border.
411
412 - QFont
413     * [223402] QFont's QDataStream operators will now save and restore the
414       letter/word spacing.
415
416 - QFontMetrics
417     * [225031] Fixed issue where QFontMetrics::averageCharWidth() could return
418       0 on Mac OS X.
419
420 - QFtp
421     * [227271] Added support for old FTP servers that do not recognize the
422       "SIZE" and "MDTM" commands.
423
424 - QFuture
425     * [214874] Fixed deadlock issue that could occur when cascading QFutures.
426
427 - QGLContext
428     * [231613] Fixed a crash that could occur when trying to create a
429       QGLContext without a valid paint device.
430
431 - QGLFramebufferObject
432     * [236979] Fixed a problem with drawing to multiple, non-shared,
433       QGLFramebufferObjects from the same thread using QPainter.
434
435 - QGraphicsEllipseItem
436     * [207826] Fixed boundingRect() for spanAngle() != 360.
437
438 - QGraphicsGridLayout
439     * [236367] Removed (0, 0) maximum size restriction of a QGraphicsItem by
440       an empty QGridLayout.
441
442 - QGraphicsItem
443     * [238655] Fixed slowdown in QGraphicsItem::collidesWithItem() that was
444       present in Qt 4.4.
445     * [198912] ItemClipsChildrenToShape now propagates to descendants.
446     * [200229] Ensured that context menu events respect the
447       ItemIgnoresTransformations flag.
448     * Enabling ItemCoordinateCache with no default size now automatically
449       resizes the item cache if the item's bounding rectangle changes.
450     * [230312] Mac OS X: Fixed a bug where update() issued two paint events.
451
452 - QGraphicsLayout
453     * [244402] Fixed issue that could cause a horizontal QGraphicsLinearLayout
454       to stretch line edits vertically.
455
456 - QGraphicsLayoutItem
457     * Fixed a crash that could occur with custom layouts which did not delete
458       children.
459
460 - QGraphicsScene
461     * [236127] Fixed BSP tree indexing error when setting the geometry of
462       a QGraphicsWidget.
463
464 - QGraphicsWidget
465     * [223403] Ensured that QGraphicsWidget(0, Qt::Popup) will close when you
466       click outside it.
467     * [236127] Fixed QGraphicsScene BSP tree indexing error.
468     * Improved rendering of window title bars.
469     * Fixed crash that could occur when a child that previously had the focus
470       died without having the focus anymore.
471
472 - QGraphicsProxyWidget
473     * [223616] Ensure that context menus triggered by ActionsContextMenu are
474       embedded.
475     * [227990] Widgets are not longer resized/moved when switching themes on
476       Windows.
477     * [219058] [237237] Fixed scroll artifacts in embedded widgets.
478     * [236545] Ensured that the drag and drop cursor pixmap is not embedded
479       into the scene on X11.
480     * [238224] Fixed a crash that could occur when a proxy widget item was
481       deleted.
482     * [242553] Fixed drag and drop propagation for embedded widgets.
483
484 - QGraphicsSvgItem
485     * [241475] Fixed update on geometry change.
486
487 - QGraphicsTextItem
488     * [240400] Fixed bugs in mouse press handling.
489     * [242331] Add tabChangesFocus() to let the user control whether the text
490       item should process Tab input as a character, or just switch Tab focus.
491
492 - QGraphicsView
493     * [236453] Improved Tab focus handling (propagate Tab and Backtab to items
494       and widgets).
495     * [239047] Improved stability of fitInView() with a very small viewport.
496     * [242178] Fixed rubber band debris left in Windows XP style (potentially
497       any style).
498     * Fixed a crash in QGraphicsView resulting from the non-deletion of
499       sub-proxy widgets.
500     * Fixed issue that caused items() to return an incorrect list with an
501       incorrect sort order when an item in the scene has the
502       IgnoresTransformations flag set to true.
503     * Ensured that the painter properly saves/restores its state after a call
504       to drawBackground().
505     * [197993] Allow any render hint to be set/cleared by the
506       QGraphicsView::renderHints property.
507     * [216741] Fixed handling of QGraphicsView::DontSavePainterState (broken
508       in Qt 4.3).
509     * [235101] [222323] [217819] [209977] Implemented proper font and palette
510       propagation in Graphics View.
511     * [238876] Fixed scroll artifacts in reverse mode.
512     * [153586] Ensured that the text cursor is drawn correctly in transformed
513       text controls in a QGraphicsView.
514     * [224242] Added support for embedding nested graphics views.
515
516 - QGroupBox
517     * [204823] Fixed a palette inconsistency when using certain styles.
518
519 - QHeaderView
520     * [239684] Fixed sorting that wouldn't happen when clicking unless the
521       sort indicator is shown.
522     * [236907] Fixed bug that could cause hidden columns to become visible.
523     * [215867] Resizing sections after moving sections could resize the wrong
524       columns.
525     * [211697] Fixed ResizeToContents to always show the full content of
526       cells.
527
528 - QImage
529     * [240047] Fixed a problem with drawing/transforming sub-images.
530
531 - QImageReader
532     * [138500] Added the QImageReader::autoDetectImageFormat() function.
533
534 - QKeySequence:
535     * Added QKeySequence::SaveAs which has values for both GNOME and Mac OS X.
536     * [154172] Improved toString(NativeText) to return more native glyphs on
537       Mac OS X.
538
539 - QLabel
540     * [226479] Fixed update if showing a QMovie that changes its size.
541     * [233538] Fixed behavior involving changing the color of a label with a
542       style sheet and pseudo-state.
543
544 - QLineEdit
545     * [179777] Ensured that PasswordEchoOnEdit shows asterisks correctly.
546     * [229938] Fixed issue that could cause textChanged() to be emitted when
547       there was a maximum length set, even though the text was not changed.
548     * [210502] Fixed case-insensitive inline completion.
549
550 - QLineF
551     * [241464] Fixed issue that could cause intersects() to be numerically
552       unstable in corner cases.
553       The function has been rewritten to be faster and more robust.
554
555 - QListView
556     * [217070] Fixed issue that could cause scroll bars to appear in adjusted
557       icon mode.
558     * [210733] Made improvements in the way the pagestep is computed.
559     * [197825] Ensured that hidden items are not selectable.
560
561 - QLocalServer
562     * Added new removeServer() static method to allow the socket file to be
563       deleted after an application has crashed.
564
565 - QMacStyle
566     * [232298] Draw the sort indicators in the correct direction for table
567       headers.
568     * [198372] Give context sub-menus the correct mask.
569     * [209103] [232218] QToolButton::DelayedPopup is now displayed correctly.
570     * [221967] Bold header text now uses the correct color.
571     * [234491] Also the menu's QFont when when drawing menu items.
572     * Ensure the proper pressed look for tabs on Leopard.
573
574 - QMainWindow
575     * [192392] Stop excessive updates with unified toolbars when changing the
576       enabled status of an action.
577     * [195259] Ensured that the toolbar button is shown when the unified
578       toolbar is created later.
579
580 - QMessageBox
581     * [224094] Fixed crash that could occur when specifying a default button
582       that was not one of the buttons listed.
583     * [223451] Fixed a memory leak on a static pointer when the application
584       exits.
585
586 - QMainWindow
587     * [224116] [228995] [228738] save/restoreState() would not always restore
588       the toolbars in the correct positions.
589     * [215430] Fixed issue that meant that the user could dock widgets and
590       they wouldn't be tabbed even if ForceTabbedDocks was set.
591     * [240184] Fixed an issue that caused QDockWidget to get smaller and
592       smaller by docking and undocking.
593     * [186562] Fixed layout when saving the state with an undocked dock widget
594       and then restoring it
595     * [228110] Re-adding a toobar now also re-docks it.
596     * [232431] Fixed a memory leak caused by setting centralWidget multiple
597       times.
598
599 - QMenu
600     * [220965] [222978] Style sheets: Made it possible to set border and
601       gradient on items.
602
603 - QMenuBar
604     * [228658] Fixed broken activated signal behavior.
605     * [233622] Fixed the repaint when a dialog is invoked
606
607 - QMdiArea
608     * [233264] Mac OS X: Improved performance when dragging sub-windows
609       around.
610     * [233267] [234002] [219646] Removed flickering behavior that could occur
611       when switching between maximized sub-windows.
612
613 - QNetworkReply:
614     * [235584] Fixed a bug that would cause sslConfiguration() to
615       return a null object if finished() had already been emitted.
616
617 - QOpenGLPaintEngine
618     * [244918] Fixed a problem with drawing text and polygons onto software
619       rendering GL contexts.
620
621 - QPainterPath
622     * [234220] Fixed crash due to a division by zero function in
623       addRoundedRect().
624
625 - QPicture
626     * [226315] Fixed an assert when trying to load picture files created with
627       Qt 3 into Qt 4.
628
629 - QPixmap
630     * [223800] Fixed a bug where grabWindow() on a QScrollArea did not work
631       the first time.
632     * [217815] Fixed a bug where grabWidget() did not work properly for
633       resized and hidden widgets.
634     * [229095] Mac OS X: Fixed issue that could cause grabWindow() to grab the
635       wrong parts of the window for child widgets.
636
637 - QPlastiqueStyle
638     * [195446] Ensured that the background is now painted on selected but
639       disabled menu items for improved keyboard navigation.
640     * [231660] Fixed support for custom icon size in tab bars.
641     * [211679] drawPartialFrame() now passes the widget pointer.
642
643 - QPainter
644     * QPainter::font(), brush(), pen(), background():
645       These functions will return default constructed objects when the
646       painter is inactive.
647     * [242780] Fixed segmentation fault that could occur when setting
648       parameters on an uninitialized QPainter.
649     * [89727] Added support for raster operations.
650     * [197104] More well-defined gradient lookup (linear gradients are now
651       perfectly symmetric if inverting the color stops).
652     * [239817] Fixed bug where overline/strike-out would be drawn with the
653       wrong line width compared to the underline.
654     * [243759] Fixed some off-by-one errors in the extended composition modes
655       in the raster paint engine.
656     * [234891, 229459, 232012] Fixed some corner case bugs in the raster paint
657       engine line/rectangle drawing.
658     * Fixed the "one pixel less" clipping bug caused by precision lost when
659       converting to int.
660     * Fixed the composition mode in QPainter raster which was not properly set.
661     * Fixed an assert when the painter is reused after a previous bad usage
662       (e.g., painting on a null pixmap).
663
664 - QPainterPath
665     * Added convenience operators: +, -, &, |, +=, -=, &= and |=.
666
667 - QPrinter
668     * [232415] Fixed a problem that caused a an invalid QPrinter
669       object to not update its validity after being passed into a
670       QPrintDialog.
671     * [215401] Fixed the size of the Executive paper format.
672     * [202113] Improved speed when printing to a highres PostScript printer.
673     * [195028] Trying to print to a non-existing file didn't update the validity
674       of the QPrinter object correctly.
675     * [134820] Support CUPS printer instances on Unix systems (Mac and X11).
676     * [201875] Fixed a bug that caused the fill opacity of a brush to be used
677       for the stroke in certain cases.
678     * [222056] Fixed absolute letter spacing when printing.
679     * [234135] Fixed a problem with custom margins for CUPS printers.
680
681 - QPrintDialog
682     * [232207] When printing to a Qt .pdf or .ps printer under Windows or
683       Mac OS X, pop up a file dialog instead of the native print dialog.
684
685 - QPrintPreviewDialog
686     * [236418] Fixed a problem that caused opening several QPrintPreviewDialogs
687       and printing to them at the same time crash.
688
689 - QProcess
690     * [230929] (Unix) Open redirection files in 64-bit mode wherever supported.
691
692 - QProgressDialog
693     * [215050] Properly stop internal timer that retriggered for no reason.
694
695 - QProgressBar
696     * [216911] stylesheet bug if minimum value != 0
697     * [222872] Use the orientation when determining if we should repaint.
698
699 - QRadioButton
700     * [235761] Fixed navigation with arrow keys when buttons are in different layout
701
702 - QRegion
703     * [200586] Make QRegion a lot smarter when converting from a QPolygon, to avoid
704       creating a lot of needless rectangles.
705     * For Mac OS X, add QRegion::toQDRgn(), QRegion::toHIMutableShape() and
706       corresponding ::fromQDRgn() and ::fromHIShape(). The ::handle() is still
707       available for 32-bit Mac OS X builds and is the equivalent of ::toQDRgn().
708
709 - QScrollArea
710     * [206497] Stylesheet: It's now possible to style the corner with ::corner
711
712 - QScrollBar
713     * [230253] Simple stylesheets doesn't break the scrollbar anymore.
714
715 - QSettings
716     * [191901] Added methods setIniCodec() and iniCodec() for changing the codec of .ini files.
717
718 - QSharedMemory
719     * Don't deadlock when locking an already-held lock.
720
721 - QSortFilterProxyModel
722     * [236755] Hidden columns in QTableView could become visible
723     * [234419] Fixed a data corruption when adding child and row is filtered out
724
725 - QSslSocket
726     * [189980] Ensure OpenSSL_add_all_algorithms() is called.
727
728 - QSslCertificate
729     * [186084] Fixed a bug that would cause timezones in certificate
730       times not to be parsed correctly, leading to valid certificates
731       not being accepted
732
733 - QSslConfiguration
734     * [237535] Fixed a bug that would cause QSslConfiguration objects
735       to leak memory and eventually corrupt data due to wrong
736       reference counting.
737
738 - QStandardItemModel
739     * [227426] Fixed drag and drop of hierarchy
740     * [242918] Added ability to change flags of the root item.
741
742 - QString
743     * [205837] Qt 4.4: format string warnings / small QString conversion
744       clean up.
745
746 - QSvgRenderer
747     * [226522] Fixed fill-opacity when fill is a gradient.
748     * [241357] Fixed gradients with two or more stop colors at the same offset.
749     * [180846] Fixed small font sizes.
750     * [192203] Add support for gzip-compressed SVG files.
751     * [172004] Respect the text-anchor attribute for embedded SVG-fonts.
752     * [199176] Ensure QSvgGenerator handles fractional font sizes
753     * [151078] Fix parsing of embedded fonts in files that have <metadata> tags
754
755 - QSystemTrayIcon
756     * [195943] QSystemTrayIcon now accepts right mouse clicks on Mac OS X.
757     * [241613] Hide the tooltip when open the menu on Mac OS X.
758     * [237911] Only emit QMenu::triggered once on Mac OS X.
759     * [196024] Make it possible to disable context menus on Mac OS X.
760
761 - QTabBar
762     * [213374] Fixed position of label in vertical bar with stylesheet
763
764 - QtScript
765     * [177665] Added QScriptEngine::checkSyntax(), which provides information
766       about the syntactical (in)correctness of a program.
767       QScriptEngine::canEvaluate() has been obsoleted.
768     * [192955] Added the ability to exclude the QObject::deleteLater() slot
769       from the dynamic QObject binding, so that scripts can't delete
770       application objects.
771     * [212277] Fixed issue where the wrong prototype object was set when a
772       polymorphic type was returned from a slot.
773     * [213853] Fixed issue that could cause events to be processed less
774       frequently than what's set with QScriptEngine::setProcessEventsInterval().
775     * [217781] Fixed bug that caused the typeof operator to return "function"
776       when applied to a QObject wrapper object.
777     * [219412] Fixed bug that could cause the in operator to produce wrong results
778       for properties of Array objects.
779     * [227063] Fixed issue where a break statement caused an infinite loop.
780     * [231741] Fixed bug that could cause the implementation of the delete
781       operator to assert.
782     * [232987] QtScript now calls QObject::connectNotify() and
783       QObject::disconnectNotify().
784     * [233346] Fixed issue where the garbage collector would not be triggered when
785       very long strings were created, causing excessive memory usage.
786     * [233624] Fixed bug that caused enums in namespaces to be handled incorrectly.
787     * [235675] Fixed issue where creating a QScriptEngine would interfere with
788       ActiveQt's QVariant handling.
789     * [236467] Fixed bug that caused QtScript to treat a virtual slot redeclared by
790       a subclass as an overload of the base class's slot.
791     * [240331] Fixed bug that caused QtScript to crash when one of the unary
792       operators ++ and -- was applied to an undefined variable.
793     * If a signal has overloads, an error will now be thrown if you try to connect
794       to the signal only by name; the full signature of a specific overload must
795       be used.
796     * Added support for multi-line string literals.
797     * Added QScriptEngine::setGlobalObject().
798     * Made it possible to use reserved identifiers as property names in
799       contexts where there is no ambiguity.
800
801 - QTcpSocket
802     * [235173] Fixed a bug that would cause QTcpSocket re-enter
803     select(2) with an uninitialized timer (when the first call got
804     interrupted by a signal).
805
806 - QTextCursor
807     * [244408] Fixed regression in QTextCursor::WordUnderCursor behavior.
808
809 - QTextCodec
810     * [227865] QTextCodec::codecForIndex(int) broken in Qt3Support
811
812 - QTextEdit
813     * [164503, 232857] Fixed issues where using NoWrap caused
814       selection/background colors to not cover full width of text control.
815     * [186044] Fixed whitespace handling when copying text from Microsoft Word
816       or Firefox.
817     * [228406] Fixed parenthesis characters with RTL layout direction on
818       Embedded Linux.
819     * [189989] Fixed QTextEdit update after layout direction change.
820
821 - QTextStream
822     * [210933] It is now possible to specify a locale which
823       QTextStream should use for text conversions.
824
825 - QToolBar
826     * [193511] Fixed stylesheet on undocked toolbar
827     * [226487] Fixed the layout when the QMainWindow as a central widget with
828       fixed size.
829     * [220177] Fixed the layout not taking the spacing into account
830
831 - QToolButton
832     * [222578] Fixed issues with checked and disabled tool buttons in some
833       styles.
834     * Tool button now allows independent hover styling on it's subcontrols.
835     * [167075] [220448] [216715] Polished stylesheet color, background, and
836       border.
837     * [229397] Fixed regression against Qt3 where setPopupDelay(0) did not
838       work as expected.
839
840 - QToolTip
841     * [228416] Fixed style sheet tooltips on windows.
842
843 - QTreeView
844     * [220494] scrollTo() didn't scroll horizontally if the vertical bar was
845       already at the correct position.
846     * [216717] Fixed update when children are added.
847     * [225029] Fixed bug that prevented focus from being shown for
848       non-selectable items when allColumnsShowFocus is set to true.
849     * [226160] Fixed hit detection when first column is moved.
850     * [225539] Fixed a crash when deleting the model.
851     * [241208] Fixed animation when using persistent editors.
852     * [202073] Fixed visualRect which would not take the indentation into
853       account when 1st column is moved.
854     * [230123] Item can no more be expanded with keyboard if
855       setItemsExpandable has been set to false.
856
857 - QTreeWidget
858     * [243165] selectAll didn't work before the widget was shown
859     * [238003] setCurrentItem would not expand the parent item
860     * [223130] Fixed drag&drop when sort is enabled that would only drop the
861       first column.
862     * [223950] Only allow to drag items when they have the
863       Qt::ItemIsDragEnabled flag set.
864     * [218661] Made sure our internal model can pass the "modeltest" test
865       suite.
866     * [217309] Fixed issue that caused data() for CheckStateRole to return
867       Checked even if some children were partially checked.
868     * [229807] Fix a redrawing problem when scrolling with a different palette
869       role set on Mac OS X.
870     * [236868] Prevent a crash when dragging an item hidden by a tooltip on
871       Mac OS X.
872
873 - QLocale
874     * Added support for narrow format for day and month names.
875     * Day and month names can now also be fetched as a standalone text.
876
877 - QDebug
878     * Values of type QBool are now properly outputted with QDebug.
879
880 - QUndoStack
881     * [227714] Don't crash when owner group is deleted.
882
883 - QUrl
884     * [204981] Made the QUrl tolerant parser more tolerant
885     * Fixed a bug in QUrl's tolerant parsing of stray % characters
886       (not part of %HH sequences), which would cause it to make the
887       URL even worse
888     * [227069] Fixed a bug that would cause QUrl to not parse URLs
889       whose hostnames start with an IP address (like
890       http://1.2.3.4.example.com)
891     * [230642] Fixed a bug that made QUrl not properly produce proper
892       URLs with relative paths
893     * Modified QUrl to not normalize %HH in URLs unless strictly
894       necessary. QUrl now keeps the original %-encoding of the input
895       unless some operation is executed in the QString
896       components. This also allows for %2f to exist in path components.
897
898 - QVariant
899     * [215610] prevented assertion when reading from an invalid QDataStream.
900
901 - QWidget
902     * [222323] [217819] [209977] Improve Qt's font and palette propagation.
903     * [218568] Revert and reopen task 176809 ("when using
904       Qt::PreventContextMenu policy, the context key menu is still not sent to
905       the widget").
906     * [220502] Ensure that setWindowFilePath() when called with an empty
907       string clears the proxy icon in Mac OS X.
908     * [240147] Enforce exclusivity between the Qt::WA_(Normal|Small|Mini)Size
909     * [168641] Ensure that tablet releases go to the correct widget on X11 and
910       Carbon (i.e., the widget that received the press).
911     * [192565] Fixed a problem with calling QWidget::render(), using a
912       QPrinter as a paint device.
913     * [236565] [168570] Fix regression on X11 where QWidget::restoreGeometry()
914       would restore incorrect geometry if the window was maximized when saved.
915     * [201655] Fix QWidget::scroll() acceleration issue with child widgets on
916       Mac OS X.
917     * [210734] [210734] Fixed a bug where changing the visibility of alien
918       widgets did not generate proper enter/leave events.
919     * [228764] Major improvement of scroll performance.
920     * [238258] [229067] [239678] Flickering with widgets larger than
921       4096x4096 pixels in size.
922     * [141091] Added full support for Qt::WA_StaticContents.
923     * [238709] Fixed a bug where calling clearMask() did not update the view
924       properly.
925     * [213512] Fixed clipping issue with Qt::WA_PaintOutsidePaintEvent widgets.
926     * [230175] Added support for calling render() recursively.
927     * [238115] Fixed painting issues after calling winId().
928
929 - QWindowsStyle
930     * [210069] Fixed a bug in the drawing of comboboxes.
931
932 - QWindowsVistaStyle
933     * [221668] Respect background color role for item views.
934     * [227360] Current item now gets focus for multiselection views.
935     * [224251] Fixed incorrect painting of inverted and reversed progress
936       bars.
937     * [207836] Fixed a problem with vertical toolbar separators.
938     * [202895] Fixed problem where indeterminate progress bars were not
939       animated when Vista animations were explicitly disabled.
940     * [200899] Message box buttons are now right aligned.
941
942 - QWindowsXPStyle
943     * [207242] Fixed a static memleak.
944     * [206418] Fixed missing focus rect on tool buttons.
945     * [188850] Fixed a problem with offsets for sliders.
946     * [110091] Tool buttons with arrows are not styled using black
947       windows arrows due to consistency issues with the native theme.
948
949 - QWizard
950     * [204643] Make sure the maximum size of QWizard is computed properly.
951
952 - QWorkspace
953     * [125281] fixed active child to be the same when minimizing and restoring
954       the main window.
955
956 - QtWebKit
957     * ACID3 score 100 out of 100.
958     * Added support for plugins using Netscape Plugin API (NPAPI) for Windows,
959       Mac OS X, and X11.
960     * [211228] Fixed invisible focus rectangle on push buttons.
961     * [211256] Fixed dragging an image from the web view.
962     * [211273] Fixed static build of Qt with QtWebKit.
963     * [213966] Fixed wrong placement of native widget plugins after scrolling.
964     * [214946] Ensured native plugin instances are deleted properly.
965     * [217574] Fixed cursor problem on text input field after focus change.
966     * [218957] Fixed rendering of form elements when using Windows style.
967     * [219344] Added a remark that some web actions have an effect only
968       when contentEditable is true.
969     * [220127] Fixed mouse right click still allowed for disabled view.
970     * [222544] Added an option to print background elements.
971     * [222558] Fixed input method does not work after changing the focus.
972     * [222710, 222713] Fixed issues with TinyMCE editor.
973     * [223447] Ensured that CSS with relative path works on Windows.
974     * [224539] Fixed linkClicked() emitted only once for local anchor URLs.
975     * [225062] Fixed links do not work for QWebView embedded in QGraphicsScene.
976     * [227053] Fixed problem with percent encoded URLs.
977     * [230175] Fixed video rendering when embedded in Graphics View.
978     * [235270] Showed module name when plugin loading fails.
979     * [238330] Prevented multiple instantiation of native widget plugin.
980     * [238391] Prevented crash when printing to file is cancelled.
981     * [238662] Fixed function keys are not mapped.
982     * [241050] Implemented proper painting of CSS gradient.
983     * [241144] Ensured proper actions for some web action types.
984     * [241239] Ensured plugins are not loaded when disabled.
985     * [231301] Fixed an issue on Windows mobile when switching between input
986       modes.
987
988 - Q3ButtonGroup
989     * [238902] Q3ButtonGroup now looks for children recursively rather than
990       just the direct children like it did in Qt 3.
991     * [200764] Fixed insertion of buttons with IDs in arbitrary order.
992
993 - Q3FileDialog
994     * [230979] Fixed a crash after a resize and drag on scroll bars.
995
996 - Q3MainWindow
997     * [240766] Crash while resizing the window while updating layouts.
998
999 - Q3ListView
1000     * [225648] Fixes infinite update.
1001
1002 - Q3ProgressBar
1003     * [132254] Fixed incorrect painting when totalSteps = 0.
1004     * [231137] Fixes progress bar disappearing if you set a style sheet to the
1005       application.
1006
1007 - StyleSheets
1008     * [224095] Fixed white space inside palette().
1009     * Fixed setting style on the application may change the appearance of some
1010       widgets.
1011     * [209123] Fixed Stylesheets causing unnecessary paint events on
1012       enterEvent() and leaveEvent().
1013     * [209123] Fixed setting gradient background to custom widget.
1014
1015 - QXmlQuery
1016     * [223539] Summary: "node" and other typekind keywords are not allowed as
1017       an element name when part of for loop.
1018
1019 - QXmlStreamReader
1020     * [207024] Added the QXmlStreamAttribute::hasAttribute() function.
1021     * [231516] Regression: QXmlStreamWriter produces garbage in "version"
1022       attribute of XMLDeclaration.
1023
1024 ****************************************************************************
1025 *                          Examples and demos                              *
1026 ****************************************************************************
1027
1028 - Pad Navigator example
1029     * [236416] Provide a minimum window size for this example.
1030     * [208616] No longer builds in console mode on Windows.
1031
1032 - Diagram Scene example
1033     * [244996] Fix crash when changing the font of a text item and then
1034       select other items.
1035
1036 ****************************************************************************
1037 *                          Database Drivers                                *
1038 ****************************************************************************
1039
1040 - Interbase driver
1041
1042 - MySQL driver
1043
1044 ****************************************************************************
1045 *                             QTestLib                                     *
1046 ****************************************************************************
1047
1048  - QTestLib now supports writing benchmarks.
1049  - Fixed an issue where tests returned exit code 0, even though tests
1050    failed in some rare cases.
1051
1052 ****************************************************************************
1053 *                      Platform Specific Changes                           *
1054 ****************************************************************************
1055
1056 Unix
1057     * Made the iconv-based QTextCodec class (the "System" codec on
1058       Unix systems that support it) stateful. So it's now possible to
1059       feed incomplete multibyte sequences to the toUnicode function,
1060       as well as the first character in a UTF-16 surrogate pair.
1061
1062 X11
1063     * Added a QGtkStyle to integrate with GTK+ based desktop environments.
1064     * If font config is used the default font-substitutions will no longer be
1065       used instead we rely on fontconfig to determine font substitutions as
1066       required.
1067     * Improved support for KDE4 desktop settings.
1068     * [214071] Improved support for custom freedesktop icon themes.
1069     * [195256] Use FreeType's subpixel filtering if available, thus honoring
1070       Font Config's LCD filter settings.
1071     * Added supported for XFIXES X11 extension for proper clipboard
1072       support when non-Qt application owns the clipboard.
1073     * Icon support for top level windows (_NET_WM_ICON) was improved
1074       to support several icons with different sizes.
1075     * [211240] In some cases QFileSystemWatcher didn't notify about
1076       files that were moved over another files.
1077     * [238743] Added support for the _NET_SYSTEM_TRAY_VISUAL property
1078       to use the same visual the system tray manager asks us to use.
1079     * [229593] Fix font matching with old fontconfig versions.
1080     * [167873] Proper event compression for mouse events when using tablets.
1081     * [208181] Fix averageCharWidth to be consistent for y!=x ppem
1082     * [229070] Fix QPrintDialog assertion
1083     * [211678] Fixed a problem with drawing a QPixmaps on different X11
1084       screens.
1085     * [221362] Fixed a problem where pixmaps only appeared on the first page
1086       in a print preview.
1087     * [232666] Fixed a problem with custom page sizes for CUPS printers.
1088     * [228770] Fixed a problem that caused the .ps and .pdf filename
1089       extensions
1090       to not update in the CUPS printer dialog when printing to file.
1091     * [230372] Fixed a problem where the number of copies set on a QPrinter
1092       object wasn't picked up and updated properly in a QPrintDialog.
1093
1094 Windows
1095     * Cleartype rendering was previously supported onto QImages with
1096       an ARGB32 channel. For performance reasons, cleartype is now
1097       only supported on opaque images using the RGB32 or
1098       ARGB32_Premultipled format. Widget and pixmap rendering is
1099       unchanged
1100     * [175075] Antialiased font rendering quality has been greatly improved
1101       by taking gamma correction into account. We should now match the native
1102       Windows font rendering better, and the fonts look better in general when
1103       drawing fonts on different backgrounds.
1104     * [221132] Fixed a problem with System Tray menu visibility.
1105     * [221653] Fixed a problem incorrectly causing a Task Bar status change.
1106     * [202890] Improved platform consistency with spacing in menus.
1107     * [157323] QCombobox now slides to open on relevant platforms.
1108     * [237067] Calling showMessage on QSystemTrayIcon with empty arguments
1109       now hides the current message.
1110     * [145612] Setting an object name for a QThread sets the name that
1111       is visible in the debugger for more easy debugging
1112       multi-threaded application.
1113     * [216664] QLocale now follows the current system locale when the
1114       user changes it in the Windows Control Panel.
1115     * [223921] Fix writing system detection of TrueType fonts added
1116       via a QByteArray in QFontDatabase::addApplicationFont on Windows.
1117     * [205455] 'mailto:' links works properly with QDesktopServices::openUrl().
1118     * [205516] standardPalette() now returns the system palette for XP and
1119       Vista styles.
1120     * [207506] Fixed an issue which switches the alignment for input widgets
1121       on Vista.
1122     * [223951] Added support for VARIANT with IDispatch in ActiveQt.
1123     * [224910] Fixed a crash when using the Hierarchy ActiveQt example.
1124     * [201223] 'dumpcpp' now prepends the 'classname_' to resolve conflicts.
1125     * [198556] QAxServer registering now takes care of '.' before MIME
1126       extension.
1127     * [223973] Fixed a deadlock in QLocalSocket.
1128     * [193077] Fixed activation of ActiveQt widgets in MFC MDI applications.
1129     * [238273] Fixed a crash while editing QTableView using japanese IME.
1130     * [238672] Fixed a crash when deleting a widget while dragging.
1131     * [241901] ActiveQt now supports [out VARIANT*] parameters.
1132     * Fix a GDI object leak on the qfileiconprovider.
1133     * [200269] Application and systray icons on Windows that had an alpha
1134       channel were not drawn correctly.
1135     * [239558] Fix a possible crash when reading XPM data containing trigraphs
1136       with the Microsoft compilers.
1137     * [204440] Fixed a problem with software rendering contexts on Windows,
1138       which might have caused rendering errors due to to unresolved extension
1139       pointers.
1140     * [232263] Fixed a problem with binding textures to a software context
1141       under Windows.
1142     * [238715] Fixed a problem with alpha-blended cursors under Windows.
1143     * [227297] and [232666] Fixed some problems with custom paper
1144       sizes under Windows.
1145     * [217259] The default printer wasn't correcly detected with some versions
1146       of Windows.
1147     * [212886] Fixed a problem with network printers not being listed by
1148       the QPrinterInfo::availablePrinters() function under Windows.
1149     * [205985] Fixed a problem with reusing a QPrinter object to print several
1150       jobs with the Microsoft XPS printer driver.
1151     * [196281] Fixed QPrinter::setPrintRange() to work under Windows.
1152
1153 Windows CE
1154     * Support for QLocalSocket and QLocalServer added.
1155     * QtWebKit and Phonon are now supported.
1156     * One can mark a widget with the attribute WA_ExpectsKeyboardInput
1157       to automatically display / hide the standard input panel on focus
1158       events.
1159     * [223523] Reimplementations of standard library functions filled the
1160       global namespace causing problems when linking statically to other third
1161       party libraries using the same attempt.
1162     * Support for using OpenSSL with Qt on Windows CE
1163
1164 Mac OS X
1165     * Added the macdeployqt tool that simplifies application deployment.
1166     * Improved support of widget stylesheet in Mac.
1167     * [218980] - Stacking order of windows and dialogs is fixed, such that
1168       dialogs always floats above normal windows, even when the dialog is told
1169       to behave as a window.
1170     * [219844] - A crash that occurred when using the search buttons on a
1171       native file dialog is fixed.
1172     * [225705] - FileDialog filters not displaying correctly is fixed.
1173     * [239155] - Pop-ups will now close when clicking on a window other than
1174       the modal window that opened the pop-up.
1175     * [210912] - Show event not sent when reshowing a window from minimized
1176       state is fixed.
1177     * [228017] - QMenu will now close when expanding a system menu.
1178     * Added support for Qt to use Cocoa as its backend instead of Carbon. This
1179       is primarily for 64-bit applications, but is also available for 32-bit
1180       frameworks as well. 32-bit is still Carbon by default. Passing a 64-bit
1181       architecture or -cocoa on the command-line will build Qt against Cocoa.
1182       Using Cocoa requires Mac OS X 10.5 (or higher) and cannot be used with
1183       the -static nor -no-frameworks option. The define QT_MAC_USE_COCOA is
1184       available when Qt is built against Cocoa.
1185     * Fix a bug that would prevent a window that had been maximized via
1186       setMaximized() to go back to normal size when clicking on the window's
1187       maximize button.
1188     * Added QMacCocoaViewContainer for embedding Cocoa (NSView) controls into
1189       a Qt hierarchy. This feature works for either Carbon or Cocoa, but
1190       requires Mac OS X 10.5 or greater.
1191     * Added QMacNativeWidget for embedding Qt widgets into non-Qt windows
1192       (Carbon or Cocoa).
1193     * Added MacWindowToolBarButtonHint for controlling whether or not the
1194       toolbar button is shown in Qt windows.
1195     * QEvents posted via QEventLoop::postEvent() are now treated as a standard
1196       event loop source, like timers and normal input events. This means that
1197       is should no longer be necessary to run a busy loop to sendPostedEvents()
1198       when QApplication is not the main event loop (e.g. when using Qt in a
1199       plugin).
1200     * [239646] Shortcuts for sub-menu are now disabled when the menu item is
1201       disabled.
1202     * [241434] Honor the LSBackgroundOnly attribute if it exists in the
1203       application's Info.plist.
1204     * [239908] More robustness when encountering different types in reading
1205       LSUIElement value.
1206     * [234742] Add support Qt::XButton1 and Qt::XButton2.
1207     * [236203] Much better support for loading multiple Qt's with different
1208       namespaces.
1209     * Add Qt::AA_MacPluginApplication that allows bypassing some native menu
1210       bar initialization that is usually not desired when running Qt in a
1211       plugin.
1212     * [205297] Applications Dialogs are now marked as application modal in
1213       Carbon.
1214     * Tooltip base is now set correctly in the application palette.
1215     * [222912] [241603] Qt applications no longer reset their palette back to
1216       the system palette on every application activate. Only if the values
1217       from the system are different from the last time. This should result in
1218       custom palette colors/brushes being kept across application activations.
1219     * [211758] Fixed a clipping problem when printing multiple pages on a Mac
1220       OS X printer.
1221     * [212884] Fixed a crash when printing images on Mac OS X.
1222     * [219877] Fixed a problem with a QPrinter object not being valid after
1223       setting the output format to PDF or PostScript.
1224     * [229406] Fixed crash when display mirroring gets enabled.
1225     * [189588] Fixed a bug where QColorDialog::getColor(...) always returned a
1226       valid color.
1227
1228 Qt for Embedded Linux
1229  - Screen drivers
1230    * The SVGAlib driver is no longer supported, due to architectural changes.
1231    * [235785] Detect VGA16 video mode and warn that it is not supported.
1232
1233  - Mouse and keyboard drivers
1234    * [243374] Fixed bug where PC mouse driver could not be loaded when
1235      configured as loadable plugins.
1236    * Added Linux Input Subsystem mouse and keypad drivers
1237
1238  - General fixes
1239    * [242922] Run as server by default when compiled with the
1240      QT_NO_QWS_MULTIPROCESS macro defined.
1241    * Fixed bugs where wrong cursor would be shown in some cases.
1242    * Respect min/max size on initial show also for windows without a layout.
1243    * Fixed loading of font plugins when QT_NO_FREETYPE is defined.
1244    * Autodetect PowerPC in configure.
1245    * Add support for precompiled headers.
1246
1247 ****************************************************************************
1248 *                      Compiler Specific Changes                           *
1249 ****************************************************************************
1250
1251 ****************************************************************************
1252 *                          Tools                                           *
1253 ****************************************************************************
1254
1255 - Build System
1256     * [218795] add support for -nomake configure option on Windows to
1257       exclude build parts like on other platforms
1258     * The -tablet configure option on X11 was renamed to -xinput
1259     * [136723] Have moc issue a warning if a Q_PROPERTY declaration does not
1260       contain a READ accessor function.
1261     * [188529] Fixed bug that caused moc to get stuck in an infinite loop if
1262       two files included eachother and the include path had the prefix "./".
1263     * [203379] Changed moc code generator so that lint no longer reports
1264       problems with the generated code.
1265     * [210879] moc no longer generates any implementation for pure virtual
1266        signals.
1267     * [234909] Fixed bug that caused moc to treat /*/ as a full C comment.
1268
1269 - Assistant
1270
1271 - Designer
1272     * Added filter widgets in Widget Box and Property Editor.
1273     * Added layout state display to Object Inspector.
1274     * Enabled changing the layout type of laid-out containers.
1275     * Added handling of spanning QFormLayout columns.
1276     * Added convenience dialog to quickly populate QFormLayouts.
1277     * Added support for embedded device design profiles.
1278     * Changed the selection modifiers to comply to standards; enabled
1279       rectangle selection using the middle mouse button; added
1280       shift-click-modifier to cycle parents when selecting.
1281     * Added "translatable" flag and disambiguation comment to string
1282       properties.
1283     * Added attribute editors to item-based widgets.
1284     * Changed QUiLoader to use QXmlStreamReader instead of QDom.
1285     * Ui files with unknown elements are now rejected.
1286     * [123592] While dropping a dock widget a main window - make the dock
1287       "docked".
1288     * [126269] Added the ability to morph widgets into compatible widgets.
1289     * [126997] Added support for QButtonGroup.
1290     * [145813] Added a listing function to obtain the available layouts to
1291       QUiLoader.
1292     * [155837] Added support for QWizard.
1293     * [164520] Added automatic detection of changes to the qrc resource files
1294       from external sources.
1295     * [166501] Added "translatable" checkbox to string properties making it
1296       possible to exclude it from the translation.
1297     * [171900] Indicate Qt 3 compatibility signals and slots using a different
1298       color.
1299     * [173873] Position pasted widgets at mouse position if possible.
1300     * [183637] Introduced Widget Box "Icon view" mode to reduce scrolling,
1301       available via context menu.
1302     * [183671] Added automatic retranslation upon language change of UIs
1303       loaded via QUiLoader.
1304     * [185283] Added incremental search facility to Object Inspector.
1305     * [191789] Added pkgconfig-Files for Qt Designer libraries.
1306     * [198414] Enabled promotion of QMenu/QMenuBar by object inspector context
1307       menu.
1308     * [201505] Extended QDesignerIntegration::objectNameChanged() to pass on
1309       old object name.
1310     * [202256] Fixed action editor and object inspector not to resize header
1311       when switching forms.
1312     * [211422] Fixed QScrollArea support to handle custom QScrollArea widgets
1313       with internal children.
1314     * [211906] Enable promotion of unmanaged widgets by object inspector
1315       context menu.
1316     * [211962] Enabled widgets to span columns in a QFormLayout.
1317     * [212378] Made the rich text editor dialog, the plain text editor dialog
1318       and the style sheet editor dialog remember their geometry.
1319     * [213481] Fixed a crash while form loading by preventing it from
1320       adding layouts to unknown layout types.
1321     * [219381] Fixed Action editor to reflect changing the shortcut in the
1322       property editor.
1323     * [219382] Added tooltip, checkable and shortcut properties to the action
1324       editor dialog.
1325     * [219405] Added support for the stretch and minimum size properties of
1326       QBoxLayout and QGridLayout.
1327     * [219492] Added an icon preview to the resource image file dialog on X11.
1328     * [220148] Fixed handling of the QMainWindow::unifiedTitleAndToolBarOnMac
1329       property.
1330     * [223114] Fixed a crash on removing a dynamic QUrl property.
1331     * [229568] Added Q3ComboBox.
1332     * [230818] Fixed a bug which caused duplicate names to occur when
1333       copying & pasting spacers.
1334     * [233403] Fixed a painting bug which caused red line layout markers to
1335       disappear depending on grid settings.
1336     * [233711] Added a warning when saving a container-extension-type
1337       container with unmanaged pages.
1338     * [234222] Fixed a bug which caused the autoFillBackground property to be
1339       reset during Drag and Drop operations.
1340     * [234326] Fixed the QDesignerIntegration::objectNameChanged() signal to
1341       work correctly.
1342     * [236193] Fixed a crash caused by invalid QSizePolicy values resulting
1343       from Qt 3 conversion.
1344     * [238524] Ignore constructor-added items of custom widgets inheriting
1345       QComboBox.
1346     * [238707] Fixed pkgconfig file generation to honour -qt-libinfix.
1347     * [238907] Disabled reordering of Spacers and Layouts causing uic to
1348       warn "<name> isn't a valid widget".
1349     * [232811] Correctly show empty string values in preview.
1350     * [214637] Single click expands/collapses classes in property editor
1351     * [241949] Update the object inspector properly in case of undoing a
1352       reparent widget command.
1353
1354 - uic
1355   * Ui files with unknown XML elements are now rejected.
1356   * [220796] Added code for adding items to widgets of class Q3ComboBox.
1357
1358 - uic3
1359
1360   * [231911] Fixed the conversion of boolean font attributes.
1361   * [233802] Fixed -extract option on Windows.
1362   * [236193] Fixed the conversion of QSizePolicy's "Ignored" value.
1363
1364 - Linguist
1365
1366   - Linguist GUI
1367
1368     * Much improved form preview tool
1369     * Removed translations column from message index for it being useless.
1370     * Phrasebooks have language settings now
1371     * [141788] Support translating into multiple languages simultaneously.
1372     * [183210] Whitespace is now visualized
1373     * [182866] Font resizing in translation textedits
1374     * [187765] Support opening files via Drag & Drop
1375
1376   - Entire Linguist toolchain
1377
1378    - [201713] Add support for specifying the source language.
1379
1380     - file formats
1381
1382       * The .qm files now can be read back by the toolchain, not only Qt.
1383       * Added support for GNU Gettext .po files.
1384
1385       - Qt's own .ts format
1386
1387         * New element <extracomment> to store purely informative comments
1388         * New element <translatorcomment> to store comments from translators
1389         * New element wildcard <extra:*> to support user extensions
1390         * New elements <oldsource> and <oldcomment> to store values from
1391           before the last heuristic merge by lupdate
1392
1393   - lupdate
1394
1395     * Parse //: and /*: */ comments as extra comments for translations.
1396     * Added support for new QT_TR*() macros.
1397     * Added support for QtScript.
1398     * Better error reporting.
1399     * More accurate processing of .pro files.
1400     * Added options -disable-heuristic, -nosort, -target-language,
1401       -source-language.
1402     * [197391] Support for storing source code references with relative
1403       line numbers or no references at all. Omit line numbers from .ui file
1404       references at all. These reduce the size of patches and avoid merge
1405       conflicts. Option -locations.
1406     * [197818] Add support for UTF-16 encoded sources.
1407     * [209778, 222637] Somewhat improved C++ parser, in particular with
1408       respect to namespaces.
1409     * [218671] Accept Q_DECLARE_TR_FUNCTIONS.
1410     * [212465] Default context is now the empty string, not "@default".
1411       This codifies what previously was an intermittent bug.
1412     * [220459] Collect all source code references for each message.
1413
1414   - lconvert
1415
1416     * New tool for converting between file formats and filtering file contents.
1417
1418 - configure
1419
1420 - qtconfig
1421   * Added option to set style and palette settings back to system defaults.
1422
1423 - qt3to4
1424   * [218928] [219127] [219132] [219482] Misc. updates to the porting replacement rules.
1425
1426 ****************************************************************************
1427 *                          Plugins                                         *
1428 ****************************************************************************
1429
1430 - QTiffPlugin
1431 - QSvgIconEngine
1432
1433 ****************************************************************************
1434 *                   Important Behavior Changes                             *
1435 ****************************************************************************
1436
1437 - Event filters
1438
1439 - QFileDialog
1440         On Mac, native dialogs are now used when calling show, open, or exec
1441         on a QFileDialog, QColorDialog, QPrintDialog, or QFontDialog (i.e not
1442         only when using the static functions)
1443
1444         QFileDialog/QFileSystemModel always return Qt separators ("/")
1445         regardless of the platform. It can still handle native separators for
1446         Windows. To convert the Qt separators to native separators use
1447         QDir::toNativeSeparators().
1448
1449 - QGraphicsTextItem
1450         Tab input is send to the document by default, inserting a <tab>
1451         character. You can get the old behavior of switching Tab focus by
1452         setting setTabChangesFocus(true) (QGraphicsTextItem's Tab handling now
1453         behaves identically to QTextEdit and QTextBrowser).
1454
1455 - QGraphicsView
1456         QGraphicsView now propagates Qt::Key_Tab and Qt::Key_Backtab to the
1457         scene, which sends this to the items. Similar to how QWidget works,
1458         this event is caught in QGraphicsItem::sceneEvent() and
1459         QGraphicsWidget::event() to handle tab input. Tab input is also
1460         proxied to embedded widgets. This allows and item or widget to handle
1461         Tab keys (e.g., text input).
1462
1463 - QLocale
1464         The locale database was updated to the Unicode CLDR database
1465         version 1.6.1
1466
1467         When the system locale is changed, the LocaleChange event will
1468         be sent to all widgets that don't have a locale explicitely
1469         set.
1470
1471 - QWebPage
1472         Starting with Qt 4.5, the base brush is used for the default
1473         background color of the web page. Before, it was the background
1474         brush.
1475
1476 - QWidget
1477         Font and palette settings assigned to QWidget directly take
1478         precedence over application fonts and palettes.
1479
1480         Focus policies that are set on a widget are now propagated to
1481         a focus proxy widget if there is one.
1482
1483         Windows with fixed size (that are set with QWidget::setFixedSize()
1484         function or Qt::MSWindowsFixedSizeDialogHint window hint) might
1485         not have a maximize button on the titlebar.
1486
1487         The behaviour of the window hints was changed to follow the
1488         documentation. When the Qt::CustomizeWindowHint is set, the
1489         window will not have a titlebar, system menu and titlebar
1490         buttons unless the corresponding window hints were explicitely
1491         set.
1492
1493         Setting Qt::WA_PaintOnScreen no longer has any effect on
1494         normal widgets. The flag can still be used in conjuction with
1495         reimplementing paintEngine() to return 0 so that GDI or
1496         DirectX can be used, as previously documented.