dist/changes-4.2.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 4.2 introduces many new features as well as many improvements and
       
     2 bugfixes over the 4.1.x series. For more details, see the online
       
     3 documentation which is included in this distribution. The
       
     4 documentation is also available at http://qt.nokia.com/doc/
       
     5 
       
     6 The Qt version 4.2 series is binary compatible with the 4.1.x series.
       
     7 Applications compiled for 4.1 will continue to run with 4.2.
       
     8 
       
     9 The Qtopia Core version 4.2 series is binary compatible with the 4.1.x
       
    10 series except for some parts of the device handling API, as detailed
       
    11 in Platform Specific Changes below.
       
    12 
       
    13 
       
    14 ****************************************************************************
       
    15 *                           General                                        *
       
    16 ****************************************************************************
       
    17 
       
    18 
       
    19 New features
       
    20 ------------
       
    21 
       
    22 - QCalendarWidget provides a standard monthly calendar widget with date
       
    23   selection features.
       
    24 
       
    25 - QCleanlooksStyle provides the new Cleanlooks style, a clone of the GNOME
       
    26   ClearLooks style, giving Qt applications a native look on GNOME desktops.
       
    27 
       
    28 - QCompleter provides facilities for auto completion in text entry widgets.
       
    29 
       
    30 - QDataWidgetMapper can be used to make widgets data-aware by mapping them
       
    31   to sections of an item model.
       
    32 
       
    33 - QDesktopServices provides desktop integration features, such as support
       
    34   for opening URLs using system services.
       
    35 
       
    36 - QDialogButtonBox is used in dialogs to ensure that buttons are placed
       
    37   according to platform-specific style guidelines.
       
    38 
       
    39 - QFileSystemWatcher enables applications to monitor files and directories
       
    40   for changes.
       
    41 
       
    42 - QFontComboBox provides a standard font selection widget for document
       
    43   processing applications.
       
    44 
       
    45 - QGraphicsView and related classes provide the Graphics View framework, a
       
    46   replacement for Qt 3's canvas module that provides an improved API, enhanced
       
    47   rendering, and more responsive handling of large numbers of canvas items.
       
    48 
       
    49 - QGLFramebufferObject encapsulates OpenGL framebuffer objects.
       
    50 
       
    51 - QMacPasteboardMime handles Pasteboard access on Qt/Mac. This obsoletes
       
    52   QMacMime as the underlying system has changed to support Apple's new
       
    53   Pasteboard Manager. Any old QMacMime objects will not be used.
       
    54 
       
    55 - QNetworkInterface represents a network interface, providing information
       
    56   about the host's IP addresses and network interfaces.
       
    57 
       
    58 - QResource provides static functions that control resource lookup and
       
    59   provides a way to navigate resources directly without levels of
       
    60   indirection through QFile/QFileEngine.
       
    61 
       
    62 - QSystemTrayIcon allows applications to provide their own icon in the
       
    63   system tray.
       
    64 
       
    65 - QTimeLine gives developers access to a standard time line class with which
       
    66   to create widget animations.
       
    67 
       
    68 - The QtDBus module provides inter-process communication on platforms
       
    69   that support the D-BUS protocol.
       
    70 
       
    71 - The QUndo* classes in Qt's Undo framework provide undo/redo functionality
       
    72   for applications.
       
    73 
       
    74 - Support for the Glib event loop to enable integration between Qt and non-Qt
       
    75   applications on the GNOME desktop environment.
       
    76 
       
    77 - Improved Accessibility for item-based views and QTextEdit.
       
    78 
       
    79 - Support for main window animations and tabbed dock widgets.
       
    80 
       
    81 - Added an SVG icon engine to enable SVG drawings to be used by QIcon.
       
    82 
       
    83 - Widgets can now be styled according to rules specified in a style sheet,
       
    84   using a syntax familiar to users of Cascading Style Sheets (CSS). Style
       
    85   sheets are set using the QWidget::styleSheet property.
       
    86 
       
    87 - Introduced a new key mapper system which improves the shortcut system by
       
    88   only testing the real possible shortcuts, such as Ctrl+Shift+= and Ctrl++
       
    89   on an English keyboard.
       
    90 
       
    91 - Improved and enhanced QMessageBox to support native look and feel on many
       
    92   common platforms.
       
    93 
       
    94 - Experimental support for Qt usage reporting ("metered licenses") on Linux,
       
    95   Windows and Mac OS X. Reporting is disabled by default.
       
    96 
       
    97 - A screen magnification utility, pixeltool, is provided. It is designed to help
       
    98   with the process of fine-tuning styles and user interface features.
       
    99 
       
   100 - New qrand() and qsrand() functions to provide thread safe equivalents to
       
   101   rand() and srand().
       
   102 
       
   103 
       
   104 General improvements
       
   105 --------------------
       
   106 
       
   107 - Item views
       
   108 
       
   109       * Selections are maintained when the layout of the model changes
       
   110         (e.g., due to sorting).
       
   111 
       
   112       * Convenience views can perform dynamic sorting of items when the data
       
   113         in items changes.
       
   114 
       
   115       * QStandardItem provides an item-based API for use with
       
   116         QStandardItemModel and the model/view item view classes.
       
   117 
       
   118       * QStandardItemModel API provides a classic item-based approach to
       
   119         working with models.
       
   120 
       
   121       * Single selection item views on Mac OS X cannot change their current
       
   122         item without changing the current selection when using keyboard
       
   123         navigation.
       
   124 
       
   125 - Plastique style has improved support for palettes, and now requires
       
   126   XRender support on X11 for alpha transparency.
       
   127 
       
   128 - Tulip containers
       
   129 
       
   130       * Added typedefs for STL compatability.
       
   131 
       
   132       * Added function overloads to make the API easier to use.
       
   133 
       
   134 - Added the Q3TextStream class for compatiblity with Qt 3 and to assist with
       
   135   porting projects.
       
   136 
       
   137 - OpenGL paint engine
       
   138 
       
   139       * Added support for all composition modes of QPainter natively using
       
   140         OpenGL.
       
   141 
       
   142       * Fixed a case where very large polygons failed to render correctly.
       
   143 
       
   144       * Ensured that glClear() is only called in begin() if the
       
   145         QGLWidget::autoFillBackground() property is true.
       
   146 
       
   147       * Ensured that a buffer swap is only performed in end() if
       
   148         QGLWidget::autoBufferSwap() is true.
       
   149 
       
   150       * Improved text drawing speed and quality.
       
   151 
       
   152 - Raster paint engine
       
   153 
       
   154       * Fixed blending of 8 bit indexed images with alpha values.
       
   155 
       
   156       * Fixed drawing onto QImages that were wider than 2048 pixels.
       
   157 
       
   158       * Fixed alpha-blending and anti-aliasing on ARGB32 images.
       
   159 
       
   160       * Improved point drawing performance.
       
   161 
       
   162       * Fixed issue where lines were drawn between coordinates that were
       
   163         rounded instead of truncated.
       
   164 
       
   165       * Ensured that setClipRegion(QRegion()) clips away all painting
       
   166         operations as originally intended.
       
   167 
       
   168 
       
   169 Third party components
       
   170 ----------------------
       
   171 
       
   172 - Dropped support for MySQL version 3.
       
   173 
       
   174 - Updated Qt's SQLite version to 3.3.6.
       
   175 
       
   176 - Updated Qt's FreeType version to 2.2.1.
       
   177 
       
   178 - Updated Qt's libpng version to 1.2.10.
       
   179 
       
   180 
       
   181 Build System
       
   182 ------------
       
   183 
       
   184 - Auto-detect PostgreSQL and MySQL using pg_config and mysql_config on UNIX
       
   185   based systems in the configure script
       
   186 
       
   187 - Added "-system-sqlite" option to configure to use the system's SQLite
       
   188   library instead of Qt's SQLite version.
       
   189 
       
   190 - Added QT_ASCII_CAST_WARNINGS define that will output a warning on implicit
       
   191   ascii to Unicode conversion when set. Only works if the compiler supports
       
   192   deprecated API warnings.
       
   193 
       
   194 - Added Q_REQUIRED_RESULT to some functions. This macro triggers a warning
       
   195   if the result of a function is discarded. Currently only supported by gcc.
       
   196 
       
   197 
       
   198 - Qt/X11, Qt/Mac and Qtopia Core only:
       
   199 
       
   200      * Added all QT_NO_* defines to the build key.
       
   201 
       
   202 
       
   203 - Qt/X11 and Qtopia Core only:
       
   204 
       
   205      * As in Qt 3, the configure script enables the -release option by
       
   206        default, causing the Qt libraries to be built with optimizations. If
       
   207        configured with the -debug option, the debug builds no longer result
       
   208        in libraries with the _debug suffix.
       
   209 
       
   210        On modern systems, flags are added to the Qt build to also
       
   211        generate debugging information, which is then stored in a
       
   212        separate .debug file. The additional debug information does not
       
   213        affect the performance of the optimized code and tools like gdb
       
   214        and valgrind automatically pick up the separate .debug
       
   215        files. This way it is possible to get useful backtraces even
       
   216        with release builds of Qt.
       
   217 
       
   218      * Removed the last vestiges of the module options in the configure
       
   219        script, previously they were available but did not function.
       
   220 
       
   221      * Implemented a -build option in the configure script to conditionally
       
   222        compile only certain sections of Qt.
       
   223 
       
   224      * Made it possible to build Qt while having "xcode" set as your
       
   225        QMAKESPEC on OSX.
       
   226 
       
   227 
       
   228 - Windows only:
       
   229 
       
   230      * Populated the build key, as done on all the other platforms.
       
   231 
       
   232      * Fixed dependency generation in Visual Studio Solutions (.sln)
       
   233        created by qmake.
       
   234 
       
   235      * Added missing platforms to the Visual Studio project generator (X64,
       
   236        SH3DSP and EBC).
       
   237 
       
   238      * Made UIC3 use a temporary file for long command lines.
       
   239 
       
   240      * Removed the object file (.o) conflicts with MinGW that appeared when
       
   241        embedding a native resource file which was named the same as a normal
       
   242        source file.
       
   243 
       
   244      * Fixed mkspec detection when generating project files outside of QTDIR.
       
   245 
       
   246      * Removed compiler warnings with MinGW g++ 3.4.5.
       
   247 
       
   248 
       
   249 
       
   250 ****************************************************************************
       
   251 *                          Library                                         *
       
   252 ****************************************************************************
       
   253 
       
   254 
       
   255 - QAbstractButton
       
   256 
       
   257       * Returns QPalette::Button and QPalette::ButtonText for
       
   258         backgroundRole() and foregroundRole(), respectively, rather than
       
   259         QPalette::Background and QPalette::Foreground.
       
   260 
       
   261       * Ensured that nextCheckState() is called only when there is a state
       
   262         change.
       
   263 
       
   264 - QAbstractItemModel
       
   265 
       
   266       * When dropping rows only insert rows that were actually dropped, not
       
   267         the continuous row count from first to last.
       
   268 
       
   269       * Added a supportedDragActions property to be used by
       
   270         QAbstractItemView when starting a drag.
       
   271 
       
   272       * When updating changed persistent indexes, ignore those that haven't
       
   273         actually changed.
       
   274 
       
   275       * Fixed endian issue with createIndex().
       
   276 
       
   277       * Added FixedString matching for match().
       
   278 
       
   279       * Changed the sorting algorithm to use a stable sort.
       
   280 
       
   281       * Added persistentIndexList() function.
       
   282 
       
   283 - QAbstractItemView
       
   284 
       
   285       * Added possibility to copy elements to clipboard on read-only views.
       
   286 
       
   287       * Improved handling of QAbstractItemModel::supportedDropActions().
       
   288 
       
   289       * Ensured that the current item is selected when using keyboard
       
   290         search.
       
   291 
       
   292       * Ensured that the view starts with a valid current index.
       
   293 
       
   294       * Ensured that data is only committed in currentChanged() if the
       
   295         editor is not persistent.
       
   296 
       
   297       * Fixed crash that occurred when a modal dialogs was opened when
       
   298         closing an editor.
       
   299 
       
   300       * Added verticalScrollMode and horizontalScrollMode properties.
       
   301 
       
   302       * Added setItemDelegateForRow() and setItemDelegateForColumn().
       
   303 
       
   304       * Ensured that existing models are disconnected properly when
       
   305         replaced.
       
   306 
       
   307       * Ensured that the doubleClicked() signal is only emitted when the
       
   308         left button has been double-clicked.
       
   309 
       
   310       * Changed setSelection(...) to work when given a non-normalized
       
   311         rectangle.
       
   312 
       
   313       * Fixed regression for shift-selections in ExtendedSelection for
       
   314         all views.
       
   315 
       
   316       * Added dragDropMode property and implemented move support in all of
       
   317         the views and models.
       
   318 
       
   319       * For edit triggers SelectedClicked and DoubleClicked, only trigger
       
   320         editing when the left button is clicked.
       
   321 
       
   322       * Trigger SelectedClicked editing on mouse release, not mouse press.
       
   323 
       
   324       * Suppressed the doubleClicked() signal in cases where the clicks
       
   325         happened on two different items.
       
   326 
       
   327       * Enabled keyboard search to be programmatically reset by calling
       
   328         keyboardSearch() with an empty string as argument.
       
   329 
       
   330       * Don't allow drops on items that don't have the Qt::ItemIsDropEnabled
       
   331         flag set.
       
   332 
       
   333       * Added modelAboutToBeReset() and layoutAboutToBeChanged() signals.
       
   334 
       
   335       * Suppressed assertion in dropMimeData() for cases where mimeTypes()
       
   336         returns an empty list.
       
   337 
       
   338       * Ensured consistent behavior of drag and drop when rootIndex() is a
       
   339         valid model index.
       
   340 
       
   341       * Made it possible to check a checkbox with only a single click when
       
   342         using the CurrentChanged edit trigger.
       
   343 
       
   344       * Ensured that WhatsThis events are propagated when the relevant item
       
   345         doesn't have a valid "What's This?" value.
       
   346 
       
   347       * Added PositionAtCenter scrollHint.
       
   348 
       
   349       * Added support to allow items to be checked and unchecked using the
       
   350         keyboard.
       
   351 
       
   352       * Added support for keypad navigation.
       
   353 
       
   354 - QAbstractProxyModel
       
   355 
       
   356       * Added default implementations for data(), headerData() and flags()
       
   357 
       
   358 - QAbstractScrollArea
       
   359 
       
   360       * Added ability to set a corner widget.
       
   361 
       
   362       * Added ability to set scroll bar widgets.
       
   363 
       
   364       * Added support for custom scroll bars.
       
   365 
       
   366 - QAbstractSpinBox
       
   367 
       
   368       * Added a hasAcceptableInput() property.
       
   369 
       
   370       * Ensured that fixup/validate are called for third party subclasses of
       
   371         QAbstractSpinBox as well.
       
   372 
       
   373       * Fixed geometry issues when toggling frames on and off for spinboxes.
       
   374 
       
   375       * Added a property for correctionMode.
       
   376 
       
   377       * Added a property for acceleration.
       
   378 
       
   379 - QAbstractPrintDialog
       
   380 
       
   381       * Fixed handling of existing printer options so that storage of page
       
   382         ranges using setFromTo() works as expected when printing in PDF format.
       
   383 
       
   384 - QAction
       
   385 
       
   386       * Added the setAutoRepeat(bool) function to disable auto-repeating
       
   387         actions on keyboard shortcuts.
       
   388 
       
   389 - QApplication
       
   390 
       
   391       * Added saveStateRequest() and commitDataRequest() signals so that
       
   392         QApplication does not need to be subclassed to enable session
       
   393         management in an application.
       
   394 
       
   395       * Added the styleSheet property to get/set the application style sheet.
       
   396 
       
   397       * Support sending key events to non-widget objects.
       
   398 
       
   399       * Ensured that argc and argv as passed to the QApplication constructor
       
   400         will always be zero-terminated on all platforms after QApplication
       
   401         consumes command line options for itself.
       
   402 
       
   403 - QBrush
       
   404 
       
   405       * Added a constructor that accepts a QImage.
       
   406 
       
   407 - QButtonGroup
       
   408 
       
   409       * Added pressed() and released() signals.
       
   410 
       
   411       * Fixed a bug caused by removing buttons from button groups. Removed the
       
   412         internal mapping as well.
       
   413 
       
   414       * Ensured that checkedButton() returns the correct value with
       
   415         non-exclusive groups.
       
   416 
       
   417 - QClipboard
       
   418 
       
   419       * Added support for find text buffer.
       
   420 
       
   421 - QColor
       
   422 
       
   423       * Fixed corruption in setRed(), setGreen() and setBlue() for HSV/CMYK
       
   424         colors.
       
   425 
       
   426 - QComboBox
       
   427 
       
   428       * Fixed drawing issues related to certain FocusPolicy values.
       
   429 
       
   430       * Ensured that the ItemFlags of an Item (ItemIsEnabled,...) are
       
   431         respected.
       
   432 
       
   433       * Fixed cases where the popup could be shown completly on screen, but
       
   434         weren't.
       
   435 
       
   436       * Added the InsertAlphabetically insert policy.
       
   437 
       
   438       * Fixed case where a QPixmap could not be displayed using a QIcon.
       
   439 
       
   440       * Fixed the type of the modelColumn property from bool to int.
       
   441 
       
   442       * Updated documentation to clarify the differences between activated(),
       
   443         highlighted() and currentIndexChanged(), and describe what they
       
   444         actually mean.
       
   445 
       
   446       * Updated the behavior to ensure that, if the combobox isn't editable,
       
   447         the Qt::DisplayRole rather than the Qt::EditRole is used to query the
       
   448         model.
       
   449 
       
   450 - QCoreApplication
       
   451 
       
   452       * Added flags to enable/disable application-wide features such as
       
   453         delayed widget creation.
       
   454 
       
   455 - QCursor
       
   456 
       
   457       * Added support for the newly added Qt::OpenHandCursor and
       
   458         Qt::ClosedHandCursor enum values.
       
   459 
       
   460 - QDate
       
   461 
       
   462       * Support dates all the way down to Julian Day 1 (2 January 4713 B.C.)
       
   463         using the Julian calendar when appropriate.
       
   464 
       
   465 - QDateTime
       
   466 
       
   467       * Fixed parsing issue in fromString(const QString &, Qt::DateFormat).
       
   468 
       
   469 - QDateTimeEdit
       
   470 
       
   471       * Added the calendarPopup property to enable date selection using the
       
   472         new QCalendarWidget class.
       
   473 
       
   474       * Added a setSelectedSection() function to allow the currently selected
       
   475         section to be programmatically set.
       
   476 
       
   477 - QDesktopWidget
       
   478 
       
   479       * Remove a potential out-of-bounds read.
       
   480 
       
   481 - QDialog
       
   482 
       
   483       * Improved stability in cases where the default button is deleted.
       
   484 
       
   485 - QDir
       
   486 
       
   487       * Improved support for i18n file paths in QDir::tempPath().
       
   488 
       
   489       * Improved support for UNC paths when the application is run from a
       
   490         share.
       
   491 
       
   492       * Ensured that mkpath() properly supports UNC paths.
       
   493 
       
   494       * Obsoleted QDir::convertSeparators().
       
   495 
       
   496       * Introduced QDir::toNativeSeparators() and QDir::fromNativeSeparators().
       
   497 
       
   498       * Added a QDebug streaming operator.
       
   499 
       
   500 - QDirModel
       
   501 
       
   502       * Fixed conversion from bytes to larger units in QDirModel in the file
       
   503         size display.
       
   504 
       
   505       * Remove hardcoded filtering of the '.' and '..' entries.
       
   506 
       
   507 - QErrorMessage
       
   508 
       
   509       * Made qtHandler() work in cases where the message handler is invoked
       
   510         from threads other than the GUI thread.
       
   511 
       
   512 - QEvent
       
   513 
       
   514       * Added the KeyboardLayoutChange event type which is sent when the
       
   515         keyboard layout changes.
       
   516 
       
   517 - QFile
       
   518 
       
   519       * Improved support for UNC paths when the application is run from a
       
   520         share.
       
   521 
       
   522       * Added support for physical drives (e.g., "//./Physical01").
       
   523 
       
   524       * Ensured that QFile::error() and QIODevice::errorString() are set
       
   525         whenever possible when errors occur.
       
   526 
       
   527       * Renamed readLink() to symLinkTarget().
       
   528 
       
   529 - QFileDialog
       
   530 
       
   531       * Fixed a case where view mode got disabled.
       
   532 
       
   533 - QFileInfo
       
   534 
       
   535       * Improved support for UNC paths when the application is run from a
       
   536         share.
       
   537         
       
   538       * Improved support for drive-local relative paths, such as "D:".
       
   539 
       
   540       * Renamed readLink() to symLinkTarget().
       
   541 
       
   542 - QFlags
       
   543 
       
   544       * Added the testFlag() convenience function.
       
   545 
       
   546 - QFont
       
   547 
       
   548       * Added NoFontMerging as a flag to QFont::StyleStrategy.
       
   549 
       
   550 - QFontDatabase
       
   551 
       
   552       * Added functions for handling application-local fonts at run-time:
       
   553         addApplicationFont(), removeApplicationFont(),
       
   554         applicationFontFamilies(), etc.
       
   555 
       
   556 - QFontDialog
       
   557 
       
   558       * Enabled support for custom window titles.
       
   559 
       
   560 - QFontMetrics/QFontMetricsF
       
   561 
       
   562       * Added the elidedText() function.
       
   563 
       
   564       * Added the averageCharWidth() function.
       
   565 
       
   566 - QFrame
       
   567 
       
   568       * Fixed a rendering issue when showing horizontal and vertical lines
       
   569         created using Designer.
       
   570 
       
   571 - QFtp
       
   572 
       
   573       * Improved parsing of the modified date in list().
       
   574 
       
   575       * Ensured that all data has been received when downloading, before the
       
   576         data connection is closed.
       
   577 
       
   578       * Added support for FTP servers that reject commands with a 202 response.
       
   579 
       
   580 - QGLFormat
       
   581 
       
   582       * Added the openGLVersionFlags() function.
       
   583 
       
   584       * Added support for setting the swap interval for a context
       
   585         (i.e., syncing to the vertical retrace).
       
   586 
       
   587       * Added support for setting red, green and blue buffer sizes.
       
   588 
       
   589 - QGLWidget
       
   590 
       
   591       * Fixed a resource leak that could occur when binding QImages with the
       
   592         bindTexture() function.
       
   593 
       
   594       * Fixed renderText() to produce proper output when depth buffering is
       
   595         enabled.
       
   596 
       
   597       * Fixed bindTexture() to respect premultiplied QImage formats.
       
   598 
       
   599       * Ensured that the updatesEnabled property is respected.
       
   600 
       
   601 - QGradient
       
   602 
       
   603       * Added default constructors and setter functions for all gradients and
       
   604         their attributes.
       
   605 
       
   606 - QGridLayout
       
   607 
       
   608       * Do not segfault if cellRect() is called before setGeometry(), 
       
   609         even though the result is documented to be undefined.
       
   610 
       
   611       * Fixed maximum size handling when adding spacing.
       
   612 
       
   613 - QGroupBox
       
   614 
       
   615       * Activating a group box by a shortcut will now show the focus rectangle.
       
   616 
       
   617       * Added the clicked() signal
       
   618 
       
   619 - QHash
       
   620 
       
   621       * Prevent conversion of iterator or const_iterator to bool
       
   622         (e.g., if (map->find(value))) because the conversion always returned
       
   623         true. Qt 4.1 code that doesn't compile because of this change was most
       
   624         probably buggy.
       
   625 
       
   626       * Added the uniqueKeys() function.
       
   627 
       
   628 - QHeaderView
       
   629 
       
   630       * Use the current resize mode to determine section sizes when
       
   631         new rows are inserted.
       
   632 
       
   633       * Recover the internal state if other widgets steal the mouse release
       
   634         event.
       
   635 
       
   636       * Ensure that moved sections can be removed without asserting.
       
   637 
       
   638       * Be more robust with regards to arguments sent to the rowsInserted slot.
       
   639 
       
   640       * Let the stretchLastSection property override the globalResizeMode in
       
   641         the resizeSections() function.
       
   642 
       
   643       * Renamed ResizeMode::Custom to ResizeMode::Fixed.
       
   644 
       
   645       * Added the swapSections() convenience function.
       
   646 
       
   647       * Added a more "splitter-like" resize mode.
       
   648 
       
   649       * Added the possibility for the user to turn off stretch mode by
       
   650         resizing the header section. This includes the stretchLastSection
       
   651         property.
       
   652 
       
   653       * Added the minimumSectionSize property.
       
   654 
       
   655       * Get the section size hint from the Qt::SizeHintRole, if set.
       
   656 
       
   657       * Added the ResizeToContents resize mode.
       
   658 
       
   659       * Ensure that all header contents are centered by default.
       
   660 
       
   661       * Improved the internal structure to be more memory efficient.
       
   662 
       
   663 - QHostAddress
       
   664 
       
   665       * Added QDataStream streaming operators.
       
   666 
       
   667 - QHttp
       
   668 
       
   669       * Support percent-encoded paths when used with a proxy server.
       
   670 
       
   671       * Improved handling of unexpected remote socket close.
       
   672 
       
   673 - QHttpHeader
       
   674 
       
   675       * Improved support for case-insensitive header searching.
       
   676 
       
   677 - QIcon
       
   678 
       
   679       * Fixed issue where actualSize() might return a larger value than the
       
   680         requested size.
       
   681 
       
   682       * Fixed improper pixmap caching
       
   683 
       
   684       * Added QDataStream operators for QIcon.
       
   685 
       
   686       * Added the Selected mode.
       
   687 
       
   688 - QImage
       
   689 
       
   690       * Added support for 16 bit RGB format.
       
   691 
       
   692       * Added QPoint overloads to various (int x, int y) functions.
       
   693 
       
   694       * Added support for faster/better rotation of images by 90/180/270
       
   695         degrees.
       
   696 
       
   697       * convertToFormat() now supports the color lookup table.
       
   698 
       
   699       * Improved algorithm for smooth scaling to produce better results.
       
   700 
       
   701 - QImageReader
       
   702 
       
   703       * Ensured that size() returns an invalid QSize if the image I/O handler
       
   704         does not support the QImageIOHandler::Size extension.
       
   705 
       
   706       * Added support for reading negative BMP images.
       
   707 
       
   708       * Improved handling of invalid devices.
       
   709 
       
   710       * Added optimizations to ensure that the most likely formats and plugins
       
   711         are tested first when reading unknown image formats.
       
   712 
       
   713       * Improved reading of BMP images from sequential QIODevices.
       
   714 
       
   715       * Support for scaledSize() with JPEG images.
       
   716 
       
   717       * It is now possible to query the supported options of an image by
       
   718         calling supportedOptions().
       
   719 
       
   720       * Stability fixes for the built-in XBM reader.
       
   721 
       
   722 - QImageWriter
       
   723 
       
   724       * Ensured that an error is reported when attempting to write an image
       
   725         to a non-writable device.
       
   726 
       
   727       * It is now possible to query the supported options of an image by
       
   728         calling supportedOptions().
       
   729 
       
   730 - QIODevice
       
   731 
       
   732       * Fixed a casting bug in QIODevice::getChar().
       
   733 
       
   734       * Improved reading performance significantly by using an internal buffer
       
   735         when a device is opened in buffered mode.
       
   736 
       
   737       * Some behavioral differences have been introduced:
       
   738 
       
   739         + The following functions now need to call the base implementation
       
   740           when reimplemented: atEnd(), bytesAvailable(), size(), canReadLine().
       
   741 
       
   742         + pos() should return the base implementation directly.
       
   743 
       
   744         + QIODevice now handles the device position internally. seek() should
       
   745           always end up calling the base implementation.
       
   746 
       
   747 - QItemDelegate
       
   748 
       
   749       * Use a widget's USER property to set and get the editor data.
       
   750 
       
   751       * Removed unnecessary assertions.
       
   752 
       
   753       * Added the clipping property to enable clipping when painting.
       
   754 
       
   755       * When the model specifies a font, resolve the font over the existing
       
   756         one rather than replacing it.
       
   757 
       
   758       * Fixed issue with rendering of selected pixmaps.
       
   759 
       
   760       * Ensured that QItemEditorFactory is called with the variant's
       
   761         userType() so that the factory can distinguish between multiple user
       
   762         types.
       
   763 
       
   764       * Ensured that Key_Enter is propagated to the editor before data is
       
   765         committed, so that the editor has a chance to perform custom input
       
   766         validation/fixup.
       
   767 
       
   768       * Let the line edit grow to accomodate long strings.
       
   769 
       
   770       * Made it easer to subclass the item delegate.
       
   771 
       
   772       * Added support for keypad navigation.
       
   773 
       
   774 - QItemSelectionModel
       
   775 
       
   776       * Improved overall speed, particularly when isSelected() is used.
       
   777 
       
   778       * Added functions for getting the selected rows or columns.
       
   779 
       
   780       * Ensured that the current index is updated when it is being removed.
       
   781 
       
   782       * Ensure that QAbstractItemView::clearSelection() only clears the
       
   783         selection and not the current index.
       
   784 
       
   785       * Added the hasSelection() function.
       
   786 
       
   787       * Fixed some connection leaks (connections were not disconnected) when
       
   788         an QItemSelectionModel was deleted. This should also speed up some
       
   789         special cases.
       
   790 
       
   791 - QKeySequence
       
   792 
       
   793       * Added a set of platform-dependent standard shortcuts.
       
   794 
       
   795       * Fixed incorrect parsing of translated modifiers.
       
   796 
       
   797 - QLabel
       
   798 
       
   799       * Added support for text selection and hyperlinks.
       
   800 
       
   801       * Improved handling of scaled pixmaps.
       
   802 
       
   803       * Made handling of QMovie safer to avoid object ownership issues.
       
   804 
       
   805 - QLibrary
       
   806 
       
   807       * Added support for hints to control how libraries are opened on UNIX
       
   808         systems.
       
   809 
       
   810       * Added errorString() to report the causes of errors when libraries
       
   811         fail to load.
       
   812 
       
   813       * Added easier way to debug plugin loading: Setting QT_DEBUG_PLUGINS=1
       
   814         in the environment will enable debug message printing on the
       
   815         console.
       
   816 
       
   817       * Increased the number of acceptable file name suffixes used to
       
   818         recognize library files.
       
   819 
       
   820 - QLineEdit
       
   821 
       
   822       * Ensured that the Unicode context menu gets shown if language
       
   823         extensions are present.
       
   824         
       
   825       * Ensured that editingFinished() is not emitted if a validator is set
       
   826         and the text cannot be validated.
       
   827 
       
   828       * Ctrl+A now triggers select all on all platforms.
       
   829 
       
   830       * Call fixup on focusOut() if !hasAcceptableInput().
       
   831 
       
   832       * Added auto-completion support with the setCompleter() function.
       
   833 
       
   834       * Fixed painting errors when contents margins were set.
       
   835 
       
   836       * Invalid text set using setText() can now be edited where previously
       
   837         it had to be deleted before new text could be inserted.
       
   838 
       
   839       * Use SE_LineEditContents to control the contents rect of each
       
   840         QLineEdit.
       
   841 
       
   842 - QListView
       
   843 
       
   844       * Added the batchSize property.
       
   845 
       
   846       * Don't un-hide currently hidden rows when new rows are inserted.
       
   847 
       
   848       * Fixed partial repainting bug that occurred when alternatingRowColors
       
   849         was enabled.
       
   850 
       
   851       * Ensured that the resize mode is not reset in setViewMode() if it was
       
   852         already set.
       
   853 
       
   854       * Fixed crash that occurred when the first item was hidden and
       
   855         uniformItemSizes was set.
       
   856 
       
   857       * Added the wordWrap property for wrapping item text.
       
   858 
       
   859       * Allow the user to select items consecutively when shift-selecting.
       
   860 
       
   861       * Ensured that only the top item is selected when the user clicks on
       
   862         an area with several items are stacked on top of each other.
       
   863 
       
   864       * Optimized hiding and showing of items.
       
   865 
       
   866       * Fixed issue where dragging an item in Snap mode did not respect the
       
   867         scroll bar offsets.
       
   868 
       
   869       * Fixed issue in Snap mode where a (drag and) drop did not always
       
   870         query the item that existed in the corresponding cell for an enabled
       
   871         Qt::ItemIsDropEnabled flag. 
       
   872 
       
   873 - QListWidget/QTreeWidget/QTableWidget
       
   874 
       
   875       * Ensured the dataChanged() signal is emitted when flags are set on an
       
   876         item.
       
   877 
       
   878       * Removed unnecessary assertions.
       
   879 
       
   880       * Added more convenience functions in QListWidget, QTableWidget and
       
   881         QTreeWidget for selecting, hiding, showing, expanding and collapsing
       
   882         nodes.
       
   883 
       
   884       * Ensured that changes to items are reported.
       
   885 
       
   886 - QLocale
       
   887 
       
   888       * Fixed bug in the string-to-number functions which sometimes caused
       
   889         them to fail on negative numbers which contained thousand-
       
   890         separators.
       
   891 
       
   892       * Implemented the numberOptions property for specifying how
       
   893         string-to-number and number-to-string conversions should be
       
   894         performed.
       
   895 
       
   896 - QMainWindow
       
   897 
       
   898       * Added support for tabbed dock widgets.
       
   899 
       
   900       * Enhanced look and feel of dock widget handling. When a dock widget
       
   901         hovers over a main window, the main window animates the existing
       
   902         dock widgets and main area to show how it will accept the dock
       
   903         widget if dropped.
       
   904 
       
   905       * Fixed issues related to insertToolBarBreak().
       
   906 
       
   907 - QMap
       
   908 
       
   909       * Prevent conversion of iterator or const_iterator to bool
       
   910         (e.g., if (map->find(value))), because the conversion always
       
   911         returned true. Qt 4.1 code that doesn't compile because of this
       
   912         change was most probably buggy.
       
   913 
       
   914       * Added the uniqueKeys() function.
       
   915 
       
   916 - QMenu
       
   917 
       
   918       * Added the aboutToHide() signal.
       
   919 
       
   920       * Added the isEmpty() accessor function.
       
   921 
       
   922       * Clear menuAction() when setMenu(0)
       
   923 
       
   924       * Added support for widgets in menus via QWidgetAction.
       
   925 
       
   926       * Collapse multiple consecutive separators. This can be turned off
       
   927         with the collapsibleSeparators property.
       
   928 
       
   929       * Made scrollable menus wrap, just like non-scrollable ones.
       
   930 
       
   931 - QMessageBox
       
   932 
       
   933       * Updated the API to allow more than 3 buttons to be used.
       
   934 
       
   935       * Added support to display buttons in the order required by
       
   936         platform-specific style guidelines.
       
   937 
       
   938       * Added support for display of informative text using the
       
   939         informativeText property.
       
   940 
       
   941       * Added the detailedText property to allow detailed text to be
       
   942         displayed.
       
   943 
       
   944       * Improved sizing of message box (especially on Mac OS X).
       
   945 
       
   946       * Changed the behavior so that long text strings are automatically
       
   947         wrapped.
       
   948 
       
   949       * Updated icon handling to use QStyle::standardIcon() where possible.
       
   950 
       
   951 - QMetaObject
       
   952 
       
   953       * Added the userProperty() and normalizedType() functions.
       
   954 
       
   955 - QMetaType
       
   956 
       
   957       * Ensured that all type names are normalized before registering them.
       
   958 
       
   959       * Added support for handling Qt's integer typedefs: qint8, qint16,
       
   960         etc.
       
   961 
       
   962 - QModelIndex
       
   963 
       
   964       * Added the flags() convenience function.
       
   965 
       
   966 - QMutexLocker, QReadLocker, and QWriteLocker
       
   967 
       
   968       * These classes now track the state of the lock they are holding.
       
   969         They will not unlock on destruction if unlock() has been called.
       
   970 
       
   971 - QObject
       
   972 
       
   973       * thread() will always return a valid thread, even if the object was
       
   974         created before QApplication or in a non-QThread thread.
       
   975 
       
   976       * When thread() returns zero, events are no longer sent to the object.
       
   977         (Previous versions of Qt would send posted events to objects with no
       
   978         thread; this does not happen in Qt 4.2).
       
   979 
       
   980       * Added support for dynamically added properties via the new
       
   981         property(), setProperty(), and dynamicPropertyNames() functions.
       
   982 
       
   983       * Fixed a crash that could occur when a child deleted its sibling.
       
   984 
       
   985 - QPainter
       
   986 
       
   987       * Fixed a crash the occurred when drawing cosmetic lines outside the
       
   988         paint device boundaries.
       
   989 
       
   990       * Fixed a pixel artifact issue that occurred when drawing cosmetic
       
   991         diagonal lines.
       
   992 
       
   993       * Fixed opaque backgrounds so that they are identical on all
       
   994         platforms.
       
   995 
       
   996       * Optimized drawing of cosmetic lines at angles between 315 and 360
       
   997         degrees.
       
   998 
       
   999       * Added the setRenderHints() function.
       
  1000 
       
  1001       * Fixed a memory corruption issue in drawEllipse().
       
  1002 
       
  1003 - QPixmap
       
  1004 
       
  1005       * Fixed crash caused by setting a mask or alpha channel on a pixmap
       
  1006         while it was being painted.
       
  1007 
       
  1008       * Changed load() and save() to no longer require a format string.
       
  1009 
       
  1010       * Ensured that grabWidget() works before the specified widget is first
       
  1011         shown.
       
  1012 
       
  1013 - QPluginLoader
       
  1014 
       
  1015       * Added errorString() to report the causes of errors when plugins fail
       
  1016         to load.
       
  1017         
       
  1018 - QPrinter
       
  1019 
       
  1020       * Added support for PostScript as an output format on all platforms.
       
  1021 
       
  1022       * Significantly reduced the size of the generated output when using
       
  1023         the PostScript and PDF drivers.
       
  1024 
       
  1025       * Fixed issue where fromPage()/toPage() returned incorrect values when
       
  1026         generating PDF files.
       
  1027 
       
  1028       * Ensured that setOutputFormat() preserves previously set printer
       
  1029         properties.
       
  1030 
       
  1031       * Updated setOutputFileName() to automatically choose PostScript or
       
  1032         PDF as the output format for .ps or .pdf suffixes.
       
  1033 
       
  1034 - QProcess
       
  1035 
       
  1036       * Added support for channel redirection to allow data to be redirected
       
  1037         to files or between processes.
       
  1038 
       
  1039 - QPushButton
       
  1040 
       
  1041       * Ensured that, when a menu is added to a push button, its action is
       
  1042         also added to enable keyboard shortcuts.
       
  1043 
       
  1044 - QRect, QRectF, QRegion
       
  1045 
       
  1046       * Renamed unite(), intersect(), subtract(), and eor() to united(),
       
  1047         intersected(), subtracted(), and xored() respectively.
       
  1048 
       
  1049       * Added QRegion::intersects(QRegion) and QRegion::intersects(QRect).
       
  1050 
       
  1051       * Fixed case where rect1 & rect2 & rect3 would return a non-empty
       
  1052         result for disjoint rectangles.
       
  1053 
       
  1054 - QRegExp
       
  1055 
       
  1056       * Added RegExp2 syntax, providing greedy quantifiers (+, *, etc.).
       
  1057 
       
  1058       * Marks (QChar::isMark()) are now treated as word characters,
       
  1059         affecting the behavior of '\b', '\w', and '\W' for languages
       
  1060         that use diacritic marks (e.g., Arabic).
       
  1061 
       
  1062       * Fix reentrancy issue with the regexp cache.
       
  1063 
       
  1064 - QScrollArea
       
  1065 
       
  1066       * Added the ensureWidgetVisible() function to facilitate scrolling to
       
  1067         specific child widgets in a scroll area.
       
  1068 
       
  1069 - QScrollBar
       
  1070 
       
  1071       * Ensured that a SliderMove action is triggered when the slider value is
       
  1072         changed through a wheel event.
       
  1073 
       
  1074 - QSet
       
  1075 
       
  1076       * Added QSet::iterator and QMutableSetIterator.
       
  1077 
       
  1078 - QSettings
       
  1079 
       
  1080       * Store key sequences as readable entries in INI files.
       
  1081 
       
  1082       * Detect NFS to prevent hanging when lockd isn't running.
       
  1083 
       
  1084 - QShortcut
       
  1085 
       
  1086       * Added the setAutoRepeat(bool) function to disable auto-repeating
       
  1087         actions on keyboard shortcuts.
       
  1088 
       
  1089 - QSize
       
  1090 
       
  1091       * Fixed potential overflow issue in scale().
       
  1092 
       
  1093 - QSlider
       
  1094 
       
  1095       * Added support for jump-to-here positioning.
       
  1096 
       
  1097 - QSortFilterProxyModel
       
  1098 
       
  1099       * Handle source model changes (e.g., data changes, item insertion
       
  1100         and removal) in a fine-grained manner, so that the proxy model
       
  1101         behaves more like a "real" model.
       
  1102 
       
  1103       * Added sortRole, filterRole and dynamicSortFilter properties.
       
  1104 
       
  1105       * Perform stable sorting of items.
       
  1106 
       
  1107       * Fixed support for drag and drop operations where one item is dropped
       
  1108         on top of another.
       
  1109 
       
  1110       * Ensure that persistent indexes are updated when the layout of the
       
  1111         source model changes.
       
  1112 
       
  1113       * Made match() respect the current sorting and filtering settings.
       
  1114 
       
  1115       * Forward mimeTypes() and supportedDropActions() calls to source
       
  1116         models.
       
  1117 
       
  1118       * Added the ability to filter on all the columns.
       
  1119 
       
  1120       * Added the filterChanged() function to enable custom filtering to be
       
  1121         implemented.
       
  1122 
       
  1123 - QSqlQuery
       
  1124 
       
  1125       * Added execBatch() for executing SQL commands in a batch. Currently
       
  1126         only implemented for the Oracle driver.
       
  1127 
       
  1128       * Fixed a case where executedQuery() would not return the executed
       
  1129         query.
       
  1130 
       
  1131 - QSqlRelationalTableModel
       
  1132 
       
  1133       * Fixed issue related to sorting a relational column when using the
       
  1134         PostgreSQL driver.
       
  1135 
       
  1136       * revertAll() now correctly reverts relational columns.
       
  1137 
       
  1138 - QStackedLayout
       
  1139 
       
  1140       * Fixed crash that occurred when removing widgets under certain
       
  1141         conditions.
       
  1142 
       
  1143 - QStackedWidget
       
  1144 
       
  1145       * Fixed crash that occurred when removing widgets under certain
       
  1146         conditions.
       
  1147 
       
  1148       * Fixed issue where the size hint of the current widget would not be
       
  1149         respected.
       
  1150 
       
  1151 - QStandardItemModel
       
  1152 
       
  1153       * Added an item-based API for use with QStandardItem.
       
  1154 
       
  1155       * Reimplemented sort().
       
  1156 
       
  1157       * Added the sortRole property.
       
  1158 
       
  1159 - QStatusBar
       
  1160 
       
  1161       * Added the insertWidget() and insertPermanentWidget() functions.
       
  1162 
       
  1163 - QString
       
  1164 
       
  1165       * Added support for case-insensitive comparison in compare().
       
  1166 
       
  1167       * Added toUcs4() and fromUcs4() functions.
       
  1168 
       
  1169 - QStyle
       
  1170 
       
  1171       * Added the following style hint selectors:
       
  1172         SH_Slider_AbsoluteSetButtons, SH_Slider_PageSetButtons,
       
  1173         SH_Menu_KeyboardSearch, SH_TabBar_ElideMode, SH_DialogButtonLayout,
       
  1174         SH_ComboBox_PopupFrameStyle, SH_MessageBox_TextInteractionFlags,
       
  1175         SH_DialogButtonBox_ButtonsHaveIcons, SH_SpellCheckUnderlineStyle,
       
  1176         SH_MessageBox_CenterButtons, SH_Menu_SelectionWrap,
       
  1177         SH_ItemView_MovementWithoutUpdatingSelection.
       
  1178 
       
  1179       * Added the following standard pixmap selectors:
       
  1180         SP_DirIcon, SP_DialogOkButton, SP_DialogCancelButton,
       
  1181         SP_DialogHelpButton, SP_DialogOpenButton, SP_DialogSaveButton,
       
  1182         SP_DialogCloseButton, SP_DialogApplyButton, SP_DialogResetButton,
       
  1183         SP_DialogDiscardButton, SP_DialogYesButton, SP_DialogNoButton,
       
  1184         SP_ArrowUp, SP_ArrowDown, SP_ArrowLeft, SP_ArrowRight, SP_ArrowBack,
       
  1185         SP_ArrowForward.
       
  1186 
       
  1187       * Added PE_PanelScrollAreaCorner and PE_Widget as primitive element
       
  1188         selectors.
       
  1189 
       
  1190       * Added PM_MessageBoxIconSize and PM_ButtonIconSize as pixel metric
       
  1191         selectors.
       
  1192         
       
  1193       * Added SE_LineEditContents and SE_FrameContents as sub-element
       
  1194         selectors.
       
  1195 
       
  1196       * Added SE_FrameContents to control the contents rectangle of a
       
  1197         QFrame.
       
  1198 
       
  1199 - QSvgHandler
       
  1200 
       
  1201       * Improved style sheet parsing and handling.
       
  1202 
       
  1203       * Added support for both embedded and external style sheets.
       
  1204 
       
  1205       * Improved parsing of local url() references.
       
  1206 
       
  1207       * Improved coordinate system handling.
       
  1208 
       
  1209       * Fixed issue where the viewbox dimensions would be truncated to integer
       
  1210         values.
       
  1211 
       
  1212       * Fixed support for gradient transformations.
       
  1213 
       
  1214       * Fixed opacity inheritance behavior.
       
  1215 
       
  1216       * Added support for gradient spreads.
       
  1217 
       
  1218       * Fixed gradient stop inheritance behavior.
       
  1219 
       
  1220       * Fixed parsing of fill and stroke properties specified in style sheets.
       
  1221 
       
  1222       * Added support for reading and writing the duration of animated SVGs.
       
  1223 
       
  1224       * Fixed incorrect rendering of SVGs that do not specify default viewboxes.
       
  1225 
       
  1226       * Fixed radial gradient rendering for the case where no focal point is
       
  1227         specified.
       
  1228 
       
  1229 - QSyntaxHighlighter
       
  1230 
       
  1231       * Added various performance improvements.
       
  1232 
       
  1233 - Qt namespace
       
  1234 
       
  1235       * Added ForegroundRole and BackgroundRole, allowing itemviews to use
       
  1236         any QBrush (not just QColor, as previously) when rendering items.
       
  1237 
       
  1238       * Added NoDockWidgetArea to the ToolBarArea enum.
       
  1239 
       
  1240       * Added NoToolBarArea to the DockWidgetArea enum.
       
  1241 
       
  1242       * Added GroupSwitchModifier to the KeyboardModifiers enum. It
       
  1243         represents special keys, such as the "AltGr" key found on many
       
  1244         keyboards.
       
  1245 
       
  1246       * Added several missing keys to the Key enum: Key_Cancel, Key_Printer,
       
  1247         Key_Execute, Key_Sleep, Key_Play and Key_Zoom.
       
  1248 
       
  1249       * Added OpenHandCursor and ClosedHandCursor for use with QCursor.
       
  1250 
       
  1251 - QTabBar
       
  1252 
       
  1253       * QTabBar text can now be elided; this is controlled by the elideMode
       
  1254         property.
       
  1255 
       
  1256       * You can now turn on or off the "scroll buttons" for the tab bar with
       
  1257         the usesScrollButtons property.
       
  1258 
       
  1259       * Non-pixmap based styles will now fill the background of the tab with
       
  1260         the palette's window role.
       
  1261 
       
  1262 - QTabletEvent:
       
  1263 
       
  1264       * Ensured that QTabletEvents are dispatched with the proper relative
       
  1265         coordinates.
       
  1266 
       
  1267       * Added proximity as another type of a tablet event (currently only sent
       
  1268         to QApplication).
       
  1269 
       
  1270 - QTableView
       
  1271 
       
  1272       * Added API for spanning cells.
       
  1273 
       
  1274       * Ensured that cells are selected when the user right clicks on them.
       
  1275 
       
  1276       * Added a corner widget.
       
  1277 
       
  1278       * Added the setSortingEnabled property.
       
  1279 
       
  1280 - QTableWidget
       
  1281 
       
  1282       * Added the clearContents() function to enable the contents of the view
       
  1283         to be cleared while not resetting the headers.
       
  1284 
       
  1285       * QTableWidget now uses stable sorting.
       
  1286 
       
  1287       * Allow sorting of non-numerical data.
       
  1288 
       
  1289       * Add convenience table item constructor that takes an icon as well as
       
  1290         a string.
       
  1291 
       
  1292 - QTabWidget
       
  1293 
       
  1294       * Added missing selected() Qt3Support signal.
       
  1295 
       
  1296       * Clarified documentation for setCornerWidget().
       
  1297 
       
  1298       * Ensured that the tab widget's frame is drawn correctly when the tab
       
  1299         bar is hidden.
       
  1300 
       
  1301       * Ensured that the internal widgets have object names.
       
  1302 
       
  1303       * Added iconSize, elideMode, and usesScrollButtons as properties (see
       
  1304         QTabBar).
       
  1305 
       
  1306 - QTcpSocket
       
  1307 
       
  1308       * Fixed a rare data corruption problem occurring on heavily loaded
       
  1309         Windows servers.
       
  1310 
       
  1311 - QTemporaryFile
       
  1312 
       
  1313       * Added support for file extensions and other suffixes.
       
  1314 
       
  1315       * Fixed one constructor which could corrupt the temporary file path.
       
  1316 
       
  1317 - QTextBrowser
       
  1318 
       
  1319       * Fixed various bugs with the handling of relative URLs and custom
       
  1320         protocols.
       
  1321 
       
  1322       * Added isBackwardAvailable(), isForwardAvailable(), and
       
  1323         clearHistory() functions.
       
  1324 
       
  1325 - QTextCodec
       
  1326 
       
  1327       * Allow locale-dependent features of Qt, such as QFile::exists(), to
       
  1328         be accessed during global destruction.
       
  1329 
       
  1330 - QTextCursor
       
  1331 
       
  1332       * Added columnNumber(), blockNumber(), and insertHtml() convenience
       
  1333         functions.
       
  1334 
       
  1335 - QTextDocument
       
  1336 
       
  1337       * Added convenience properties and functions: textWidth, idealWidth(),
       
  1338         size, adjustSize(), drawContents(), blockCount, maximumBlockCount.
       
  1339 
       
  1340       * Added support for forced page breaks before/after paragraphs and
       
  1341         tables.
       
  1342 
       
  1343       * Added CSS support to the HTML importer, including support for
       
  1344         CSS selectors.
       
  1345 
       
  1346       * Added defaultStyleSheet property that is applied automatically for
       
  1347         every HTML import.
       
  1348 
       
  1349       * Improved performance when importing HTML, especially with tables.
       
  1350 
       
  1351       * Improved pagination of tables across page boundaries.
       
  1352 
       
  1353 - QTextEdit
       
  1354 
       
  1355       * Fixed append() to use the current character format.
       
  1356 
       
  1357       * Changed mergeCurrentCharFormat() to behave in the same way as
       
  1358         QTextCursor::mergeCharFormat, without applying the format to the
       
  1359         word under the cursor.
       
  1360 
       
  1361       * QTextEdit now ensures that the cursor is visible the first time the
       
  1362         widget is shown or when replacing the contents entirely with
       
  1363         setPlainText() or setHtml().
       
  1364 
       
  1365       * Fixed issue where the setPlainText() discarded the current character
       
  1366         format after the new text had been added to the document.
       
  1367 
       
  1368       * Re-added setText() as non-compatibility function with well-defined
       
  1369         heuristics.
       
  1370 
       
  1371       * Added a moveCursor() convenience function.
       
  1372 
       
  1373       * Changed the default margin from 4 to 2 pixels for consistency with
       
  1374         QLineEdit.
       
  1375 
       
  1376       * Added support for extra selections.
       
  1377 
       
  1378 - QTextFormat
       
  1379 
       
  1380       * Fixed the default value for QTextBlockFormat::alignment() to return
       
  1381         a logical left alignment instead of an invalid alignment.
       
  1382 
       
  1383       * Added UnderlineStyle formatting, including SpellCheckUnderline.
       
  1384 
       
  1385 - QTextStream
       
  1386 
       
  1387       * Added the pos() function, which returns the current byte-position
       
  1388         of the stream.
       
  1389 
       
  1390 - QTextTableCell
       
  1391 
       
  1392       * Added the setFormat() function to enable the cell's character format
       
  1393         to be changed.
       
  1394 
       
  1395 - QThread
       
  1396 
       
  1397       * Related to changes to QObject, currentThread() always returns a
       
  1398         valid pointer. (Previous versions of Qt would return zero if called
       
  1399         from non-QThread threads; this does not happen in Qt 4.2).
       
  1400 
       
  1401 - QToolBar
       
  1402 
       
  1403       * Introduced various fixes to better support tool buttons, button
       
  1404         groups and comboboxes in the toolbar extension menu.
       
  1405 
       
  1406       * Fixed crash that occurred when QApplication::setStyle() was called
       
  1407         twice.
       
  1408 
       
  1409 - QToolButton
       
  1410 
       
  1411       * Fixed an alignment bug for tool buttons with multi-line labels and
       
  1412         TextUnderIcon style.
       
  1413 
       
  1414 - QToolTip
       
  1415 
       
  1416       * Added the hideText() convenience function.
       
  1417 
       
  1418       * Added the showText() function that takes a QRect argument specifying
       
  1419         the valid area for the tooltip. (If you move the cursor outside this
       
  1420         area the tooltip will hide.)
       
  1421 
       
  1422       * Added a widget attribute to show tooltips for inactive windows.
       
  1423 
       
  1424 - QTranslator
       
  1425 
       
  1426       * Added support for plural forms through a new QObject::tr() overload.
       
  1427 
       
  1428       * Ensured that a LanguageChange event is not generated if the
       
  1429         translator fails to load.
       
  1430 
       
  1431       * Fixed a bug in isEmpty().
       
  1432 
       
  1433       * Added Q_DECLARE_TR_FUNCTIONS() as a means for declaring tr()
       
  1434         functions in non-QObject classes.
       
  1435 
       
  1436 - QTreeView
       
  1437 
       
  1438       * Ensured that no action is taken when the root index passed to
       
  1439         setRootIndex() is the same as the current root index.
       
  1440 
       
  1441       * When hiding items the view no longer performs a complete re-layout.
       
  1442 
       
  1443       * Fixed possible segfault in isRowHidden().
       
  1444 
       
  1445       * Significantly speed up isRowHidden() for the common case.
       
  1446 
       
  1447       * Improved row painting performance.
       
  1448 
       
  1449       * After expanding, fetchMore() is called on the expanded index giving
       
  1450         the model a way to dynamically populate the children.
       
  1451 
       
  1452       * Fixed issue where an item could expand when all children were
       
  1453         hidden.
       
  1454 
       
  1455       * Added support for horizontal scrolling using the left/right arrow
       
  1456         keys.
       
  1457 
       
  1458       * Added a property to enable the focus rectangle in a tree view to be
       
  1459         shown over all columns.
       
  1460 
       
  1461       * Added more key bindings for expanding and collapsing the nodes.
       
  1462 
       
  1463       * Added the expandAll() and collapseAll() slots.
       
  1464 
       
  1465       * Added animations for expanding and collapsing branches.
       
  1466 
       
  1467       * Take all rows into account when computing the size hint for a
       
  1468         column.
       
  1469 
       
  1470       * Added the setSortingEnabled property.
       
  1471 
       
  1472       * Fixed the behavior of the scrollbars so that they no longer
       
  1473         disappear after removing and re-inserting items while the view is
       
  1474         hidden.
       
  1475 
       
  1476       * Fixed memory corruption that could occur when inserting and removing
       
  1477         rows.
       
  1478 
       
  1479       * Don't draw branches for hidden rows.
       
  1480 
       
  1481 - QTreeWidget
       
  1482 
       
  1483       * Added the const indexOfTopLevelItem() function.
       
  1484 
       
  1485       * Improved item insertion speed.
       
  1486 
       
  1487       * Fixed crash caused by calling QTreeWidgetItem::setData() with a
       
  1488         negative number.
       
  1489 
       
  1490       * QTreeWidget now uses stable sorting.
       
  1491 
       
  1492       * Made construction of single column items a bit more convenient.
       
  1493 
       
  1494       * Added the invisibleRootItem() function.
       
  1495 
       
  1496       * Made addTopLevelItems() add items in correct (not reverse) order.
       
  1497 
       
  1498       * Ensured that the header is repainted immediately when the header
       
  1499         data changes.
       
  1500 
       
  1501 - QUiLoader
       
  1502 
       
  1503       * Exposed workingDirectory() and setWorkingDirectory() from
       
  1504         QAbstractFormBuilder to assist with run-time form loading.
       
  1505 
       
  1506 - QUrl
       
  1507 
       
  1508       * Added errorString() to improve error reporting.
       
  1509 
       
  1510       * Added hasQuery() and hasFragment() functions.
       
  1511 
       
  1512       * Correctly parse '+' when calling queryItems().
       
  1513 
       
  1514       * Correctly parse the authority when calling setAuthority().
       
  1515 
       
  1516       * Added missing implementation of StripTrailingSlash in toEncoded().
       
  1517 
       
  1518 - QVariant
       
  1519 
       
  1520       * Added support for all QMetaType types.
       
  1521 
       
  1522       * Added support for QMatrix as a known meta-type.
       
  1523 
       
  1524       * Added support for conversions from QBrush to QColor and QPixmap,
       
  1525         and from QColor and QPixmap to QBrush.
       
  1526 
       
  1527       * Added support for conversions between QSize and QSizeF, between
       
  1528         QLine and QLineF, from long long to char, and from unsigned long
       
  1529         long to char.
       
  1530 
       
  1531       * Added support for conversions from QPointF to QPoint and from QRectF
       
  1532         to QRect.
       
  1533 
       
  1534       * Fixed issue where QVariant(Qt::blue) would not create a variant of
       
  1535         type QVariant::Color.
       
  1536 
       
  1537       * Added support for conversions from int, unsigned int, long long,
       
  1538         unsigned long long, and double to QByteArray.
       
  1539 
       
  1540 - QWhatsThis
       
  1541 
       
  1542       * Improved look and feel.
       
  1543 
       
  1544 - QWidget
       
  1545 
       
  1546       * Delayed creation: Window system resources are no longer allocated in
       
  1547         the QWidget constructor, but later on demand.
       
  1548 
       
  1549       * Added a styleSheet property to set/read the widget style sheet.
       
  1550 
       
  1551       * Added saveGeometry() and restoreGeometry() convenience functions for
       
  1552         saving and restoring a window's geometry.
       
  1553 
       
  1554       * Fixed memory leak for Qt::WA_PaintOnScreen widgets with null paint
       
  1555         engines.
       
  1556         
       
  1557       * Ensured that widget styles propagate to child widgets.
       
  1558 
       
  1559       * Reduced flicker when adding widget to layout with visible parent.
       
  1560 
       
  1561       * Fixed child visibility when calling setLayout() on a visible widget.
       
  1562 
       
  1563       * Speed up creation/destruction/showing of widgets with many children.
       
  1564 
       
  1565       * Avoid painting obscured widgets when updating overlapping widgets.
       
  1566 
       
  1567 - QWorkspace
       
  1568 
       
  1569       * Resolved issue causing the maximized controls to overlap with the
       
  1570         menu in reverse mode.
       
  1571 
       
  1572       * Fixed issue where child windows could grow a few pixels when
       
  1573         restoring geometry in certain styles.
       
  1574 
       
  1575       * Ensured that right-to-left layout is respected when positioning new
       
  1576         windows.
       
  1577 
       
  1578       * Fixed crash that occurred when a child widget did not have a title
       
  1579         bar.
       
  1580 
       
  1581       * Fixed issue where maximized child windows could be clipped at the
       
  1582         bottom of the workspace.
       
  1583 
       
  1584 - quintptr and qptrdiff
       
  1585 
       
  1586       * New integral typedefs have been added.
       
  1587 
       
  1588 - Q3ButtonGroup
       
  1589 
       
  1590       * Fixed inconsistencies with respect to exclusiveness of elements in
       
  1591         Qt 3.
       
  1592 
       
  1593       * Fixed ID management to be consistent with Qt 3.
       
  1594 
       
  1595 - Q3Canvas
       
  1596 
       
  1597       * Fixed several clipping bugs introduced in 4.1.0.
       
  1598 
       
  1599 - Q3CanvasView
       
  1600 
       
  1601       * Calling setCanvas() now always triggers a full update.
       
  1602 
       
  1603 - Q3Grid, Q3Hbox, Q3VBox
       
  1604 
       
  1605       * Fixed layout problem.
       
  1606 
       
  1607 - Q3IconView
       
  1608 
       
  1609       * Fixed a case where selected icons disappeared.
       
  1610 
       
  1611 - Q3ListBox
       
  1612 
       
  1613       * Fixed inconsistencies in selectAll() with respect to Qt 3.
       
  1614 
       
  1615       * Fixed possible crash after deleting items.
       
  1616 
       
  1617 - Q3ListView
       
  1618 
       
  1619         Fixed possible crash in Q3ListView after calling clear().
       
  1620 
       
  1621         Fixed inconsistent drag and drop behavior with respect to Qt 3.
       
  1622 
       
  1623 - Q3Process
       
  1624 
       
  1625       * Stability fixes in start().
       
  1626 
       
  1627 - Q3Socket
       
  1628 
       
  1629       * No longer (incorrectly) reports itself as non-sequential.
       
  1630 
       
  1631 - Q3Table
       
  1632 
       
  1633       * Improved behavior for combobox table elements.
       
  1634 
       
  1635 
       
  1636 
       
  1637 ****************************************************************************
       
  1638 *                          Database Drivers                                *
       
  1639 ****************************************************************************
       
  1640 
       
  1641 - Interbase driver
       
  1642       
       
  1643       * Fixed data truncation for 64 bit integers on 64 bit operating
       
  1644         systems.
       
  1645 
       
  1646 - MySQL driver
       
  1647       
       
  1648       * When using MySQL 5.0.7 or larger, let the server do the text
       
  1649         encoding conversion.
       
  1650 
       
  1651       * Added UNIX_SOCKET connection option.
       
  1652 
       
  1653       * Improved handling of TEXT fields.
       
  1654 
       
  1655 - OCI driver
       
  1656     
       
  1657       * Improved speed for meta-data retrieval.
       
  1658      
       
  1659       * Fixed potential crash on Windows with string OUT parameters.
       
  1660 
       
  1661       * Improved handling of mixed-case table and field names.
       
  1662 
       
  1663 - ODBC driver
       
  1664 
       
  1665       * Improved error reporting if driver doesn't support static result
       
  1666         sets.
       
  1667 
       
  1668       * Improved support for the Sybase ODBC driver.
       
  1669 
       
  1670 - SQLite driver
       
  1671 
       
  1672       *  QSqlDatabase::tables() now also returns temporary tables.
       
  1673  
       
  1674       *  Improved handling of mixed-case field names.
       
  1675 
       
  1676 
       
  1677 
       
  1678 ****************************************************************************
       
  1679 *                             QTestLib                                     *
       
  1680 ****************************************************************************
       
  1681 
       
  1682 - Added "-silent" options that outputs only test failures and warnings.
       
  1683 
       
  1684 - Reset failure count when re-executing a test object
       
  1685 
       
  1686 - Added nicer output for QRectF, QSizeF, and QPointF
       
  1687 
       
  1688 
       
  1689 
       
  1690 ****************************************************************************
       
  1691 *                      Platform Specific Changes                           *
       
  1692 ****************************************************************************
       
  1693 
       
  1694 
       
  1695 Qtopia Core
       
  1696 -----------
       
  1697 
       
  1698 - Fixed the -exceptions configure switch.
       
  1699 
       
  1700 - Fixed a build issue preventing the use of MMX instructions when
       
  1701   available.
       
  1702 
       
  1703 - Fixed leak of semaphore arrays during an application crash.
       
  1704 
       
  1705 - Fixed cases where the wrong cursor was shown.
       
  1706 
       
  1707 - Fixed cases where QWidget::normalGeometry() would return wrong value.
       
  1708 
       
  1709 - Allow widgets inside QScrollArea to have a minimum size larger than the 
       
  1710   screen size.
       
  1711 
       
  1712 - Allow (0,0) as a valid size for top-level windows.
       
  1713 
       
  1714 - VNC driver
       
  1715 
       
  1716       * Fixed keyboard shortcut problem when using the VNC driver.
       
  1717 
       
  1718       *  Fixed issue with the VNC driver that prevented client applications to
       
  1719          connect in some cases.
       
  1720 
       
  1721       *  Fixed a leak of shared memory segments in the VNC driver.
       
  1722 
       
  1723       *  Reduced CPU consumption in the VNC driver.
       
  1724 
       
  1725       *  Implemented dynamic selection of the underlying driver for the VNC and
       
  1726          transformed screen drivers.
       
  1727 
       
  1728       *  Improved error handling when clients connects to the server.
       
  1729 
       
  1730 - Graphics system
       
  1731 
       
  1732       * Introduced new API for accelerated graphics hardware drivers.
       
  1733 
       
  1734       * Implemented support for multiple screens.
       
  1735 
       
  1736       * QScreen has binary incompatible changes. All existing screen drivers
       
  1737         must be recompiled.
       
  1738 
       
  1739       * QWSWindow, QWSClient, QWSDisplay and QWSEvent have binary 
       
  1740         incompatible changes. QWSBackingStore has been removed. 
       
  1741         Existing code using these classes must be recompiled.
       
  1742 
       
  1743       * Added support for OpenGL ES in QGLWidget. 
       
  1744 
       
  1745       * Implemented support for actual screen resolution in QFont.
       
  1746 
       
  1747       * Removed internal limitation of 10 display servers.
       
  1748 
       
  1749       * Improved memory usage when using screens with depths less than 16
       
  1750         bits-per-pixel.
       
  1751 
       
  1752       * Fixed 16 bits-per-pixel screens on big-endian CPUs.
       
  1753 
       
  1754       * Optimized CPU usage when widgets are partially hidden.
       
  1755 
       
  1756       * Improved detection of 18 bits-per-pixel framebuffers.
       
  1757 
       
  1758       * Improved performance when using a rotated screen with 18 or 24
       
  1759         bits-per-pixel depths.
       
  1760 
       
  1761       * Improved speed of drawing gradients.
       
  1762 
       
  1763       * Introduced the QWSWindowSurface as a technique to create
       
  1764         accelerated paint engines derived from QPaintEngine.
       
  1765 
       
  1766       * Implemented the Qt::WA_PaintOnScreen flag for top-level widgets.
       
  1767 
       
  1768       * Extended QDirectPainter to include non-blocking API and support for 
       
  1769         overlapping windows. Existing code that subclasses QDirectPainter 
       
  1770         must be recompiled.
       
  1771 
       
  1772       * Implemented QWSEmbedWidget which enables window embedding.
       
  1773 
       
  1774       * Removed hardcoded 72 DPI display limitation.
       
  1775 
       
  1776 - Device handling
       
  1777 
       
  1778       * QWSMouseHandler has binary incompatible changes. All existing mouse
       
  1779         drivers must be recompiled.
       
  1780 
       
  1781       * Fixed an issue of getting delayed mouse events when using the
       
  1782         vr41xx driver.
       
  1783 
       
  1784       * Improved event compression in the vr41xx mouse handler.
       
  1785 
       
  1786       * Improved algorithm for mouse calibration which works for all
       
  1787         screen orientations.
       
  1788 
       
  1789       * Fixed an issue causing mouse release events with wrong positions
       
  1790         when using a calibrated and filtered mouse handler on a rotated
       
  1791         screen.
       
  1792 
       
  1793       * Made the tty device configurable for the Linux framebuffer screen
       
  1794         driver.
       
  1795 
       
  1796       * Fixed a deadlock issue when using drag and drop and a calibrated
       
  1797         mouse handler.
       
  1798 
       
  1799       * Autodetection of serial mice is turned off to avoid disrupt serial
       
  1800         port communication. Set QWS_MOUSE_PROTO to use a serial mouse.
       
  1801 
       
  1802 - QVFb
       
  1803 
       
  1804       * Fixed an issue preventing QVFb from starting on some systems.
       
  1805 
       
  1806       * Added support for dual screen device emulation in QVFb.
       
  1807 
       
  1808 - QCopChannel
       
  1809 
       
  1810       *  Added a flush() function so that the QWS socket can be flushed,
       
  1811          enabling applications to ensure that QCop messages are delivered.
       
  1812 
       
  1813 
       
  1814 Linux and UNIX systems
       
  1815 ----------------------
       
  1816 
       
  1817 - Printing
       
  1818  
       
  1819       * Improved CUPS support by sending PDF instead of Postscript to
       
  1820         CUPS on systems that have a recent CUPS library, improving the
       
  1821         print quality.
       
  1822 
       
  1823       * Added a new and improved QPrintDialog.
       
  1824 
       
  1825       * Improved font embedding on systems without FontConfig.
       
  1826 
       
  1827 - QApplication
       
  1828 
       
  1829       * When available, use Glib's mainloop functions to implement event
       
  1830         dispatching.
       
  1831 
       
  1832 - QPlastiqueStyle
       
  1833 
       
  1834       * Added support to enable KDE icons to be automatically used on
       
  1835         systems where they are available.
       
  1836 
       
  1837 - QTextCodec
       
  1838      
       
  1839       * Uses iconv(3) (when available) to implement the codec returned by
       
  1840         QTextCodec::codecForLocale(). The new codec's name is "System"
       
  1841         (i.e., QTextCodec::codecForLocale()->name() returns "System"
       
  1842         when iconv(3) support is enabled).
       
  1843 
       
  1844 
       
  1845 AIX
       
  1846 ---
       
  1847 
       
  1848 - The makeC++SharedLib tool is deprecated; use the "-qmkshrobj" compiler
       
  1849   option to generate shared libraries instead.
       
  1850 
       
  1851 
       
  1852 X11
       
  1853 ---
       
  1854 
       
  1855 - Added support to internally detect the current desktop environment.
       
  1856 
       
  1857 - QAbstractItemView
       
  1858 
       
  1859       * Fixed assertion caused by interrupting a drag and drop operation
       
  1860         with a modal dialog on X11.
       
  1861      
       
  1862       * Ensured that release events dispatched when closing a dialog
       
  1863         with a double click, are not propagated through to the window
       
  1864         underneath.
       
  1865 
       
  1866 - QCursor
       
  1867 
       
  1868       * Fixed crash occuring when the X11 context had been released before
       
  1869         the cursor was destructed.
       
  1870 
       
  1871 - QGLWidget
       
  1872 
       
  1873       * Fixed crashes that could occur with TightVNC.
       
  1874  
       
  1875       * Improved interaction between QGLWidget and the Mesa library.
       
  1876 
       
  1877 - QMenu
       
  1878  
       
  1879       * Made it possible for popup menus to cover the task bar on KDE.
       
  1880 
       
  1881 - QMotifStyle
       
  1882 
       
  1883       * Ensured that the font set on a menu item is respected.
       
  1884 
       
  1885 - QX11EmbedContainer, QX11EmbedWidget
       
  1886 
       
  1887       * Added missing error() functions.
       
  1888 
       
  1889 - QX11PaintEngine
       
  1890   
       
  1891       * Increased speed when drawing polygons with a solid pixmap brush.
       
  1892 
       
  1893       * Fixed masked pixmap brushes.
       
  1894 
       
  1895       * Increased QImage drawing performance.
       
  1896 
       
  1897 - Motif Drop support
       
  1898      
       
  1899       * Support for drops from Motif applications has been refactored and is
       
  1900         now working properly. QMimeData reports non-textual data offered in
       
  1901         Motif Drops using a MIME type of the form "x-motif-dnd/ATOM", where
       
  1902         ATOM is the name of the Atom offered by the Motif application.
       
  1903 
       
  1904 - Font rendering
       
  1905 
       
  1906       * Improved stability when rendering huge scaled fonts.
       
  1907 
       
  1908       * Enabled OpenType shaping for the Latin, Cyrillic, and Greek
       
  1909         writing systems.
       
  1910 
       
  1911       * Improved sub-pixel anti-aliasing.
       
  1912 
       
  1913       * Improved font loading speed.
       
  1914 
       
  1915 
       
  1916 Mac OS X
       
  1917 --------
       
  1918 
       
  1919 - Mac OS 10.2 support dropped.
       
  1920 
       
  1921 - QuickDraw support in QPaintEngine dropped; everything folded into the
       
  1922   CoreGraphics support.
       
  1923 
       
  1924 - All libraries in Qt are now built as frameworks when -framework mode is
       
  1925   selected (default) during the configuration process.
       
  1926  
       
  1927 - Many accessibility improvements, including better VoiceOver support. The
       
  1928   following widgets have had their accessibilty updated for this release:
       
  1929   QSplitter, QScrollBar, QLabel, QCheckBox, QRadioButton, QTabBar,
       
  1930   QTabWidget, QSlider, and QScrollBar.
       
  1931 
       
  1932 - Hidden files are now reported as hidden by QFileInfo, QDirModel, etc.
       
  1933 
       
  1934 - Windows now have a transparent size grips, an attribute for specifying an
       
  1935   opaque size grip was added.
       
  1936 
       
  1937 - Metrowerks generator has been removed.
       
  1938 
       
  1939 - Ensured that the anti-aliasing threshold setting is followed.
       
  1940 
       
  1941 - Added a standard "Minimize" menu item to Assistant's Window menu.
       
  1942 
       
  1943 - The documentation now has "Xcode-compatible" links so that it can be added
       
  1944   into Xcode's documentation viewer. This needs to be done by the developer
       
  1945   as regenerating Xcode's index takes quite a long time
       
  1946 
       
  1947 - QAbstractScrollArea
       
  1948 
       
  1949       * Improved look and feel by aligning the scroll bars with the size
       
  1950         grip.
       
  1951 
       
  1952 - QClipboard
       
  1953  
       
  1954       * Data copied to the clipboard now stays available after the
       
  1955         application exits.
       
  1956 
       
  1957       * Added support for the Find clipboard buffer.
       
  1958 
       
  1959       * Fixed encoding of URLs passed as MIME-encoded data.
       
  1960 
       
  1961 - QComboBox
       
  1962 
       
  1963       * Improved the popup sizing so it's always wide enough to display its
       
  1964         contents.
       
  1965 
       
  1966       * Improved the popup placement so it stays on screen and does not
       
  1967         overlap the Dock.
       
  1968 
       
  1969       * The minimumSizeHint() and sizeHint() functions now honor
       
  1970         minimumContentsLength.
       
  1971 
       
  1972 - QKeyEvent
       
  1973 
       
  1974       * The text() of a QKeyEvent is filled with the control character if
       
  1975         the user pressed the real Control key (Meta in Qt) and another key.
       
  1976         This brings the behavior of Qt on Mac OS X more in line with Qt on
       
  1977         other platforms.
       
  1978 
       
  1979 - QLibrary
       
  1980 
       
  1981       * Removed the dependency on dlcompat for library loading and resolving
       
  1982         in favor of native calls. This means that you can unload libraries
       
  1983         on Mac OS X 10.4 or later, but not on 10.3 (since that uses dlcompat
       
  1984         itself).
       
  1985 
       
  1986 - QMacStyle
       
  1987 
       
  1988       * QMacStyle only uses HITheme for drawing now (no use of Appearance
       
  1989         Manager).
       
  1990 
       
  1991       * Fixed placement of text on buttons and group boxes for non-Latin
       
  1992         locales.
       
  1993 
       
  1994       * Fixed rendering of small and mini buttons.
       
  1995 
       
  1996       * Attempt to be a bit smarter before changing a push button to bevel
       
  1997         button when the size gets too small.
       
  1998 
       
  1999       * Draws the focus ring for line edits when they are near the "top" of
       
  2000         the widget hierarchy.
       
  2001 
       
  2002       * Ensured that the tickmarks are drawn correctly.
       
  2003 
       
  2004       * Implemented the standardIconImplementation() function.
       
  2005 
       
  2006       * Fixed the look of line edits.
       
  2007 
       
  2008       * "Colorless" controls now look better.
       
  2009 
       
  2010       * Fixed the sort indicator.
       
  2011 
       
  2012       * Improved the look of text controls, such as QTextEdit, to fit in
       
  2013         better with the native style.
       
  2014 
       
  2015 - QMenu
       
  2016 
       
  2017       * Popups no longer show up in Expose.
       
  2018 
       
  2019       * Ensured that the proper PageUp and PageDown behavior are used.
       
  2020 
       
  2021 - QMenuBar
       
  2022 
       
  2023       * Added support for explicit merging of items using QAction::MenuRole.
       
  2024 
       
  2025       * Added support for localization of merged items.
       
  2026 
       
  2027 - QMessageBox
       
  2028 
       
  2029       * A message box that is set to be window modal will automatically
       
  2030         become a sheet.
       
  2031 
       
  2032       * Improved the look of the icons used to fit in with the native style.
       
  2033   
       
  2034 - QPainter
       
  2035      
       
  2036       * Fixed off-by-one error when drawing certain primitives.
       
  2037 
       
  2038       * Fixed off-by-many error when drawing certain primitives using a
       
  2039         scaling matrix.
       
  2040 
       
  2041       * Fixed clipping so that setting an empty clip will clip away
       
  2042         everything.
       
  2043 
       
  2044       * Fixed changing between custom dash patterns.
       
  2045 
       
  2046       * Added combinedMatrix() which contains both world and viewport/window
       
  2047         transformations.
       
  2048       
       
  2049       * Added the setOpacity() function.
       
  2050 
       
  2051       * Added MiterJoins that are compliant with SVG miter joins.
       
  2052 
       
  2053 - QPainterPath
       
  2054      
       
  2055       * Added the arcMoveTo() and setElementPosition() functions.
       
  2056 
       
  2057 - QPixmap
       
  2058 
       
  2059       * Added functions to convert to/from a CGImageRef (for CoreGraphics
       
  2060         interoperability).
       
  2061  
       
  2062       * Fixed various Qt/Mac masking and alpha transparency issues.
       
  2063 
       
  2064 - QPrinter
       
  2065      
       
  2066       * Made QPrinter objects resuable.
       
  2067 
       
  2068 - QProcess
       
  2069 
       
  2070       * Always use UTF-8 encoding when passing commands.
       
  2071 
       
  2072 - QScrollBar
       
  2073 
       
  2074       * Improved handling of the case where the scrollbar is to short to
       
  2075         draw all its controls.
       
  2076 
       
  2077 - QTextEdit
       
  2078 
       
  2079       * Improved the look of the widget to fit in with the native style.
       
  2080 
       
  2081 - QWidget
       
  2082 
       
  2083       * All HIViewRefs inside Qt/Mac are created with the
       
  2084         kWindowStandardHandlerAttribute.
       
  2085 
       
  2086       * Added the ability to wrap a native HIViewRef with create().
       
  2087 
       
  2088       * Windows that have parents with the WindowStaysOnTopHint also get the
       
  2089         WindowStaysOnTopHint.
       
  2090 
       
  2091 
       
  2092 Windows
       
  2093 -------
       
  2094 
       
  2095 - Ensured that widgets do not show themselves in a hover state if a popup
       
  2096   has focus.
       
  2097 
       
  2098 - Fixed issues with rendering system icons on 16 bits-per-pixel displays.
       
  2099 
       
  2100 - Fixed issue where fonts or colors would be reset on the application
       
  2101   whenever windows produced a WM_SETTINGSCHANGE event.
       
  2102 
       
  2103 - Fixed a bug with Japanese input methods.
       
  2104 
       
  2105 - Compile SQLite SQL plugin by default, as on all the other platforms.
       
  2106 
       
  2107 - Fixed build issue when not using Precompiled Headers (PCH).
       
  2108 
       
  2109 - Made Visual Studio compilers older than 2005 handle (NULL == p)
       
  2110   statements, where p is of QPointer type.
       
  2111 
       
  2112 - Fixed HDC leak that could cause applications to slow down significantly.
       
  2113 
       
  2114 - Ensured that timers with the same ID are not skipped if they go to different
       
  2115   HWNDs.
       
  2116 
       
  2117 - Improved MIME data handling
       
  2118 
       
  2119       * Resolved an issue related to drag and drop of attachments from some
       
  2120         applications.
       
  2121 
       
  2122       * Resolved an issue where pasting HTML into some applications would
       
  2123         include parts of the clipboard header.
       
  2124  
       
  2125       * Improved support for drag and drop of Unicode text.
       
  2126 
       
  2127       * Made it possible to set an arbitrary hotspot on the drag cursor on
       
  2128         Windows 98/Me.
       
  2129 
       
  2130 - ActiveQt
       
  2131 
       
  2132     * Fixed issues with the compilation of code generated by dumpcpp.
       
  2133 
       
  2134     * Made ActiveQt controls behave better when inserted into Office
       
  2135       applications.
       
  2136 
       
  2137     * Ensured that slots and properties are generated for hidden functions and
       
  2138       classes.
       
  2139 
       
  2140     * Ensured that the quitOnLastWindowClosed property is disabled when
       
  2141       QApplication runs an ActiveX server.
       
  2142 
       
  2143     * Ensured that controls become active when the user clicks into a subwidget.
       
  2144 
       
  2145     * Added support for CoClassAlias class information to give COM class a
       
  2146       different name than the C++ class.
       
  2147 
       
  2148 - QAccessible
       
  2149      
       
  2150       * Ensured that the application does not try to play a sound for
       
  2151         accessibility updates when no sound is registered.
       
  2152 
       
  2153 - QAxBase
       
  2154  
       
  2155       * Fixed potential issue with undefined types.
       
  2156 
       
  2157 - QDir
       
  2158   
       
  2159       * Fixed bug where exists() would return true for a non-existent drive
       
  2160         simply because the specified string used the correct syntax.
       
  2161  
       
  2162       * Improved homePath() to work with Japanese user names.
       
  2163 
       
  2164 - QFileDialog
       
  2165 
       
  2166       * Added support for relative file paths in native dialogs.
       
  2167 
       
  2168       * Enabled setLabelText() to allow context menu entries to be changed.
       
  2169       
       
  2170       * Ensured that users are denied entry into directories where they
       
  2171         don't have execution permission.
       
  2172 
       
  2173       * Disabled renaming and deleting actions for non-editable items.
       
  2174 
       
  2175       * Added a message box asking the user to confirm when deleting files.
       
  2176 
       
  2177 - QFileInfo
       
  2178       
       
  2179       * Fixed absoluteFilePath() to return a path that begins with the
       
  2180         current drive label.
       
  2181 
       
  2182 - QGLWidget
       
  2183        
       
  2184       * Fixed usage of GL/WGL extension function pointers. They are now
       
  2185         correctly resolved within the context in which they are used.
       
  2186 
       
  2187 - QGLColormap
       
  2188 
       
  2189       * Fixed cases where the colormap was not applied correctly.
       
  2190 
       
  2191 - QMenu
       
  2192  
       
  2193       * Made it possible for popup menus to cover the task bar.
       
  2194 
       
  2195 - QPrinter
       
  2196 
       
  2197       * Added support for printers that do not have a DEVMODE.
       
  2198 
       
  2199       * Fixed a drawing bug in the PDF generator on Windows 98/Me.
       
  2200 
       
  2201       * Made it possible to programmatically change the number of copies
       
  2202         to be printed.
       
  2203 
       
  2204       * Fixed possible crash when accessing non-existent printers.
       
  2205 
       
  2206 - QProcess
       
  2207 
       
  2208       * Fixed lock-up when writing data to a dead child process.
       
  2209 
       
  2210 - QSettings
       
  2211 
       
  2212       * Fixed bug causing byte arrays to be incorrectly stored on
       
  2213         Win95/98/Me.
       
  2214 
       
  2215       * Allow keys to contain HKEY_CLASSES_ROOT and HKEY_USERS to allow all
       
  2216         registry keys to be read and prevent unintentional use of
       
  2217         HKEY_LOCAL_MACHINE.
       
  2218 
       
  2219       * Fall back to the local machine handle if a key does not start with a
       
  2220         handle name.
       
  2221 
       
  2222 - QUdpSocket
       
  2223 
       
  2224        * Introduced fixes for UDP broadcasting on Windows.
       
  2225 
       
  2226 - QWhatsThis
       
  2227 
       
  2228        * Improved native appearance.
       
  2229 
       
  2230 - QWidget
       
  2231  
       
  2232        * Top-level widgets now respect the closestAcceptableSize of their
       
  2233          layouts.
       
  2234 
       
  2235        * Ensured that getDC() always returns a valid HDC.
       
  2236 
       
  2237 - QWindowsStyle
       
  2238 
       
  2239       * We no longer draw splitter handles in Windows style. This resolves
       
  2240         an inconsistency with XP style, so that the two styles can use the
       
  2241         same layout interchangeably. Note that it is fully possible to style
       
  2242         splitter handles (if a custom style or handle is required) using
       
  2243         style sheets.
       
  2244 
       
  2245       * Disabled comboboxes now have the same background color as disabled
       
  2246         line edits.
       
  2247  
       
  2248 - QWindowsXPStyle
       
  2249   
       
  2250       * Made QPushButton look more native when pressed.
       
  2251 
       
  2252       * Improved the look of checked tool buttons.
       
  2253 
       
  2254       * Defined several values that are not present in MinGW's header files.
       
  2255 
       
  2256 
       
  2257 
       
  2258 ****************************************************************************
       
  2259 *                   Significant Documentation Changes                      *
       
  2260 ****************************************************************************
       
  2261 
       
  2262 
       
  2263 - Updated information about the mailing list to be used for porting issues
       
  2264   (qt-interest).
       
  2265 
       
  2266 - Demos / Examples
       
  2267 
       
  2268       * Added a new directory containing desktop examples and moved the
       
  2269         Screenshot example into it.
       
  2270 
       
  2271       * Added a new Chat client network example which uses QUdpSocket to
       
  2272         broadcast on all QNetworkInterface's interfaces to discover its
       
  2273         peers.
       
  2274 
       
  2275       * The Spreadsheet demo now uses the QItemDelegate, QCompleter, and
       
  2276         QDateTimeEdit with calendar popup.
       
  2277 
       
  2278       * An OpenGL button is added to some of the demos to toggle usage of
       
  2279         the OpenGL paint engine.
       
  2280 
       
  2281       * Fixed crash resulting from incorrect painter usage in the Image
       
  2282         Composition example
       
  2283 
       
  2284 
       
  2285 
       
  2286 ****************************************************************************
       
  2287 *                          Tools                                           *
       
  2288 ****************************************************************************
       
  2289 
       
  2290 
       
  2291 Assistant
       
  2292 ---------
       
  2293 
       
  2294 - Middle clicking on links will open up new tabs.
       
  2295 
       
  2296 - Added "Find as you type" feature to search documentation pages.
       
  2297 
       
  2298 - Added "Sync with Table of Contents" feature to select the current page in
       
  2299   the contents.
       
  2300 
       
  2301 - Fixed issue where activating a context menu over a link would cause the
       
  2302   link to be activated.
       
  2303 
       
  2304 - Provides a default window title when not specified in a profile.
       
  2305 
       
  2306 - Fixed JPEG viewing support for static builds.
       
  2307 
       
  2308 - Fixed crash that could occur when opening Assistant with old and invalid
       
  2309   settings.
       
  2310 
       
  2311 - Fixed display of Unicode text in the About dialog.
       
  2312 
       
  2313 
       
  2314 Designer
       
  2315 --------
       
  2316 
       
  2317 - Added QWidget and the new widgets in this release to Designer's widget
       
  2318   box.
       
  2319 
       
  2320 - Updated the dialog templates to use the new QDialogButtonBox class.
       
  2321 
       
  2322 - Backup files created by Designer no longer overwrite existing files.
       
  2323 
       
  2324 - Promoted widgets inherit the task menu items of the base class.
       
  2325 
       
  2326 - Enums are no longer ordered alphabetically in the property editor.
       
  2327 
       
  2328 - Fixed issue where shortcuts could be corrupted in certain situations.
       
  2329 
       
  2330 - Line endings in .ui files now match the standard line endings for the
       
  2331   platform the files are created on.
       
  2332 
       
  2333 - Ensured that a warning is displayed whenever duplicate connections are
       
  2334   made in the connections editor.
       
  2335 
       
  2336 - Added shortcuts for the "Bring to Front" and "Send to Back" form editor
       
  2337   actions.
       
  2338 
       
  2339 - Added new 22 x 22 icons.
       
  2340  
       
  2341 - Fixed selection of dock widgets in loaded forms.
       
  2342 
       
  2343 - Made QWidget::windowOpacity a designable property.
       
  2344 
       
  2345 - Numerous improvements and fixes to the action and property editors.
       
  2346 
       
  2347 - Windows only
       
  2348 
       
  2349       * The default mode is Docked Window.
       
  2350 
       
  2351 - Mac OS X only
       
  2352 
       
  2353       * Preview of widgets is no longer modal.
       
  2354 
       
  2355       * Passing really long relative paths into the resource will no longer
       
  2356         cause a crash.
       
  2357 
       
  2358 
       
  2359 Linguist
       
  2360 --------
       
  2361 
       
  2362 - Added a new "Check for place markers" validation feature.
       
  2363 
       
  2364 - Added the "Search And Translate" feature.
       
  2365 
       
  2366 - Added the "Batch translation" feature.
       
  2367 
       
  2368 - Added support for editing plural forms.
       
  2369 
       
  2370 - Extended the .ts file format to support target language, plural forms,
       
  2371   source filename, and line numbers.
       
  2372 
       
  2373 - Added the "Translated Form Preview" feature.
       
  2374 
       
  2375 - Added placeholders for "hidden" whitespace (i.e., tabs and newlines) in
       
  2376   the translation editor.
       
  2377 
       
  2378 
       
  2379 lupdate
       
  2380 -------
       
  2381 
       
  2382 - Added the -extensions command-line option in order to recursively scan
       
  2383   through a large set of files with the specified extensions.
       
  2384 
       
  2385 - Made lupdate verbose by default (use -silent to obtain the old behavior).
       
  2386 
       
  2387 - Improved parsing of project files.
       
  2388 
       
  2389 - Fixed some issues related to parsing C++ source files.
       
  2390 
       
  2391 
       
  2392 lrelease
       
  2393 --------
       
  2394 
       
  2395 - Made lrelease verbose by default (use -silent to obtain the old behavior).
       
  2396 
       
  2397 - Disabled .qm file compression by default (pass -compress to obtain the old
       
  2398   behavior).
       
  2399   
       
  2400       
       
  2401 moc
       
  2402 ---
       
  2403 
       
  2404 - Fixed support for enums and flags defined in classes that are themselves
       
  2405   declared in namespaces.
       
  2406 
       
  2407 - Added support for the -version and -help command line options (for
       
  2408   consistency with the other tools).
       
  2409 
       
  2410 
       
  2411 rcc
       
  2412 ---
       
  2413 
       
  2414 - Added support for the -binary option to generate resources that are
       
  2415   registered at run-time.
       
  2416 
       
  2417 
       
  2418 qmake
       
  2419 -----
       
  2420 
       
  2421 - Added support for an Objective C compiler on platforms that support it via
       
  2422   OBJECTIVE_SOURCES. Additionally, Objective C precompiled headers are
       
  2423   generated as necessary.
       
  2424 
       
  2425 - Added support for a qt.conf to allow easy changing of internal target
       
  2426   directories in qmake.
       
  2427 
       
  2428 - Added support for the recursive switch (-r) in shadow builds.
       
  2429 
       
  2430 - Introduced QMAKE_CFLAGS_STATIC_LIB to allow modified flags to be
       
  2431   passed to temporary files when compiling a static library.
       
  2432 
       
  2433 - Added a target.targets for extra qmake INSTALLS. The $files() function
       
  2434   is now completely consistent with wildcard matching as specified to
       
  2435   input file variables.
       
  2436 
       
  2437 - Added QMAKE_FUNC_* variables to EXTRA_COMPILERS for late evaluation
       
  2438   of paths to be calculated at generation time. $$fromfile() will no
       
  2439   longer parse input file multiple times.
       
  2440 
       
  2441 - Added support for -F arguments in LIBS line in the Xcode generator.
       
  2442 
       
  2443 - $$quote() has changed to only do an explicit quote, no escape sequences
       
  2444   are expanded. A new function $$escape_expand() has been added to allow
       
  2445   expansion of escape sequences: \n, \t, etc.
       
  2446 
       
  2447 - Added a $$QMAKE_HOST variable to express host information about the
       
  2448   machine running qmake.
       
  2449 
       
  2450 - Added a $$replace() function.
       
  2451 
       
  2452 - Ensured that PWD is always consulted first when attempting to resolve an
       
  2453   include for dependency analysis.
       
  2454 
       
  2455 - Added support for UTF-8 encoded text in .pro files.
       
  2456 
       
  2457 - Variables $$_PRO_FILE_ and $$_PRO_FILE_PWD_ added for features to detect
       
  2458   where the .pro really lives.
       
  2459 
       
  2460 - Added QMAKE_FRAMEWORK_VERSION to override the version inside a .framework,
       
  2461   though VERSION is still the default value.
       
  2462 
       
  2463 - Added support for custom bundle types on Mac OS X.
       
  2464 
       
  2465 - Added support for Mac OS X resources (.rsrc) in REZ_FILES.
       
  2466 
       
  2467 
       
  2468 qt3to4
       
  2469 ------
       
  2470 
       
  2471 - qt3to4 now appends to the log file instead of overwriting it.
       
  2472 
       
  2473 - Fixed one case where qt3to4 was inserting UNIX-style line endings on
       
  2474   Windows.
       
  2475 
       
  2476 - Added the new Q3VGroupBox and Q3HGroupBox classes to ease porting.
       
  2477 
       
  2478 - Updated the porting rules for this release.
       
  2479 
       
  2480 
       
  2481 uic
       
  2482 ---
       
  2483 
       
  2484 - Added support for more variant types: QStringList, QRectF, QSizeF,
       
  2485   QPointF, QUrl, QChar, qlonglong, and qulonglong.
       
  2486 
       
  2487 - Fixed code generated by uic for retranslating item view widgets so that
       
  2488   the widgets are not cleared when they are retranslated.
       
  2489 
       
  2490 - Ensured that no code is generated to translate empty strings.
       
  2491 
       
  2492 
       
  2493 uic3
       
  2494 ----
       
  2495 
       
  2496 - Added line numbers to warnings.
       
  2497 
       
  2498 - Ensured that warnings show the objectName of the widget in question.
       
  2499 
       
  2500 - Added support for word wrapping in labels when converting files from uic3
       
  2501   format.
       
  2502 
       
  2503 - Ensured that the default layouts are respected when converting files from
       
  2504   uic3 format.
       
  2505 
       
  2506 - Ensured that double type properties are handled correctly.