/dist/changes-4.2.0
https://bitbucket.org/ultra_iter/qt-vtl · Unknown · 2506 lines · 1477 code · 1029 blank · 0 comment · 0 complexity · 85fb797ec00de09b2627407e46a576fb MD5 · raw file
- 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.