Revision control

++ Qt 4.2 introduces many new features as well as many improvements and
++ bugfixes over the 4.1.x series. For more details, see the online
++ documentation which is included in this distribution. The
++ documentation is also available at http://qt.nokia.com/doc/
++
++ The Qt version 4.2 series is binary compatible with the 4.1.x series.
++ Applications compiled for 4.1 will continue to run with 4.2.
++
++ The Qtopia Core version 4.2 series is binary compatible with the 4.1.x
++ series except for some parts of the device handling API, as detailed
++ in Platform Specific Changes below.
++
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++
++ New features
++ ------------
++
++ - QCalendarWidget provides a standard monthly calendar widget with date
++ selection features.
++
++ - QCleanlooksStyle provides the new Cleanlooks style, a clone of the GNOME
++ ClearLooks style, giving Qt applications a native look on GNOME desktops.
++
++ - QCompleter provides facilities for auto completion in text entry widgets.
++
++ - QDataWidgetMapper can be used to make widgets data-aware by mapping them
++ to sections of an item model.
++
++ - QDesktopServices provides desktop integration features, such as support
++ for opening URLs using system services.
++
++ - QDialogButtonBox is used in dialogs to ensure that buttons are placed
++ according to platform-specific style guidelines.
++
++ - QFileSystemWatcher enables applications to monitor files and directories
++ for changes.
++
++ - QFontComboBox provides a standard font selection widget for document
++ processing applications.
++
++ - QGraphicsView and related classes provide the Graphics View framework, a
++ replacement for Qt 3's canvas module that provides an improved API, enhanced
++ rendering, and more responsive handling of large numbers of canvas items.
++
++ - QGLFramebufferObject encapsulates OpenGL framebuffer objects.
++
++ - QMacPasteboardMime handles Pasteboard access on Qt/Mac. This obsoletes
++ QMacMime as the underlying system has changed to support Apple's new
++ Pasteboard Manager. Any old QMacMime objects will not be used.
++
++ - QNetworkInterface represents a network interface, providing information
++ about the host's IP addresses and network interfaces.
++
++ - QResource provides static functions that control resource lookup and
++ provides a way to navigate resources directly without levels of
++ indirection through QFile/QFileEngine.
++
++ - QSystemTrayIcon allows applications to provide their own icon in the
++ system tray.
++
++ - QTimeLine gives developers access to a standard time line class with which
++ to create widget animations.
++
++ - The QtDBus module provides inter-process communication on platforms
++ that support the D-BUS protocol.
++
++ - The QUndo* classes in Qt's Undo framework provide undo/redo functionality
++ for applications.
++
++ - Support for the Glib event loop to enable integration between Qt and non-Qt
++ applications on the GNOME desktop environment.
++
++ - Improved Accessibility for item-based views and QTextEdit.
++
++ - Support for main window animations and tabbed dock widgets.
++
++ - Added an SVG icon engine to enable SVG drawings to be used by QIcon.
++
++ - Widgets can now be styled according to rules specified in a style sheet,
++ using a syntax familiar to users of Cascading Style Sheets (CSS). Style
++ sheets are set using the QWidget::styleSheet property.
++
++ - Introduced a new key mapper system which improves the shortcut system by
++ only testing the real possible shortcuts, such as Ctrl+Shift+= and Ctrl++
++ on an English keyboard.
++
++ - Improved and enhanced QMessageBox to support native look and feel on many
++ common platforms.
++
++ - Experimental support for Qt usage reporting ("metered licenses") on Linux,
++ Windows and Mac OS X. Reporting is disabled by default.
++
++ - A screen magnification utility, pixeltool, is provided. It is designed to help
++ with the process of fine-tuning styles and user interface features.
++
++ - New qrand() and qsrand() functions to provide thread safe equivalents to
++ rand() and srand().
++
++
++ General improvements
++ --------------------
++
++ - Item views
++
++ * Selections are maintained when the layout of the model changes
++ (e.g., due to sorting).
++
++ * Convenience views can perform dynamic sorting of items when the data
++ in items changes.
++
++ * QStandardItem provides an item-based API for use with
++ QStandardItemModel and the model/view item view classes.
++
++ * QStandardItemModel API provides a classic item-based approach to
++ working with models.
++
++ * Single selection item views on Mac OS X cannot change their current
++ item without changing the current selection when using keyboard
++ navigation.
++
++ - Plastique style has improved support for palettes, and now requires
++ XRender support on X11 for alpha transparency.
++
++ - Tulip containers
++
++ * Added typedefs for STL compatability.
++
++ * Added function overloads to make the API easier to use.
++
++ - Added the Q3TextStream class for compatiblity with Qt 3 and to assist with
++ porting projects.
++
++ - OpenGL paint engine
++
++ * Added support for all composition modes of QPainter natively using
++ OpenGL.
++
++ * Fixed a case where very large polygons failed to render correctly.
++
++ * Ensured that glClear() is only called in begin() if the
++ QGLWidget::autoFillBackground() property is true.
++
++ * Ensured that a buffer swap is only performed in end() if
++ QGLWidget::autoBufferSwap() is true.
++
++ * Improved text drawing speed and quality.
++
++ - Raster paint engine
++
++ * Fixed blending of 8 bit indexed images with alpha values.
++
++ * Fixed drawing onto QImages that were wider than 2048 pixels.
++
++ * Fixed alpha-blending and anti-aliasing on ARGB32 images.
++
++ * Improved point drawing performance.
++
++ * Fixed issue where lines were drawn between coordinates that were
++ rounded instead of truncated.
++
++ * Ensured that setClipRegion(QRegion()) clips away all painting
++ operations as originally intended.
++
++
++ Third party components
++ ----------------------
++
++ - Dropped support for MySQL version 3.
++
++ - Updated Qt's SQLite version to 3.3.6.
++
++ - Updated Qt's FreeType version to 2.2.1.
++
++ - Updated Qt's libpng version to 1.2.10.
++
++
++ Build System
++ ------------
++
++ - Auto-detect PostgreSQL and MySQL using pg_config and mysql_config on UNIX
++ based systems in the configure script
++
++ - Added "-system-sqlite" option to configure to use the system's SQLite
++ library instead of Qt's SQLite version.
++
++ - Added QT_ASCII_CAST_WARNINGS define that will output a warning on implicit
++ ascii to Unicode conversion when set. Only works if the compiler supports
++ deprecated API warnings.
++
++ - Added Q_REQUIRED_RESULT to some functions. This macro triggers a warning
++ if the result of a function is discarded. Currently only supported by gcc.
++
++
++ - Qt/X11, Qt/Mac and Qtopia Core only:
++
++ * Added all QT_NO_* defines to the build key.
++
++
++ - Qt/X11 and Qtopia Core only:
++
++ * As in Qt 3, the configure script enables the -release option by
++ default, causing the Qt libraries to be built with optimizations. If
++ configured with the -debug option, the debug builds no longer result
++ in libraries with the _debug suffix.
++
++ On modern systems, flags are added to the Qt build to also
++ generate debugging information, which is then stored in a
++ separate .debug file. The additional debug information does not
++ affect the performance of the optimized code and tools like gdb
++ and valgrind automatically pick up the separate .debug
++ files. This way it is possible to get useful backtraces even
++ with release builds of Qt.
++
++ * Removed the last vestiges of the module options in the configure
++ script, previously they were available but did not function.
++
++ * Implemented a -build option in the configure script to conditionally
++ compile only certain sections of Qt.
++
++ * Made it possible to build Qt while having "xcode" set as your
++ QMAKESPEC on OSX.
++
++
++ - Windows only:
++
++ * Populated the build key, as done on all the other platforms.
++
++ * Fixed dependency generation in Visual Studio Solutions (.sln)
++ created by qmake.
++
++ * Added missing platforms to the Visual Studio project generator (X64,
++ SH3DSP and EBC).
++
++ * Made UIC3 use a temporary file for long command lines.
++
++ * Removed the object file (.o) conflicts with MinGW that appeared when
++ embedding a native resource file which was named the same as a normal
++ source file.
++
++ * Fixed mkspec detection when generating project files outside of QTDIR.
++
++ * Removed compiler warnings with MinGW g++ 3.4.5.
++
++
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++
++ - QAbstractButton
++
++ * Returns QPalette::Button and QPalette::ButtonText for
++ backgroundRole() and foregroundRole(), respectively, rather than
++ QPalette::Background and QPalette::Foreground.
++
++ * Ensured that nextCheckState() is called only when there is a state
++ change.
++
++ - QAbstractItemModel
++
++ * When dropping rows only insert rows that were actually dropped, not
++ the continuous row count from first to last.
++
++ * Added a supportedDragActions property to be used by
++ QAbstractItemView when starting a drag.
++
++ * When updating changed persistent indexes, ignore those that haven't
++ actually changed.
++
++ * Fixed endian issue with createIndex().
++
++ * Added FixedString matching for match().
++
++ * Changed the sorting algorithm to use a stable sort.
++
++ * Added persistentIndexList() function.
++
++ - QAbstractItemView
++
++ * Added possibility to copy elements to clipboard on read-only views.
++
++ * Improved handling of QAbstractItemModel::supportedDropActions().
++
++ * Ensured that the current item is selected when using keyboard
++ search.
++
++ * Ensured that the view starts with a valid current index.
++
++ * Ensured that data is only committed in currentChanged() if the
++ editor is not persistent.
++
++ * Fixed crash that occurred when a modal dialogs was opened when
++ closing an editor.
++
++ * Added verticalScrollMode and horizontalScrollMode properties.
++
++ * Added setItemDelegateForRow() and setItemDelegateForColumn().
++
++ * Ensured that existing models are disconnected properly when
++ replaced.
++
++ * Ensured that the doubleClicked() signal is only emitted when the
++ left button has been double-clicked.
++
++ * Changed setSelection(...) to work when given a non-normalized
++ rectangle.
++
++ * Fixed regression for shift-selections in ExtendedSelection for
++ all views.
++
++ * Added dragDropMode property and implemented move support in all of
++ the views and models.
++
++ * For edit triggers SelectedClicked and DoubleClicked, only trigger
++ editing when the left button is clicked.
++
++ * Trigger SelectedClicked editing on mouse release, not mouse press.
++
++ * Suppressed the doubleClicked() signal in cases where the clicks
++ happened on two different items.
++
++ * Enabled keyboard search to be programmatically reset by calling
++ keyboardSearch() with an empty string as argument.
++
++ * Don't allow drops on items that don't have the Qt::ItemIsDropEnabled
++ flag set.
++
++ * Added modelAboutToBeReset() and layoutAboutToBeChanged() signals.
++
++ * Suppressed assertion in dropMimeData() for cases where mimeTypes()
++ returns an empty list.
++
++ * Ensured consistent behavior of drag and drop when rootIndex() is a
++ valid model index.
++
++ * Made it possible to check a checkbox with only a single click when
++ using the CurrentChanged edit trigger.
++
++ * Ensured that WhatsThis events are propagated when the relevant item
++ doesn't have a valid "What's This?" value.
++
++ * Added PositionAtCenter scrollHint.
++
++ * Added support to allow items to be checked and unchecked using the
++ keyboard.
++
++ * Added support for keypad navigation.
++
++ - QAbstractProxyModel
++
++ * Added default implementations for data(), headerData() and flags()
++
++ - QAbstractScrollArea
++
++ * Added ability to set a corner widget.
++
++ * Added ability to set scroll bar widgets.
++
++ * Added support for custom scroll bars.
++
++ - QAbstractSpinBox
++
++ * Added a hasAcceptableInput() property.
++
++ * Ensured that fixup/validate are called for third party subclasses of
++ QAbstractSpinBox as well.
++
++ * Fixed geometry issues when toggling frames on and off for spinboxes.
++
++ * Added a property for correctionMode.
++
++ * Added a property for acceleration.
++
++ - QAbstractPrintDialog
++
++ * Fixed handling of existing printer options so that storage of page
++ ranges using setFromTo() works as expected when printing in PDF format.
++
++ - QAction
++
++ * Added the setAutoRepeat(bool) function to disable auto-repeating
++ actions on keyboard shortcuts.
++
++ - QApplication
++
++ * Added saveStateRequest() and commitDataRequest() signals so that
++ QApplication does not need to be subclassed to enable session
++ management in an application.
++
++ * Added the styleSheet property to get/set the application style sheet.
++
++ * Support sending key events to non-widget objects.
++
++ * Ensured that argc and argv as passed to the QApplication constructor
++ will always be zero-terminated on all platforms after QApplication
++ consumes command line options for itself.
++
++ - QBrush
++
++ * Added a constructor that accepts a QImage.
++
++ - QButtonGroup
++
++ * Added pressed() and released() signals.
++
++ * Fixed a bug caused by removing buttons from button groups. Removed the
++ internal mapping as well.
++
++ * Ensured that checkedButton() returns the correct value with
++ non-exclusive groups.
++
++ - QClipboard
++
++ * Added support for find text buffer.
++
++ - QColor
++
++ * Fixed corruption in setRed(), setGreen() and setBlue() for HSV/CMYK
++ colors.
++
++ - QComboBox
++
++ * Fixed drawing issues related to certain FocusPolicy values.
++
++ * Ensured that the ItemFlags of an Item (ItemIsEnabled,...) are
++ respected.
++
++ * Fixed cases where the popup could be shown completly on screen, but
++ weren't.
++
++ * Added the InsertAlphabetically insert policy.
++
++ * Fixed case where a QPixmap could not be displayed using a QIcon.
++
++ * Fixed the type of the modelColumn property from bool to int.
++
++ * Updated documentation to clarify the differences between activated(),
++ highlighted() and currentIndexChanged(), and describe what they
++ actually mean.
++
++ * Updated the behavior to ensure that, if the combobox isn't editable,
++ the Qt::DisplayRole rather than the Qt::EditRole is used to query the
++ model.
++
++ - QCoreApplication
++
++ * Added flags to enable/disable application-wide features such as
++ delayed widget creation.
++
++ - QCursor
++
++ * Added support for the newly added Qt::OpenHandCursor and
++ Qt::ClosedHandCursor enum values.
++
++ - QDate
++
++ * Support dates all the way down to Julian Day 1 (2 January 4713 B.C.)
++ using the Julian calendar when appropriate.
++
++ - QDateTime
++
++ * Fixed parsing issue in fromString(const QString &, Qt::DateFormat).
++
++ - QDateTimeEdit
++
++ * Added the calendarPopup property to enable date selection using the
++ new QCalendarWidget class.
++
++ * Added a setSelectedSection() function to allow the currently selected
++ section to be programmatically set.
++
++ - QDesktopWidget
++
++ * Remove a potential out-of-bounds read.
++
++ - QDialog
++
++ * Improved stability in cases where the default button is deleted.
++
++ - QDir
++
++ * Improved support for i18n file paths in QDir::tempPath().
++
++ * Improved support for UNC paths when the application is run from a
++ share.
++
++ * Ensured that mkpath() properly supports UNC paths.
++
++ * Obsoleted QDir::convertSeparators().
++
++ * Introduced QDir::toNativeSeparators() and QDir::fromNativeSeparators().
++
++ * Added a QDebug streaming operator.
++
++ - QDirModel
++
++ * Fixed conversion from bytes to larger units in QDirModel in the file
++ size display.
++
++ * Remove hardcoded filtering of the '.' and '..' entries.
++
++ - QErrorMessage
++
++ * Made qtHandler() work in cases where the message handler is invoked
++ from threads other than the GUI thread.
++
++ - QEvent
++
++ * Added the KeyboardLayoutChange event type which is sent when the
++ keyboard layout changes.
++
++ - QFile
++
++ * Improved support for UNC paths when the application is run from a
++ share.
++
++ * Added support for physical drives (e.g., "//./Physical01").
++
++ * Ensured that QFile::error() and QIODevice::errorString() are set
++ whenever possible when errors occur.
++
++ * Renamed readLink() to symLinkTarget().
++
++ - QFileDialog
++
++ * Fixed a case where view mode got disabled.
++
++ - QFileInfo
++
++ * Improved support for UNC paths when the application is run from a
++ share.
++
++ * Improved support for drive-local relative paths, such as "D:".
++
++ * Renamed readLink() to symLinkTarget().
++
++ - QFlags
++
++ * Added the testFlag() convenience function.
++
++ - QFont
++
++ * Added NoFontMerging as a flag to QFont::StyleStrategy.
++
++ - QFontDatabase
++
++ * Added functions for handling application-local fonts at run-time:
++ addApplicationFont(), removeApplicationFont(),
++ applicationFontFamilies(), etc.
++
++ - QFontDialog
++
++ * Enabled support for custom window titles.
++
++ - QFontMetrics/QFontMetricsF
++
++ * Added the elidedText() function.
++
++ * Added the averageCharWidth() function.
++
++ - QFrame
++
++ * Fixed a rendering issue when showing horizontal and vertical lines
++ created using Designer.
++
++ - QFtp
++
++ * Improved parsing of the modified date in list().
++
++ * Ensured that all data has been received when downloading, before the
++ data connection is closed.
++
++ * Added support for FTP servers that reject commands with a 202 response.
++
++ - QGLFormat
++
++ * Added the openGLVersionFlags() function.
++
++ * Added support for setting the swap interval for a context
++ (i.e., syncing to the vertical retrace).
++
++ * Added support for setting red, green and blue buffer sizes.
++
++ - QGLWidget
++
++ * Fixed a resource leak that could occur when binding QImages with the
++ bindTexture() function.
++
++ * Fixed renderText() to produce proper output when depth buffering is
++ enabled.
++
++ * Fixed bindTexture() to respect premultiplied QImage formats.
++
++ * Ensured that the updatesEnabled property is respected.
++
++ - QGradient
++
++ * Added default constructors and setter functions for all gradients and
++ their attributes.
++
++ - QGridLayout
++
++ * Do not segfault if cellRect() is called before setGeometry(),
++ even though the result is documented to be undefined.
++
++ * Fixed maximum size handling when adding spacing.
++
++ - QGroupBox
++
++ * Activating a group box by a shortcut will now show the focus rectangle.
++
++ * Added the clicked() signal
++
++ - QHash
++
++ * Prevent conversion of iterator or const_iterator to bool
++ (e.g., if (map->find(value))) because the conversion always returned
++ true. Qt 4.1 code that doesn't compile because of this change was most
++ probably buggy.
++
++ * Added the uniqueKeys() function.
++
++ - QHeaderView
++
++ * Use the current resize mode to determine section sizes when
++ new rows are inserted.
++
++ * Recover the internal state if other widgets steal the mouse release
++ event.
++
++ * Ensure that moved sections can be removed without asserting.
++
++ * Be more robust with regards to arguments sent to the rowsInserted slot.
++
++ * Let the stretchLastSection property override the globalResizeMode in
++ the resizeSections() function.
++
++ * Renamed ResizeMode::Custom to ResizeMode::Fixed.
++
++ * Added the swapSections() convenience function.
++
++ * Added a more "splitter-like" resize mode.
++
++ * Added the possibility for the user to turn off stretch mode by
++ resizing the header section. This includes the stretchLastSection
++ property.
++
++ * Added the minimumSectionSize property.
++
++ * Get the section size hint from the Qt::SizeHintRole, if set.
++
++ * Added the ResizeToContents resize mode.
++
++ * Ensure that all header contents are centered by default.
++
++ * Improved the internal structure to be more memory efficient.
++
++ - QHostAddress
++
++ * Added QDataStream streaming operators.
++
++ - QHttp
++
++ * Support percent-encoded paths when used with a proxy server.
++
++ * Improved handling of unexpected remote socket close.
++
++ - QHttpHeader
++
++ * Improved support for case-insensitive header searching.
++
++ - QIcon
++
++ * Fixed issue where actualSize() might return a larger value than the
++ requested size.
++
++ * Fixed improper pixmap caching
++
++ * Added QDataStream operators for QIcon.
++
++ * Added the Selected mode.
++
++ - QImage
++
++ * Added support for 16 bit RGB format.
++
++ * Added QPoint overloads to various (int x, int y) functions.
++
++ * Added support for faster/better rotation of images by 90/180/270
++ degrees.
++
++ * convertToFormat() now supports the color lookup table.
++
++ * Improved algorithm for smooth scaling to produce better results.
++
++ - QImageReader
++
++ * Ensured that size() returns an invalid QSize if the image I/O handler
++ does not support the QImageIOHandler::Size extension.
++
++ * Added support for reading negative BMP images.
++
++ * Improved handling of invalid devices.
++
++ * Added optimizations to ensure that the most likely formats and plugins
++ are tested first when reading unknown image formats.
++
++ * Improved reading of BMP images from sequential QIODevices.
++
++ * Support for scaledSize() with JPEG images.
++
++ * It is now possible to query the supported options of an image by
++ calling supportedOptions().
++
++ * Stability fixes for the built-in XBM reader.
++
++ - QImageWriter
++
++ * Ensured that an error is reported when attempting to write an image
++ to a non-writable device.
++
++ * It is now possible to query the supported options of an image by
++ calling supportedOptions().
++
++ - QIODevice
++
++ * Fixed a casting bug in QIODevice::getChar().
++
++ * Improved reading performance significantly by using an internal buffer
++ when a device is opened in buffered mode.
++
++ * Some behavioral differences have been introduced:
++
++ + The following functions now need to call the base implementation
++ when reimplemented: atEnd(), bytesAvailable(), size(), canReadLine().
++
++ + pos() should return the base implementation directly.
++
++ + QIODevice now handles the device position internally. seek() should
++ always end up calling the base implementation.
++
++ - QItemDelegate
++
++ * Use a widget's USER property to set and get the editor data.
++
++ * Removed unnecessary assertions.
++
++ * Added the clipping property to enable clipping when painting.
++
++ * When the model specifies a font, resolve the font over the existing
++ one rather than replacing it.
++
++ * Fixed issue with rendering of selected pixmaps.
++
++ * Ensured that QItemEditorFactory is called with the variant's
++ userType() so that the factory can distinguish between multiple user
++ types.
++
++ * Ensured that Key_Enter is propagated to the editor before data is
++ committed, so that the editor has a chance to perform custom input
++ validation/fixup.
++
++ * Let the line edit grow to accomodate long strings.
++
++ * Made it easer to subclass the item delegate.
++
++ * Added support for keypad navigation.
++
++ - QItemSelectionModel
++
++ * Improved overall speed, particularly when isSelected() is used.
++
++ * Added functions for getting the selected rows or columns.
++
++ * Ensured that the current index is updated when it is being removed.
++
++ * Ensure that QAbstractItemView::clearSelection() only clears the
++ selection and not the current index.
++
++ * Added the hasSelection() function.
++
++ * Fixed some connection leaks (connections were not disconnected) when
++ an QItemSelectionModel was deleted. This should also speed up some
++ special cases.
++
++ - QKeySequence
++
++ * Added a set of platform-dependent standard shortcuts.
++
++ * Fixed incorrect parsing of translated modifiers.
++
++ - QLabel
++
++ * Added support for text selection and hyperlinks.
++
++ * Improved handling of scaled pixmaps.
++
++ * Made handling of QMovie safer to avoid object ownership issues.
++
++ - QLibrary
++
++ * Added support for hints to control how libraries are opened on UNIX
++ systems.
++
++ * Added errorString() to report the causes of errors when libraries
++ fail to load.
++
++ * Added easier way to debug plugin loading: Setting QT_DEBUG_PLUGINS=1
++ in the environment will enable debug message printing on the
++ console.
++
++ * Increased the number of acceptable file name suffixes used to
++ recognize library files.
++
++ - QLineEdit
++
++ * Ensured that the Unicode context menu gets shown if language
++ extensions are present.
++
++ * Ensured that editingFinished() is not emitted if a validator is set
++ and the text cannot be validated.
++
++ * Ctrl+A now triggers select all on all platforms.
++
++ * Call fixup on focusOut() if !hasAcceptableInput().
++
++ * Added auto-completion support with the setCompleter() function.
++
++ * Fixed painting errors when contents margins were set.
++
++ * Invalid text set using setText() can now be edited where previously
++ it had to be deleted before new text could be inserted.
++
++ * Use SE_LineEditContents to control the contents rect of each
++ QLineEdit.
++
++ - QListView
++
++ * Added the batchSize property.
++
++ * Don't un-hide currently hidden rows when new rows are inserted.
++
++ * Fixed partial repainting bug that occurred when alternatingRowColors
++ was enabled.
++
++ * Ensured that the resize mode is not reset in setViewMode() if it was
++ already set.
++
++ * Fixed crash that occurred when the first item was hidden and
++ uniformItemSizes was set.
++
++ * Added the wordWrap property for wrapping item text.
++
++ * Allow the user to select items consecutively when shift-selecting.
++
++ * Ensured that only the top item is selected when the user clicks on
++ an area with several items are stacked on top of each other.
++
++ * Optimized hiding and showing of items.
++
++ * Fixed issue where dragging an item in Snap mode did not respect the
++ scroll bar offsets.
++
++ * Fixed issue in Snap mode where a (drag and) drop did not always
++ query the item that existed in the corresponding cell for an enabled
++ Qt::ItemIsDropEnabled flag.
++
++ - QListWidget/QTreeWidget/QTableWidget
++
++ * Ensured the dataChanged() signal is emitted when flags are set on an
++ item.
++
++ * Removed unnecessary assertions.
++
++ * Added more convenience functions in QListWidget, QTableWidget and
++ QTreeWidget for selecting, hiding, showing, expanding and collapsing
++ nodes.
++
++ * Ensured that changes to items are reported.
++
++ - QLocale
++
++ * Fixed bug in the string-to-number functions which sometimes caused
++ them to fail on negative numbers which contained thousand-
++ separators.
++
++ * Implemented the numberOptions property for specifying how
++ string-to-number and number-to-string conversions should be
++ performed.
++
++ - QMainWindow
++
++ * Added support for tabbed dock widgets.
++
++ * Enhanced look and feel of dock widget handling. When a dock widget
++ hovers over a main window, the main window animates the existing
++ dock widgets and main area to show how it will accept the dock
++ widget if dropped.
++
++ * Fixed issues related to insertToolBarBreak().
++
++ - QMap
++
++ * Prevent conversion of iterator or const_iterator to bool
++ (e.g., if (map->find(value))), because the conversion always
++ returned true. Qt 4.1 code that doesn't compile because of this
++ change was most probably buggy.
++
++ * Added the uniqueKeys() function.
++
++ - QMenu
++
++ * Added the aboutToHide() signal.
++
++ * Added the isEmpty() accessor function.
++
++ * Clear menuAction() when setMenu(0)
++
++ * Added support for widgets in menus via QWidgetAction.
++
++ * Collapse multiple consecutive separators. This can be turned off
++ with the collapsibleSeparators property.
++
++ * Made scrollable menus wrap, just like non-scrollable ones.
++
++ - QMessageBox
++
++ * Updated the API to allow more than 3 buttons to be used.
++
++ * Added support to display buttons in the order required by
++ platform-specific style guidelines.
++
++ * Added support for display of informative text using the
++ informativeText property.
++
++ * Added the detailedText property to allow detailed text to be
++ displayed.
++
++ * Improved sizing of message box (especially on Mac OS X).
++
++ * Changed the behavior so that long text strings are automatically
++ wrapped.
++
++ * Updated icon handling to use QStyle::standardIcon() where possible.
++
++ - QMetaObject
++
++ * Added the userProperty() and normalizedType() functions.
++
++ - QMetaType
++
++ * Ensured that all type names are normalized before registering them.
++
++ * Added support for handling Qt's integer typedefs: qint8, qint16,
++ etc.
++
++ - QModelIndex
++
++ * Added the flags() convenience function.
++
++ - QMutexLocker, QReadLocker, and QWriteLocker
++
++ * These classes now track the state of the lock they are holding.
++ They will not unlock on destruction if unlock() has been called.
++
++ - QObject
++
++ * thread() will always return a valid thread, even if the object was
++ created before QApplication or in a non-QThread thread.
++
++ * When thread() returns zero, events are no longer sent to the object.
++ (Previous versions of Qt would send posted events to objects with no
++ thread; this does not happen in Qt 4.2).
++
++ * Added support for dynamically added properties via the new
++ property(), setProperty(), and dynamicPropertyNames() functions.
++
++ * Fixed a crash that could occur when a child deleted its sibling.
++
++ - QPainter
++
++ * Fixed a crash the occurred when drawing cosmetic lines outside the
++ paint device boundaries.
++
++ * Fixed a pixel artifact issue that occurred when drawing cosmetic
++ diagonal lines.
++
++ * Fixed opaque backgrounds so that they are identical on all
++ platforms.
++
++ * Optimized drawing of cosmetic lines at angles between 315 and 360
++ degrees.
++
++ * Added the setRenderHints() function.
++
++ * Fixed a memory corruption issue in drawEllipse().
++
++ - QPixmap
++
++ * Fixed crash caused by setting a mask or alpha channel on a pixmap
++ while it was being painted.
++
++ * Changed load() and save() to no longer require a format string.
++
++ * Ensured that grabWidget() works before the specified widget is first
++ shown.
++
++ - QPluginLoader
++
++ * Added errorString() to report the causes of errors when plugins fail
++ to load.
++
++ - QPrinter
++
++ * Added support for PostScript as an output format on all platforms.
++
++ * Significantly reduced the size of the generated output when using
++ the PostScript and PDF drivers.
++
++ * Fixed issue where fromPage()/toPage() returned incorrect values when
++ generating PDF files.
++
++ * Ensured that setOutputFormat() preserves previously set printer
++ properties.
++
++ * Updated setOutputFileName() to automatically choose PostScript or
++ PDF as the output format for .ps or .pdf suffixes.
++
++ - QProcess
++
++ * Added support for channel redirection to allow data to be redirected
++ to files or between processes.
++
++ - QPushButton
++
++ * Ensured that, when a menu is added to a push button, its action is
++ also added to enable keyboard shortcuts.
++
++ - QRect, QRectF, QRegion
++
++ * Renamed unite(), intersect(), subtract(), and eor() to united(),
++ intersected(), subtracted(), and xored() respectively.
++
++ * Added QRegion::intersects(QRegion) and QRegion::intersects(QRect).
++
++ * Fixed case where rect1 & rect2 & rect3 would return a non-empty
++ result for disjoint rectangles.
++
++ - QRegExp
++
++ * Added RegExp2 syntax, providing greedy quantifiers (+, *, etc.).
++
++ * Marks (QChar::isMark()) are now treated as word characters,
++ affecting the behavior of '\b', '\w', and '\W' for languages
++ that use diacritic marks (e.g., Arabic).
++
++ * Fix reentrancy issue with the regexp cache.
++
++ - QScrollArea
++
++ * Added the ensureWidgetVisible() function to facilitate scrolling to
++ specific child widgets in a scroll area.
++
++ - QScrollBar
++
++ * Ensured that a SliderMove action is triggered when the slider value is
++ changed through a wheel event.
++
++ - QSet
++
++ * Added QSet::iterator and QMutableSetIterator.
++
++ - QSettings
++
++ * Store key sequences as readable entries in INI files.
++
++ * Detect NFS to prevent hanging when lockd isn't running.
++
++ - QShortcut
++
++ * Added the setAutoRepeat(bool) function to disable auto-repeating
++ actions on keyboard shortcuts.
++
++ - QSize
++
++ * Fixed potential overflow issue in scale().
++
++ - QSlider
++
++ * Added support for jump-to-here positioning.
++
++ - QSortFilterProxyModel
++
++ * Handle source model changes (e.g., data changes, item insertion
++ and removal) in a fine-grained manner, so that the proxy model
++ behaves more like a "real" model.
++
++ * Added sortRole, filterRole and dynamicSortFilter properties.
++
++ * Perform stable sorting of items.
++
++ * Fixed support for drag and drop operations where one item is dropped
++ on top of another.
++
++ * Ensure that persistent indexes are updated when the layout of the
++ source model changes.
++
++ * Made match() respect the current sorting and filtering settings.
++
++ * Forward mimeTypes() and supportedDropActions() calls to source
++ models.
++
++ * Added the ability to filter on all the columns.
++
++ * Added the filterChanged() function to enable custom filtering to be
++ implemented.
++
++ - QSqlQuery
++
++ * Added execBatch() for executing SQL commands in a batch. Currently
++ only implemented for the Oracle driver.
++
++ * Fixed a case where executedQuery() would not return the executed
++ query.
++
++ - QSqlRelationalTableModel
++
++ * Fixed issue related to sorting a relational column when using the
++ PostgreSQL driver.
++
++ * revertAll() now correctly reverts relational columns.
++
++ - QStackedLayout
++
++ * Fixed crash that occurred when removing widgets under certain
++ conditions.
++
++ - QStackedWidget
++
++ * Fixed crash that occurred when removing widgets under certain
++ conditions.
++
++ * Fixed issue where the size hint of the current widget would not be
++ respected.
++
++ - QStandardItemModel
++
++ * Added an item-based API for use with QStandardItem.
++
++ * Reimplemented sort().
++
++ * Added the sortRole property.
++
++ - QStatusBar
++
++ * Added the insertWidget() and insertPermanentWidget() functions.
++
++ - QString
++
++ * Added support for case-insensitive comparison in compare().
++
++ * Added toUcs4() and fromUcs4() functions.
++
++ - QStyle
++
++ * Added the following style hint selectors:
++ SH_Slider_AbsoluteSetButtons, SH_Slider_PageSetButtons,
++ SH_Menu_KeyboardSearch, SH_TabBar_ElideMode, SH_DialogButtonLayout,
++ SH_ComboBox_PopupFrameStyle, SH_MessageBox_TextInteractionFlags,
++ SH_DialogButtonBox_ButtonsHaveIcons, SH_SpellCheckUnderlineStyle,
++ SH_MessageBox_CenterButtons, SH_Menu_SelectionWrap,
++ SH_ItemView_MovementWithoutUpdatingSelection.
++
++ * Added the following standard pixmap selectors:
++ SP_DirIcon, SP_DialogOkButton, SP_DialogCancelButton,
++ SP_DialogHelpButton, SP_DialogOpenButton, SP_DialogSaveButton,
++ SP_DialogCloseButton, SP_DialogApplyButton, SP_DialogResetButton,
++ SP_DialogDiscardButton, SP_DialogYesButton, SP_DialogNoButton,
++ SP_ArrowUp, SP_ArrowDown, SP_ArrowLeft, SP_ArrowRight, SP_ArrowBack,
++ SP_ArrowForward.
++
++ * Added PE_PanelScrollAreaCorner and PE_Widget as primitive element
++ selectors.
++
++ * Added PM_MessageBoxIconSize and PM_ButtonIconSize as pixel metric
++ selectors.
++
++ * Added SE_LineEditContents and SE_FrameContents as sub-element
++ selectors.
++
++ * Added SE_FrameContents to control the contents rectangle of a
++ QFrame.
++
++ - QSvgHandler
++
++ * Improved style sheet parsing and handling.
++
++ * Added support for both embedded and external style sheets.
++
++ * Improved parsing of local url() references.
++
++ * Improved coordinate system handling.
++
++ * Fixed issue where the viewbox dimensions would be truncated to integer
++ values.
++
++ * Fixed support for gradient transformations.
++
++ * Fixed opacity inheritance behavior.
++
++ * Added support for gradient spreads.
++
++ * Fixed gradient stop inheritance behavior.
++
++ * Fixed parsing of fill and stroke properties specified in style sheets.
++
++ * Added support for reading and writing the duration of animated SVGs.
++
++ * Fixed incorrect rendering of SVGs that do not specify default viewboxes.
++
++ * Fixed radial gradient rendering for the case where no focal point is
++ specified.
++
++ - QSyntaxHighlighter
++
++ * Added various performance improvements.
++
++ - Qt namespace
++
++ * Added ForegroundRole and BackgroundRole, allowing itemviews to use
++ any QBrush (not just QColor, as previously) when rendering items.
++
++ * Added NoDockWidgetArea to the ToolBarArea enum.
++
++ * Added NoToolBarArea to the DockWidgetArea enum.
++
++ * Added GroupSwitchModifier to the KeyboardModifiers enum. It
++ represents special keys, such as the "AltGr" key found on many
++ keyboards.
++
++ * Added several missing keys to the Key enum: Key_Cancel, Key_Printer,
++ Key_Execute, Key_Sleep, Key_Play and Key_Zoom.
++
++ * Added OpenHandCursor and ClosedHandCursor for use with QCursor.
++
++ - QTabBar
++
++ * QTabBar text can now be elided; this is controlled by the elideMode
++ property.
++
++ * You can now turn on or off the "scroll buttons" for the tab bar with
++ the usesScrollButtons property.
++
++ * Non-pixmap based styles will now fill the background of the tab with
++ the palette's window role.
++
++ - QTabletEvent:
++
++ * Ensured that QTabletEvents are dispatched with the proper relative
++ coordinates.
++
++ * Added proximity as another type of a tablet event (currently only sent
++ to QApplication).
++
++ - QTableView
++
++ * Added API for spanning cells.
++
++ * Ensured that cells are selected when the user right clicks on them.
++
++ * Added a corner widget.
++
++ * Added the setSortingEnabled property.
++
++ - QTableWidget
++
++ * Added the clearContents() function to enable the contents of the view
++ to be cleared while not resetting the headers.
++
++ * QTableWidget now uses stable sorting.
++
++ * Allow sorting of non-numerical data.
++
++ * Add convenience table item constructor that takes an icon as well as
++ a string.
++
++ - QTabWidget
++
++ * Added missing selected() Qt3Support signal.
++
++ * Clarified documentation for setCornerWidget().
++
++ * Ensured that the tab widget's frame is drawn correctly when the tab
++ bar is hidden.
++
++ * Ensured that the internal widgets have object names.
++
++ * Added iconSize, elideMode, and usesScrollButtons as properties (see
++ QTabBar).
++
++ - QTcpSocket
++
++ * Fixed a rare data corruption problem occurring on heavily loaded
++ Windows servers.
++
++ - QTemporaryFile
++
++ * Added support for file extensions and other suffixes.
++
++ * Fixed one constructor which could corrupt the temporary file path.
++
++ - QTextBrowser
++
++ * Fixed various bugs with the handling of relative URLs and custom
++ protocols.
++
++ * Added isBackwardAvailable(), isForwardAvailable(), and
++ clearHistory() functions.
++
++ - QTextCodec
++
++ * Allow locale-dependent features of Qt, such as QFile::exists(), to
++ be accessed during global destruction.
++
++ - QTextCursor
++
++ * Added columnNumber(), blockNumber(), and insertHtml() convenience
++ functions.
++
++ - QTextDocument
++
++ * Added convenience properties and functions: textWidth, idealWidth(),
++ size, adjustSize(), drawContents(), blockCount, maximumBlockCount.
++
++ * Added support for forced page breaks before/after paragraphs and
++ tables.
++
++ * Added CSS support to the HTML importer, including support for
++ CSS selectors.
++
++ * Added defaultStyleSheet property that is applied automatically for
++ every HTML import.
++
++ * Improved performance when importing HTML, especially with tables.
++
++ * Improved pagination of tables across page boundaries.
++
++ - QTextEdit
++
++ * Fixed append() to use the current character format.
++
++ * Changed mergeCurrentCharFormat() to behave in the same way as
++ QTextCursor::mergeCharFormat, without applying the format to the
++ word under the cursor.
++
++ * QTextEdit now ensures that the cursor is visible the first time the
++ widget is shown or when replacing the contents entirely with
++ setPlainText() or setHtml().
++
++ * Fixed issue where the setPlainText() discarded the current character
++ format after the new text had been added to the document.
++
++ * Re-added setText() as non-compatibility function with well-defined
++ heuristics.
++
++ * Added a moveCursor() convenience function.
++
++ * Changed the default margin from 4 to 2 pixels for consistency with
++ QLineEdit.
++
++ * Added support for extra selections.
++
++ - QTextFormat
++
++ * Fixed the default value for QTextBlockFormat::alignment() to return
++ a logical left alignment instead of an invalid alignment.
++
++ * Added UnderlineStyle formatting, including SpellCheckUnderline.
++
++ - QTextStream
++
++ * Added the pos() function, which returns the current byte-position
++ of the stream.
++
++ - QTextTableCell
++
++ * Added the setFormat() function to enable the cell's character format
++ to be changed.
++
++ - QThread
++
++ * Related to changes to QObject, currentThread() always returns a
++ valid pointer. (Previous versions of Qt would return zero if called
++ from non-QThread threads; this does not happen in Qt 4.2).
++
++ - QToolBar
++
++ * Introduced various fixes to better support tool buttons, button
++ groups and comboboxes in the toolbar extension menu.
++
++ * Fixed crash that occurred when QApplication::setStyle() was called
++ twice.
++
++ - QToolButton
++
++ * Fixed an alignment bug for tool buttons with multi-line labels and
++ TextUnderIcon style.
++
++ - QToolTip
++
++ * Added the hideText() convenience function.
++
++ * Added the showText() function that takes a QRect argument specifying
++ the valid area for the tooltip. (If you move the cursor outside this
++ area the tooltip will hide.)
++
++ * Added a widget attribute to show tooltips for inactive windows.
++
++ - QTranslator
++
++ * Added support for plural forms through a new QObject::tr() overload.
++
++ * Ensured that a LanguageChange event is not generated if the
++ translator fails to load.
++
++ * Fixed a bug in isEmpty().
++
++ * Added Q_DECLARE_TR_FUNCTIONS() as a means for declaring tr()
++ functions in non-QObject classes.
++
++ - QTreeView
++
++ * Ensured that no action is taken when the root index passed to
++ setRootIndex() is the same as the current root index.
++
++ * When hiding items the view no longer performs a complete re-layout.
++
++ * Fixed possible segfault in isRowHidden().
++
++ * Significantly speed up isRowHidden() for the common case.
++
++ * Improved row painting performance.
++
++ * After expanding, fetchMore() is called on the expanded index giving
++ the model a way to dynamically populate the children.
++
++ * Fixed issue where an item could expand when all children were
++ hidden.
++
++ * Added support for horizontal scrolling using the left/right arrow
++ keys.
++
++ * Added a property to enable the focus rectangle in a tree view to be
++ shown over all columns.
++
++ * Added more key bindings for expanding and collapsing the nodes.
++
++ * Added the expandAll() and collapseAll() slots.
++
++ * Added animations for expanding and collapsing branches.
++
++ * Take all rows into account when computing the size hint for a
++ column.
++
++ * Added the setSortingEnabled property.
++
++ * Fixed the behavior of the scrollbars so that they no longer
++ disappear after removing and re-inserting items while the view is
++ hidden.
++
++ * Fixed memory corruption that could occur when inserting and removing
++ rows.
++
++ * Don't draw branches for hidden rows.
++
++ - QTreeWidget
++
++ * Added the const indexOfTopLevelItem() function.
++
++ * Improved item insertion speed.
++
++ * Fixed crash caused by calling QTreeWidgetItem::setData() with a
++ negative number.
++
++ * QTreeWidget now uses stable sorting.
++
++ * Made construction of single column items a bit more convenient.
++
++ * Added the invisibleRootItem() function.
++
++ * Made addTopLevelItems() add items in correct (not reverse) order.
++
++ * Ensured that the header is repainted immediately when the header
++ data changes.
++
++ - QUiLoader
++
++ * Exposed workingDirectory() and setWorkingDirectory() from
++ QAbstractFormBuilder to assist with run-time form loading.
++
++ - QUrl
++
++ * Added errorString() to improve error reporting.
++
++ * Added hasQuery() and hasFragment() functions.
++
++ * Correctly parse '+' when calling queryItems().
++
++ * Correctly parse the authority when calling setAuthority().
++
++ * Added missing implementation of StripTrailingSlash in toEncoded().
++
++ - QVariant
++
++ * Added support for all QMetaType types.
++
++ * Added support for QMatrix as a known meta-type.
++
++ * Added support for conversions from QBrush to QColor and QPixmap,
++ and from QColor and QPixmap to QBrush.
++
++ * Added support for conversions between QSize and QSizeF, between
++ QLine and QLineF, from long long to char, and from unsigned long
++ long to char.
++
++ * Added support for conversions from QPointF to QPoint and from QRectF
++ to QRect.
++
++ * Fixed issue where QVariant(Qt::blue) would not create a variant of
++ type QVariant::Color.
++
++ * Added support for conversions from int, unsigned int, long long,
++ unsigned long long, and double to QByteArray.
++
++ - QWhatsThis
++
++ * Improved look and feel.
++
++ - QWidget
++
++ * Delayed creation: Window system resources are no longer allocated in
++ the QWidget constructor, but later on demand.
++
++ * Added a styleSheet property to set/read the widget style sheet.
++
++ * Added saveGeometry() and restoreGeometry() convenience functions for
++ saving and restoring a window's geometry.
++
++ * Fixed memory leak for Qt::WA_PaintOnScreen widgets with null paint
++ engines.
++
++ * Ensured that widget styles propagate to child widgets.
++
++ * Reduced flicker when adding widget to layout with visible parent.
++
++ * Fixed child visibility when calling setLayout() on a visible widget.
++
++ * Speed up creation/destruction/showing of widgets with many children.
++
++ * Avoid painting obscured widgets when updating overlapping widgets.
++
++ - QWorkspace
++
++ * Resolved issue causing the maximized controls to overlap with the
++ menu in reverse mode.
++
++ * Fixed issue where child windows could grow a few pixels when
++ restoring geometry in certain styles.
++
++ * Ensured that right-to-left layout is respected when positioning new
++ windows.
++
++ * Fixed crash that occurred when a child widget did not have a title
++ bar.
++
++ * Fixed issue where maximized child windows could be clipped at the
++ bottom of the workspace.
++
++ - quintptr and qptrdiff
++
++ * New integral typedefs have been added.
++
++ - Q3ButtonGroup
++
++ * Fixed inconsistencies with respect to exclusiveness of elements in
++ Qt 3.
++
++ * Fixed ID management to be consistent with Qt 3.
++
++ - Q3Canvas
++
++ * Fixed several clipping bugs introduced in 4.1.0.
++
++ - Q3CanvasView
++
++ * Calling setCanvas() now always triggers a full update.
++
++ - Q3Grid, Q3Hbox, Q3VBox
++
++ * Fixed layout problem.
++
++ - Q3IconView
++
++ * Fixed a case where selected icons disappeared.
++
++ - Q3ListBox
++
++ * Fixed inconsistencies in selectAll() with respect to Qt 3.
++
++ * Fixed possible crash after deleting items.
++
++ - Q3ListView
++
++ Fixed possible crash in Q3ListView after calling clear().
++
++ Fixed inconsistent drag and drop behavior with respect to Qt 3.
++
++ - Q3Process
++
++ * Stability fixes in start().
++
++ - Q3Socket
++
++ * No longer (incorrectly) reports itself as non-sequential.
++
++ - Q3Table
++
++ * Improved behavior for combobox table elements.
++
++
++
++ ****************************************************************************
++ * Database Drivers *
++ ****************************************************************************
++
++ - Interbase driver
++
++ * Fixed data truncation for 64 bit integers on 64 bit operating
++ systems.
++
++ - MySQL driver
++
++ * When using MySQL 5.0.7 or larger, let the server do the text
++ encoding conversion.
++
++ * Added UNIX_SOCKET connection option.
++
++ * Improved handling of TEXT fields.
++
++ - OCI driver
++
++ * Improved speed for meta-data retrieval.
++
++ * Fixed potential crash on Windows with string OUT parameters.
++
++ * Improved handling of mixed-case table and field names.
++
++ - ODBC driver
++
++ * Improved error reporting if driver doesn't support static result
++ sets.
++
++ * Improved support for the Sybase ODBC driver.
++
++ - SQLite driver
++
++ * QSqlDatabase::tables() now also returns temporary tables.
++
++ * Improved handling of mixed-case field names.
++
++
++
++ ****************************************************************************
++ * QTestLib *
++ ****************************************************************************
++
++ - Added "-silent" options that outputs only test failures and warnings.
++
++ - Reset failure count when re-executing a test object
++
++ - Added nicer output for QRectF, QSizeF, and QPointF
++
++
++
++ ****************************************************************************
++ * Platform Specific Changes *
++ ****************************************************************************
++
++
++ Qtopia Core
++ -----------
++
++ - Fixed the -exceptions configure switch.
++
++ - Fixed a build issue preventing the use of MMX instructions when
++ available.
++
++ - Fixed leak of semaphore arrays during an application crash.
++
++ - Fixed cases where the wrong cursor was shown.
++
++ - Fixed cases where QWidget::normalGeometry() would return wrong value.
++
++ - Allow widgets inside QScrollArea to have a minimum size larger than the
++ screen size.
++
++ - Allow (0,0) as a valid size for top-level windows.
++
++ - VNC driver
++
++ * Fixed keyboard shortcut problem when using the VNC driver.
++
++ * Fixed issue with the VNC driver that prevented client applications to
++ connect in some cases.
++
++ * Fixed a leak of shared memory segments in the VNC driver.
++
++ * Reduced CPU consumption in the VNC driver.
++
++ * Implemented dynamic selection of the underlying driver for the VNC and
++ transformed screen drivers.
++
++ * Improved error handling when clients connects to the server.
++
++ - Graphics system
++
++ * Introduced new API for accelerated graphics hardware drivers.
++
++ * Implemented support for multiple screens.
++
++ * QScreen has binary incompatible changes. All existing screen drivers
++ must be recompiled.
++
++ * QWSWindow, QWSClient, QWSDisplay and QWSEvent have binary
++ incompatible changes. QWSBackingStore has been removed.
++ Existing code using these classes must be recompiled.
++
++ * Added support for OpenGL ES in QGLWidget.
++
++ * Implemented support for actual screen resolution in QFont.
++
++ * Removed internal limitation of 10 display servers.
++
++ * Improved memory usage when using screens with depths less than 16
++ bits-per-pixel.
++
++ * Fixed 16 bits-per-pixel screens on big-endian CPUs.
++
++ * Optimized CPU usage when widgets are partially hidden.
++
++ * Improved detection of 18 bits-per-pixel framebuffers.
++
++ * Improved performance when using a rotated screen with 18 or 24
++ bits-per-pixel depths.
++
++ * Improved speed of drawing gradients.
++
++ * Introduced the QWSWindowSurface as a technique to create
++ accelerated paint engines derived from QPaintEngine.
++
++ * Implemented the Qt::WA_PaintOnScreen flag for top-level widgets.
++
++ * Extended QDirectPainter to include non-blocking API and support for
++ overlapping windows. Existing code that subclasses QDirectPainter
++ must be recompiled.
++
++ * Implemented QWSEmbedWidget which enables window embedding.
++
++ * Removed hardcoded 72 DPI display limitation.
++
++ - Device handling
++
++ * QWSMouseHandler has binary incompatible changes. All existing mouse
++ drivers must be recompiled.
++
++ * Fixed an issue of getting delayed mouse events when using the
++ vr41xx driver.
++
++ * Improved event compression in the vr41xx mouse handler.
++
++ * Improved algorithm for mouse calibration which works for all
++ screen orientations.
++
++ * Fixed an issue causing mouse release events with wrong positions
++ when using a calibrated and filtered mouse handler on a rotated
++ screen.
++
++ * Made the tty device configurable for the Linux framebuffer screen
++ driver.
++
++ * Fixed a deadlock issue when using drag and drop and a calibrated
++ mouse handler.
++
++ * Autodetection of serial mice is turned off to avoid disrupt serial
++ port communication. Set QWS_MOUSE_PROTO to use a serial mouse.
++
++ - QVFb
++
++ * Fixed an issue preventing QVFb from starting on some systems.
++
++ * Added support for dual screen device emulation in QVFb.
++
++ - QCopChannel
++
++ * Added a flush() function so that the QWS socket can be flushed,
++ enabling applications to ensure that QCop messages are delivered.
++
++
++ Linux and UNIX systems
++ ----------------------
++
++ - Printing
++
++ * Improved CUPS support by sending PDF instead of Postscript to
++ CUPS on systems that have a recent CUPS library, improving the
++ print quality.
++
++ * Added a new and improved QPrintDialog.
++
++ * Improved font embedding on systems without FontConfig.
++
++ - QApplication
++
++ * When available, use Glib's mainloop functions to implement event
++ dispatching.
++
++ - QPlastiqueStyle
++
++ * Added support to enable KDE icons to be automatically used on
++ systems where they are available.
++
++ - QTextCodec
++
++ * Uses iconv(3) (when available) to implement the codec returned by
++ QTextCodec::codecForLocale(). The new codec's name is "System"
++ (i.e., QTextCodec::codecForLocale()->name() returns "System"
++ when iconv(3) support is enabled).
++
++
++ AIX
++ ---
++
++ - The makeC++SharedLib tool is deprecated; use the "-qmkshrobj" compiler
++ option to generate shared libraries instead.
++
++
++ X11
++ ---
++
++ - Added support to internally detect the current desktop environment.
++
++ - QAbstractItemView
++
++ * Fixed assertion caused by interrupting a drag and drop operation
++ with a modal dialog on X11.
++
++ * Ensured that release events dispatched when closing a dialog
++ with a double click, are not propagated through to the window
++ underneath.
++
++ - QCursor
++
++ * Fixed crash occuring when the X11 context had been released before
++ the cursor was destructed.
++
++ - QGLWidget
++
++ * Fixed crashes that could occur with TightVNC.
++
++ * Improved interaction between QGLWidget and the Mesa library.
++
++ - QMenu
++
++ * Made it possible for popup menus to cover the task bar on KDE.
++
++ - QMotifStyle
++
++ * Ensured that the font set on a menu item is respected.
++
++ - QX11EmbedContainer, QX11EmbedWidget
++
++ * Added missing error() functions.
++
++ - QX11PaintEngine
++
++ * Increased speed when drawing polygons with a solid pixmap brush.
++
++ * Fixed masked pixmap brushes.
++
++ * Increased QImage drawing performance.
++
++ - Motif Drop support
++
++ * Support for drops from Motif applications has been refactored and is
++ now working properly. QMimeData reports non-textual data offered in
++ Motif Drops using a MIME type of the form "x-motif-dnd/ATOM", where
++ ATOM is the name of the Atom offered by the Motif application.
++
++ - Font rendering
++
++ * Improved stability when rendering huge scaled fonts.
++
++ * Enabled OpenType shaping for the Latin, Cyrillic, and Greek
++ writing systems.
++
++ * Improved sub-pixel anti-aliasing.
++
++ * Improved font loading speed.
++
++
++ Mac OS X
++ --------
++
++ - Mac OS 10.2 support dropped.
++
++ - QuickDraw support in QPaintEngine dropped; everything folded into the
++ CoreGraphics support.
++
++ - All libraries in Qt are now built as frameworks when -framework mode is
++ selected (default) during the configuration process.
++
++ - Many accessibility improvements, including better VoiceOver support. The
++ following widgets have had their accessibilty updated for this release:
++ QSplitter, QScrollBar, QLabel, QCheckBox, QRadioButton, QTabBar,
++ QTabWidget, QSlider, and QScrollBar.
++
++ - Hidden files are now reported as hidden by QFileInfo, QDirModel, etc.
++
++ - Windows now have a transparent size grips, an attribute for specifying an
++ opaque size grip was added.
++
++ - Metrowerks generator has been removed.
++
++ - Ensured that the anti-aliasing threshold setting is followed.
++
++ - Added a standard "Minimize" menu item to Assistant's Window menu.
++
++ - The documentation now has "Xcode-compatible" links so that it can be added
++ into Xcode's documentation viewer. This needs to be done by the developer
++ as regenerating Xcode's index takes quite a long time
++
++ - QAbstractScrollArea
++
++ * Improved look and feel by aligning the scroll bars with the size
++ grip.
++
++ - QClipboard
++
++ * Data copied to the clipboard now stays available after the
++ application exits.
++
++ * Added support for the Find clipboard buffer.
++
++ * Fixed encoding of URLs passed as MIME-encoded data.
++
++ - QComboBox
++
++ * Improved the popup sizing so it's always wide enough to display its
++ contents.
++
++ * Improved the popup placement so it stays on screen and does not
++ overlap the Dock.
++
++ * The minimumSizeHint() and sizeHint() functions now honor
++ minimumContentsLength.
++
++ - QKeyEvent
++
++ * The text() of a QKeyEvent is filled with the control character if
++ the user pressed the real Control key (Meta in Qt) and another key.
++ This brings the behavior of Qt on Mac OS X more in line with Qt on
++ other platforms.
++
++ - QLibrary
++
++ * Removed the dependency on dlcompat for library loading and resolving
++ in favor of native calls. This means that you can unload libraries
++ on Mac OS X 10.4 or later, but not on 10.3 (since that uses dlcompat
++ itself).
++
++ - QMacStyle
++
++ * QMacStyle only uses HITheme for drawing now (no use of Appearance
++ Manager).
++
++ * Fixed placement of text on buttons and group boxes for non-Latin
++ locales.
++
++ * Fixed rendering of small and mini buttons.
++
++ * Attempt to be a bit smarter before changing a push button to bevel
++ button when the size gets too small.
++
++ * Draws the focus ring for line edits when they are near the "top" of
++ the widget hierarchy.
++
++ * Ensured that the tickmarks are drawn correctly.
++
++ * Implemented the standardIconImplementation() function.
++
++ * Fixed the look of line edits.
++
++ * "Colorless" controls now look better.
++
++ * Fixed the sort indicator.
++
++ * Improved the look of text controls, such as QTextEdit, to fit in
++ better with the native style.
++
++ - QMenu
++
++ * Popups no longer show up in Expose.
++
++ * Ensured that the proper PageUp and PageDown behavior are used.
++
++ - QMenuBar
++
++ * Added support for explicit merging of items using QAction::MenuRole.
++
++ * Added support for localization of merged items.
++
++ - QMessageBox
++
++ * A message box that is set to be window modal will automatically
++ become a sheet.
++
++ * Improved the look of the icons used to fit in with the native style.
++
++ - QPainter
++
++ * Fixed off-by-one error when drawing certain primitives.
++
++ * Fixed off-by-many error when drawing certain primitives using a
++ scaling matrix.
++
++ * Fixed clipping so that setting an empty clip will clip away
++ everything.
++
++ * Fixed changing between custom dash patterns.
++
++ * Added combinedMatrix() which contains both world and viewport/window
++ transformations.
++
++ * Added the setOpacity() function.
++
++ * Added MiterJoins that are compliant with SVG miter joins.
++
++ - QPainterPath
++
++ * Added the arcMoveTo() and setElementPosition() functions.
++
++ - QPixmap
++
++ * Added functions to convert to/from a CGImageRef (for CoreGraphics
++ interoperability).
++
++ * Fixed various Qt/Mac masking and alpha transparency issues.
++
++ - QPrinter
++
++ * Made QPrinter objects resuable.
++
++ - QProcess
++
++ * Always use UTF-8 encoding when passing commands.
++
++ - QScrollBar
++
++ * Improved handling of the case where the scrollbar is to short to
++ draw all its controls.
++
++ - QTextEdit
++
++ * Improved the look of the widget to fit in with the native style.
++
++ - QWidget
++
++ * All HIViewRefs inside Qt/Mac are created with the
++ kWindowStandardHandlerAttribute.
++
++ * Added the ability to wrap a native HIViewRef with create().
++
++ * Windows that have parents with the WindowStaysOnTopHint also get the
++ WindowStaysOnTopHint.
++
++
++ Windows
++ -------
++
++ - Ensured that widgets do not show themselves in a hover state if a popup
++ has focus.
++
++ - Fixed issues with rendering system icons on 16 bits-per-pixel displays.
++
++ - Fixed issue where fonts or colors would be reset on the application
++ whenever windows produced a WM_SETTINGSCHANGE event.
++
++ - Fixed a bug with Japanese input methods.
++
++ - Compile SQLite SQL plugin by default, as on all the other platforms.
++
++ - Fixed build issue when not using Precompiled Headers (PCH).
++
++ - Made Visual Studio compilers older than 2005 handle (NULL == p)
++ statements, where p is of QPointer type.
++
++ - Fixed HDC leak that could cause applications to slow down significantly.
++
++ - Ensured that timers with the same ID are not skipped if they go to different
++ HWNDs.
++
++ - Improved MIME data handling
++
++ * Resolved an issue related to drag and drop of attachments from some
++ applications.
++
++ * Resolved an issue where pasting HTML into some applications would
++ include parts of the clipboard header.
++
++ * Improved support for drag and drop of Unicode text.
++
++ * Made it possible to set an arbitrary hotspot on the drag cursor on
++ Windows 98/Me.
++
++ - ActiveQt
++
++ * Fixed issues with the compilation of code generated by dumpcpp.
++
++ * Made ActiveQt controls behave better when inserted into Office
++ applications.
++
++ * Ensured that slots and properties are generated for hidden functions and
++ classes.
++
++ * Ensured that the quitOnLastWindowClosed property is disabled when
++ QApplication runs an ActiveX server.
++
++ * Ensured that controls become active when the user clicks into a subwidget.
++
++ * Added support for CoClassAlias class information to give COM class a
++ different name than the C++ class.
++
++ - QAccessible
++
++ * Ensured that the application does not try to play a sound for
++ accessibility updates when no sound is registered.
++
++ - QAxBase
++
++ * Fixed potential issue with undefined types.
++
++ - QDir
++
++ * Fixed bug where exists() would return true for a non-existent drive
++ simply because the specified string used the correct syntax.
++
++ * Improved homePath() to work with Japanese user names.
++
++ - QFileDialog
++
++ * Added support for relative file paths in native dialogs.
++
++ * Enabled setLabelText() to allow context menu entries to be changed.
++
++ * Ensured that users are denied entry into directories where they
++ don't have execution permission.
++
++ * Disabled renaming and deleting actions for non-editable items.
++
++ * Added a message box asking the user to confirm when deleting files.
++
++ - QFileInfo
++
++ * Fixed absoluteFilePath() to return a path that begins with the
++ current drive label.
++
++ - QGLWidget
++
++ * Fixed usage of GL/WGL extension function pointers. They are now
++ correctly resolved within the context in which they are used.
++
++ - QGLColormap
++
++ * Fixed cases where the colormap was not applied correctly.
++
++ - QMenu
++
++ * Made it possible for popup menus to cover the task bar.
++
++ - QPrinter
++
++ * Added support for printers that do not have a DEVMODE.
++
++ * Fixed a drawing bug in the PDF generator on Windows 98/Me.
++
++ * Made it possible to programmatically change the number of copies
++ to be printed.
++
++ * Fixed possible crash when accessing non-existent printers.
++
++ - QProcess
++
++ * Fixed lock-up when writing data to a dead child process.
++
++ - QSettings
++
++ * Fixed bug causing byte arrays to be incorrectly stored on
++ Win95/98/Me.
++
++ * Allow keys to contain HKEY_CLASSES_ROOT and HKEY_USERS to allow all
++ registry keys to be read and prevent unintentional use of
++ HKEY_LOCAL_MACHINE.
++
++ * Fall back to the local machine handle if a key does not start with a
++ handle name.
++
++ - QUdpSocket
++
++ * Introduced fixes for UDP broadcasting on Windows.
++
++ - QWhatsThis
++
++ * Improved native appearance.
++
++ - QWidget
++
++ * Top-level widgets now respect the closestAcceptableSize of their
++ layouts.
++
++ * Ensured that getDC() always returns a valid HDC.
++
++ - QWindowsStyle
++
++ * We no longer draw splitter handles in Windows style. This resolves
++ an inconsistency with XP style, so that the two styles can use the
++ same layout interchangeably. Note that it is fully possible to style
++ splitter handles (if a custom style or handle is required) using
++ style sheets.
++
++ * Disabled comboboxes now have the same background color as disabled
++ line edits.
++
++ - QWindowsXPStyle
++
++ * Made QPushButton look more native when pressed.
++
++ * Improved the look of checked tool buttons.
++
++ * Defined several values that are not present in MinGW's header files.
++
++
++
++ ****************************************************************************
++ * Significant Documentation Changes *
++ ****************************************************************************
++
++
++ - Updated information about the mailing list to be used for porting issues
++ (qt-interest).
++
++ - Demos / Examples
++
++ * Added a new directory containing desktop examples and moved the
++ Screenshot example into it.
++
++ * Added a new Chat client network example which uses QUdpSocket to
++ broadcast on all QNetworkInterface's interfaces to discover its
++ peers.
++
++ * The Spreadsheet demo now uses the QItemDelegate, QCompleter, and
++ QDateTimeEdit with calendar popup.
++
++ * An OpenGL button is added to some of the demos to toggle usage of
++ the OpenGL paint engine.
++
++ * Fixed crash resulting from incorrect painter usage in the Image
++ Composition example
++
++
++
++ ****************************************************************************
++ * Tools *
++ ****************************************************************************
++
++
++ Assistant
++ ---------
++
++ - Middle clicking on links will open up new tabs.
++
++ - Added "Find as you type" feature to search documentation pages.
++
++ - Added "Sync with Table of Contents" feature to select the current page in
++ the contents.
++
++ - Fixed issue where activating a context menu over a link would cause the
++ link to be activated.
++
++ - Provides a default window title when not specified in a profile.
++
++ - Fixed JPEG viewing support for static builds.
++
++ - Fixed crash that could occur when opening Assistant with old and invalid
++ settings.
++
++ - Fixed display of Unicode text in the About dialog.
++
++
++ Designer
++ --------
++
++ - Added QWidget and the new widgets in this release to Designer's widget
++ box.
++
++ - Updated the dialog templates to use the new QDialogButtonBox class.
++
++ - Backup files created by Designer no longer overwrite existing files.
++
++ - Promoted widgets inherit the task menu items of the base class.
++
++ - Enums are no longer ordered alphabetically in the property editor.
++
++ - Fixed issue where shortcuts could be corrupted in certain situations.
++
++ - Line endings in .ui files now match the standard line endings for the
++ platform the files are created on.
++
++ - Ensured that a warning is displayed whenever duplicate connections are
++ made in the connections editor.
++
++ - Added shortcuts for the "Bring to Front" and "Send to Back" form editor
++ actions.
++
++ - Added new 22 x 22 icons.
++
++ - Fixed selection of dock widgets in loaded forms.
++
++ - Made QWidget::windowOpacity a designable property.
++
++ - Numerous improvements and fixes to the action and property editors.
++
++ - Windows only
++
++ * The default mode is Docked Window.
++
++ - Mac OS X only
++
++ * Preview of widgets is no longer modal.
++
++ * Passing really long relative paths into the resource will no longer
++ cause a crash.
++
++
++ Linguist
++ --------
++
++ - Added a new "Check for place markers" validation feature.
++
++ - Added the "Search And Translate" feature.
++
++ - Added the "Batch translation" feature.
++
++ - Added support for editing plural forms.
++
++ - Extended the .ts file format to support target language, plural forms,
++ source filename, and line numbers.
++
++ - Added the "Translated Form Preview" feature.
++
++ - Added placeholders for "hidden" whitespace (i.e., tabs and newlines) in
++ the translation editor.
++
++
++ lupdate
++ -------
++
++ - Added the -extensions command-line option in order to recursively scan
++ through a large set of files with the specified extensions.
++
++ - Made lupdate verbose by default (use -silent to obtain the old behavior).
++
++ - Improved parsing of project files.
++
++ - Fixed some issues related to parsing C++ source files.
++
++
++ lrelease
++ --------
++
++ - Made lrelease verbose by default (use -silent to obtain the old behavior).
++
++ - Disabled .qm file compression by default (pass -compress to obtain the old
++ behavior).
++
++
++ moc
++ ---
++
++ - Fixed support for enums and flags defined in classes that are themselves
++ declared in namespaces.
++
++ - Added support for the -version and -help command line options (for
++ consistency with the other tools).
++
++
++ rcc
++ ---
++
++ - Added support for the -binary option to generate resources that are
++ registered at run-time.
++
++
++ qmake
++ -----
++
++ - Added support for an Objective C compiler on platforms that support it via
++ OBJECTIVE_SOURCES. Additionally, Objective C precompiled headers are
++ generated as necessary.
++
++ - Added support for a qt.conf to allow easy changing of internal target
++ directories in qmake.
++
++ - Added support for the recursive switch (-r) in shadow builds.
++
++ - Introduced QMAKE_CFLAGS_STATIC_LIB to allow modified flags to be
++ passed to temporary files when compiling a static library.
++
++ - Added a target.targets for extra qmake INSTALLS. The $files() function
++ is now completely consistent with wildcard matching as specified to
++ input file variables.
++
++ - Added QMAKE_FUNC_* variables to EXTRA_COMPILERS for late evaluation
++ of paths to be calculated at generation time. $$fromfile() will no
++ longer parse input file multiple times.
++
++ - Added support for -F arguments in LIBS line in the Xcode generator.
++
++ - $$quote() has changed to only do an explicit quote, no escape sequences
++ are expanded. A new function $$escape_expand() has been added to allow
++ expansion of escape sequences: \n, \t, etc.
++
++ - Added a $$QMAKE_HOST variable to express host information about the
++ machine running qmake.
++
++ - Added a $$replace() function.
++
++ - Ensured that PWD is always consulted first when attempting to resolve an
++ include for dependency analysis.
++
++ - Added support for UTF-8 encoded text in .pro files.
++
++ - Variables $$_PRO_FILE_ and $$_PRO_FILE_PWD_ added for features to detect
++ where the .pro really lives.
++
++ - Added QMAKE_FRAMEWORK_VERSION to override the version inside a .framework,
++ though VERSION is still the default value.
++
++ - Added support for custom bundle types on Mac OS X.
++
++ - Added support for Mac OS X resources (.rsrc) in REZ_FILES.
++
++
++ qt3to4
++ ------
++
++ - qt3to4 now appends to the log file instead of overwriting it.
++
++ - Fixed one case where qt3to4 was inserting UNIX-style line endings on
++ Windows.
++
++ - Added the new Q3VGroupBox and Q3HGroupBox classes to ease porting.
++
++ - Updated the porting rules for this release.
++
++
++ uic
++ ---
++
++ - Added support for more variant types: QStringList, QRectF, QSizeF,
++ QPointF, QUrl, QChar, qlonglong, and qulonglong.
++
++ - Fixed code generated by uic for retranslating item view widgets so that
++ the widgets are not cleared when they are retranslated.
++
++ - Ensured that no code is generated to translate empty strings.
++
++
++ uic3
++ ----
++
++ - Added line numbers to warnings.
++
++ - Ensured that warnings show the objectName of the widget in question.
++
++ - Added support for word wrapping in labels when converting files from uic3
++ format.
++
++ - Ensured that the default layouts are respected when converting files from
++ uic3 format.
++
++ - Ensured that double type properties are handled correctly.