1Qt 4.5 introduces many new features and improvements as well as bugfixes
2over the 4.4.x series. For more details, refer to the online documentation
3included in this distribution. The documentation is also available online:
4
5  http://qt.nokia.com/doc/4.5
6
7The Qt version 4.5 series is binary compatible with the 4.4.x series.
8Applications compiled for 4.4 will continue to run with 4.5.
9
10Some of the changes listed in this file include issue tracking numbers
11corresponding to tasks in the Task Tracker:
12
13  http://qt.nokia.com/developer/task-tracker
14
15Each of these identifiers can be entered in the task tracker to obtain more
16information about a particular change.
17
18****************************************************************************
19*                           General                                        *
20****************************************************************************
21
22General Improvements
23--------------------
24
25New 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
157Optimizations
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
205Third 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
1056Unix
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
1062X11
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
1094Windows
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
1153Windows 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
1164Mac 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
1228Qt 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.
1497