1177 lines
44 KiB
Plaintext
1177 lines
44 KiB
Plaintext
|
Qt 4.6 introduces many new features and improvements as well as bugfixes
|
||
|
over the 4.5.x series. For more details, refer to the online documentation
|
||
|
included in this distribution. The documentation is also available online:
|
||
|
|
||
|
http://qt.nokia.com/doc/4.6
|
||
|
|
||
|
The Qt version 4.6 series is binary compatible with the 4.5.x series.
|
||
|
Applications compiled for 4.5 will continue to run with 4.6.
|
||
|
|
||
|
Some of the changes listed in this file include issue tracking numbers
|
||
|
corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task
|
||
|
Tracker, or the Merge Request queue of the public source repository.
|
||
|
|
||
|
Qt Bug Tracker: http://bugreports.qt.nokia.com
|
||
|
Task Tracker: http://qt.nokia.com/developer/task-tracker
|
||
|
Merge Request: http://qt.gitorious.org
|
||
|
|
||
|
****************************************************************************
|
||
|
* General *
|
||
|
****************************************************************************
|
||
|
|
||
|
New features
|
||
|
------------
|
||
|
|
||
|
- QState, QStateMachine
|
||
|
* New classes for state machine framework added to QtCore.
|
||
|
|
||
|
- QAbstractAnimation
|
||
|
* New animation framework added to QtCore
|
||
|
|
||
|
- QTouchEvent
|
||
|
* New class for handling multitouch events added to QtGui
|
||
|
|
||
|
- QGesture, QGestureRecognizer
|
||
|
* New gesture framework added to QtGui
|
||
|
|
||
|
- QMatrix4x4, QGenericMatrix, QVector2D, QVector3D, QVector4D, QQuaternion
|
||
|
* New classes to support 3D applications.
|
||
|
|
||
|
- QGLShaderProgram, QGLShader
|
||
|
* New classes for using shader programs written in the GL Shading Language.
|
||
|
|
||
|
- QGraphicsEffect
|
||
|
* New classes for applying graphics effects to graphics items and widgets.
|
||
|
|
||
|
- QWebElement
|
||
|
* New class for DOM access added to QtWebKit
|
||
|
|
||
|
- QAudioInput, QAudioOutput
|
||
|
* New audio input and output classes.
|
||
|
|
||
|
- QAbstractVideoSurface, QVideoFrame
|
||
|
* New abstract video output classes.
|
||
|
|
||
|
- OpenVG graphics system added.
|
||
|
|
||
|
- Added 800x480 screen mode to qvfb configuration dialog.
|
||
|
|
||
|
- Improved support for input methods in graphics view.
|
||
|
|
||
|
- [MR#1742] Added new multimedia keys to the Qt::Key enum.
|
||
|
|
||
|
- Boxes demo ported to use new 3D math and shader program classes.
|
||
|
|
||
|
- QtTest now supports outputting XUnit XML documents, for integrating
|
||
|
with existing continuous integration systems. This is enabled by
|
||
|
running the test program with the -xunitxml option.
|
||
|
|
||
|
- QtDBus
|
||
|
* The minimum required version of the D-Bus reference library is
|
||
|
now 0.93.
|
||
|
* Support for reading and writing of custom property types added.
|
||
|
* Support for getting return arguments in remote method invocation
|
||
|
via QMetaMethod::invokeMethod.
|
||
|
|
||
|
- The QtScript module is now based on the 3rdparty JavaScriptCore library. It
|
||
|
is only available under the LGPL or a compatible license.
|
||
|
|
||
|
Optimizations
|
||
|
-------------
|
||
|
|
||
|
- Optimized rendering strategy in QGraphicsView
|
||
|
* See list of Important Behavior Changes below
|
||
|
|
||
|
- Improved delivery of posted events on Windows
|
||
|
|
||
|
|
||
|
****************************************************************************
|
||
|
* Library *
|
||
|
****************************************************************************
|
||
|
|
||
|
QtCore
|
||
|
------
|
||
|
- QAbstractItemModel
|
||
|
* [MR#972] Added API to move items
|
||
|
* [MR#1072] Added function beginResetModel() / endResetModel()
|
||
|
|
||
|
|
||
|
- QByteArray
|
||
|
* New overloads for QByteArray::insert() and QByteArray::prepend().
|
||
|
* [MR#1286] Added value_type typedef for STL compatibility
|
||
|
|
||
|
- QEventDispatcherGlib (internal class)
|
||
|
* Fix a regression introduced in 4.5.3 that would cause timers to not
|
||
|
be delivered.
|
||
|
|
||
|
- QEventDispatcherUNIX (internal class)
|
||
|
* Improve detection of monotonic clock support to include
|
||
|
non-POSIX.1-2001 compliant systems.
|
||
|
* [250681] Fix time change detection on UNIX systems without monotonic
|
||
|
timers.
|
||
|
|
||
|
- QEventDispatcherWin32 (internal class)
|
||
|
* Changed the threshold for using multimedia timers to 20ms (was 10ms).
|
||
|
* Changed the way Qt's posted events are sent by the event
|
||
|
dispatcher. They are now driven on top of a Windows message
|
||
|
instead of an explicit call in processEvents(). This means that
|
||
|
posted events are sent even when a Windows modal message loop is
|
||
|
running (for example, when the user is moving a window or when a
|
||
|
native modal dialog is visible).
|
||
|
* Fixed a bug that would allow the same timer id to be used by multiple
|
||
|
QTimer instances.
|
||
|
|
||
|
- QFile
|
||
|
* Make QFile::resize() more robust when operating on buffered files.
|
||
|
|
||
|
- QObject
|
||
|
* [259514] fixed a possible dead-lock in the destructor.
|
||
|
* Added the possibility to pass the flag Qt::UniqueConnection to
|
||
|
QObject::connect.
|
||
|
* Fixed race conditions that occured when moving object to threads
|
||
|
while connecting.
|
||
|
|
||
|
- QPluginLoader
|
||
|
* Improved performance of plugin loading by reusing the plugin cache
|
||
|
instead of loading it every time.
|
||
|
|
||
|
- QProcessEnvironment
|
||
|
* New class; support for easy access to key/value pairs in the process
|
||
|
environment.
|
||
|
|
||
|
- QRegExp
|
||
|
* New pattern syntax "QRegExp::WildcardUnix" with wildcard character
|
||
|
escaping.
|
||
|
|
||
|
- QScopedPointer
|
||
|
* New pointer class for cleaning up objects when leaving the current
|
||
|
scope.
|
||
|
|
||
|
- QSharedPointer
|
||
|
* Added support for creating the object along with the internal private
|
||
|
data in one single memory allocation. (QSharedPointer::create)
|
||
|
* Fixed a bug where, in a race condition, QSharedPointer could track a
|
||
|
pointer that was being deleted.
|
||
|
|
||
|
- QTextCodec
|
||
|
* Instantiate the CP949 codec when building with -no-iconv.
|
||
|
|
||
|
- QTextStream
|
||
|
* [221316] Fixed crash on large input.
|
||
|
* Improved reading utf8/utf16/utf32 data by correctly skipping the
|
||
|
ByteOrderMark when reading data by one character at a time.
|
||
|
|
||
|
- QThread
|
||
|
* [249997] Document that QThread priority has no effect on Linux.
|
||
|
|
||
|
- QUrl
|
||
|
* Made QUrl hostname parser a lot stricter, requiring compliance
|
||
|
to STD3 to validate, thus preventing invalid hostnames from
|
||
|
being accepted. See below in "Important Behavior Changes".
|
||
|
|
||
|
- QUuid
|
||
|
* [QTBUG-3543] Fixed a bug in createUuid() which caused multiple
|
||
|
threads to generate the identical UUID sequences.
|
||
|
|
||
|
- QVariant
|
||
|
* Many optimisations.
|
||
|
* Added QVariant::toFloat() and QVariant::toReal().
|
||
|
* Added QVariant(float) constructor.
|
||
|
* qvariant_cast<QVariant> and QVariant::fromValue<QVariant> are now
|
||
|
identity functions.
|
||
|
* Added support for math3d types.
|
||
|
|
||
|
- QWeakPointer
|
||
|
* Added support for tracking QObject-derived classes that aren't
|
||
|
attached to a QSharedPointer.
|
||
|
* Added QWeakPointer::data which allows you to obtain the pointer
|
||
|
being tracked (without protection).
|
||
|
* Added operator-> like the above data(), but requires a #define.
|
||
|
|
||
|
- QXmlStreamWriter
|
||
|
* [256468] Fixed comment indentation.
|
||
|
|
||
|
QtGui
|
||
|
-----
|
||
|
|
||
|
- Qt::escape
|
||
|
* Now escape the double quote (").
|
||
|
|
||
|
- QAbstractItemView
|
||
|
* [256502] Fixes selectionModel::hasSelection return value after
|
||
|
model::reset.
|
||
|
* [MR#1426] Fixes some issues with Shift-selection
|
||
|
* [MR#1668] New QAbstractItemView::setDefaultDropAction
|
||
|
|
||
|
- QApplication
|
||
|
* [QTBUG-739] Removed internal widgets from QApplication::topLevelWidgets().
|
||
|
|
||
|
- QCalendarWidget
|
||
|
* [252943] QCalendarWidget::setDateTextFormat() reset the format if the
|
||
|
date is invalid.
|
||
|
|
||
|
- QColumnView
|
||
|
* [246999] Fixed view not updating when the model changed dynamically.
|
||
|
|
||
|
- QComboBox
|
||
|
* [220195] Fixed keyboard search when current index is -1.
|
||
|
|
||
|
- QCompleter
|
||
|
* [246056] Fixed a possible assertion when setting the completer prefix.
|
||
|
|
||
|
- QEvent
|
||
|
* Introduced RequestSoftwareInputPanel and CloseSoftwareInputPanel events.
|
||
|
|
||
|
- QFontDialog
|
||
|
* [256466] Fixed the dialog not always returning the selected style.
|
||
|
|
||
|
- QFontEngine
|
||
|
* [QTBUG-2354] Support certain 'Microsoft' platform symbol fonts which
|
||
|
also contain a regular unicode table for exactly the symbol range of
|
||
|
code points.
|
||
|
|
||
|
- QFontEngineQPF
|
||
|
* Make alphaMapForGlyph() generate the correct color table for
|
||
|
Indexed8 and Mono glyph images. Fixed the "all glyphs are white
|
||
|
boxes" problem in OpenGL1 paint engine.
|
||
|
|
||
|
- QFontMetrics
|
||
|
* [176401] Account for right bearing in bounding rect.
|
||
|
|
||
|
- QGraphicsAnchorLayout
|
||
|
* Support for expanding size policy has been removed. (The Qt 4.6 Beta
|
||
|
had support for it).
|
||
|
|
||
|
- QGraphicsBlurEffect
|
||
|
* Since the 4.6 Beta, Qt::RenderHint has been moved to
|
||
|
QGraphicsBlurEffect::BlurHint.
|
||
|
* Input contexts are not activated for disabled widgets anymore.
|
||
|
* [250555] Data copied from Mozilla Firefox can now be pasted correctly to
|
||
|
a Qt application.
|
||
|
|
||
|
- QGraphicsItem
|
||
|
* Many optimizations.
|
||
|
* Fixed bug and improved accuracy of QGraphicsItem::childrenBoundingRect().
|
||
|
* Introduced QGraphicsItem::ItemHasNoContents.
|
||
|
* Introduced QGraphicsItem::ItemSendsGeometryChanges (see Behavioral
|
||
|
Changes).
|
||
|
* Introduced QGraphicsItem::focusProxy(), focus proxy support.
|
||
|
* Introduced QGraphicsItem::ItemNegativeZStacksBehindParent.
|
||
|
* Introduced QGraphicsItem::ItemIsPanel, light-weight window support.
|
||
|
* Introduced modality support for QGraphicsItem panels.
|
||
|
* Introduced activation support.
|
||
|
* Introduced QGraphicsItem::stackBefore().
|
||
|
* Cached items are now always invalidated when update() is called.
|
||
|
* Added input hints.
|
||
|
* Added a new set of properties to set a transformation on an item.
|
||
|
|
||
|
- QGraphicsLayout
|
||
|
* Introduced QGraphicsLayout::addChildLayoutItem().
|
||
|
|
||
|
- QGraphicsObject
|
||
|
* New class; inherits QGraphicsItem and adds notification signals and
|
||
|
property declarations.
|
||
|
|
||
|
- QGraphicsProxyWidget
|
||
|
* [251407] Fixed window flag handling. Now QGraphicsProxyWidget's flags
|
||
|
win.
|
||
|
* Fix Qt::ClickFocus policy.
|
||
|
|
||
|
- QGraphicsScene
|
||
|
* Many optimizations.
|
||
|
* [245317] Fixes to mouse grabbing behavior.
|
||
|
* Fixed delivery of double-click events after explicit grab and then ungrab.
|
||
|
* Rewrote the internal rendering to use a recursive instead of an iterative
|
||
|
approach.
|
||
|
* Ensure hover enter events are delivered when an item is pressed.
|
||
|
* Introduced activation support.
|
||
|
* Fixed bugs in initial focus support.
|
||
|
|
||
|
- QGraphicsTextItem
|
||
|
* Now inherits from QGraphicsObject instead.
|
||
|
|
||
|
- QGraphicsTransform
|
||
|
* New class; eases animation of transformations for QGraphicsItem.
|
||
|
|
||
|
- QGraphicsView
|
||
|
* Many optimizations.
|
||
|
* Fix mapToScene(QRect) to avoid extra unnecessary adjustments.
|
||
|
* Introduced QGraphicsView::isTransformed().
|
||
|
* [QTBUG-4151] Items with parent that sets ItemClipsChildrenToShape were
|
||
|
sometimes invisible.
|
||
|
|
||
|
- QGraphicsWidget
|
||
|
* Now inherits from QGraphicsObject instead.
|
||
|
* Interactive resizing of top level windows now respects height-for-width
|
||
|
constraints.
|
||
|
* Reduced memory footprint.
|
||
|
|
||
|
- QHeaderView
|
||
|
* [208320] Make sure the sort indicator is taken into account for the size
|
||
|
hint.
|
||
|
* [255574] Make sure the size hint for the section depends on visible
|
||
|
sections.
|
||
|
|
||
|
- QImageReader
|
||
|
* [255627] Fix floating point exception in
|
||
|
QImageReader::setScaledSize(QSize(0, 0)).
|
||
|
|
||
|
- QLineEdit
|
||
|
* [248948] Clear selection when redoing a delete operation.
|
||
|
* [QTBUG-5261] Fixed bug where erasing characters from a textedit did not
|
||
|
update the text.
|
||
|
|
||
|
- QListView
|
||
|
* [243335] Fixed the visualRect to return correct values when the widget is
|
||
|
not yet shown.
|
||
|
* [MR#666] Fixed selection with Shift-Arrow/Shift-Click in QListView's IconMode
|
||
|
|
||
|
- QMainWindow
|
||
|
* [226060] Adding actions to a toolbar would always make the next toolbar
|
||
|
move.
|
||
|
|
||
|
- QMenu
|
||
|
* [252610] Fixed position of the shortcut text while setting a stylesheet
|
||
|
on menu items
|
||
|
|
||
|
- QMenuBar
|
||
|
* [260873] Fix mouse interaction while undocking a widget from the main
|
||
|
window
|
||
|
* Dock areas didn't get a splitter if their dock widgets were not
|
||
|
resizable.
|
||
|
|
||
|
- QPaintDevice
|
||
|
* New qt_paint_device_metric() function to replace the friend declarations
|
||
|
for window surface classes that need to access metric().
|
||
|
|
||
|
- QPainter
|
||
|
* [QTBUG-1666] Made QPainter::drawText() respect Qt::TextDontClip flag
|
||
|
also in vertical direction.
|
||
|
* [254658] Improved clipping performance in OpenGL paint engine.
|
||
|
|
||
|
- QPainterPath
|
||
|
* [QTBUG-1537] Fixed bug where the points of a rounded rectangle were added
|
||
|
in counter-clockwise order instead of clockwise order like other shapes.
|
||
|
|
||
|
- QPen
|
||
|
* [QTBUG-2738] Made QPen::setDashOffset() work with non-custom dashed lines.
|
||
|
|
||
|
- QPixmap
|
||
|
* Optimized width(), height(), isNull() and depth().
|
||
|
* [QTBUG-2832] Fixed bug where calling fill on pixmap with active painter
|
||
|
could crash.
|
||
|
|
||
|
- QPlainTextEdit
|
||
|
* Fixed crash when clicking on a text edit which was smaller than the
|
||
|
height of the font used.
|
||
|
|
||
|
- QPlastiqueStyle
|
||
|
* [QTBUG-3555] Fixed a bug in the Plastique style that would cause an
|
||
|
ASSERT failure in QFont when the application font has a pixel size set.
|
||
|
|
||
|
- QPrinter
|
||
|
* [QTBUG-4497] Removed redundant SetPen command in the postscript code when
|
||
|
reusing a QPrinter object.
|
||
|
|
||
|
- QPrintPreviewDialog now uses a QMainWindow with a proper QToolBar, instead
|
||
|
of a plain layout.
|
||
|
|
||
|
- QPushButton
|
||
|
* [255581] Fixed sizeHint recalculation bug.
|
||
|
|
||
|
- QRasterPaintEngine
|
||
|
* [QTBUG-4210] Fixed bug where bitmaps were painted black instead of in pen
|
||
|
colour.
|
||
|
|
||
|
- QRegion
|
||
|
* Minor optimizations.
|
||
|
|
||
|
- QSortFilterProxyModel
|
||
|
* [251296] Fixed bugs in which filtered items could not be filtered.
|
||
|
|
||
|
- QSplitter
|
||
|
* [206494] Added ability to style pressed slider with stylesheet.
|
||
|
|
||
|
- QSpinBox
|
||
|
* [259226] Fixed setting a stylesheet on a QSpinBox to change the arrow
|
||
|
position.
|
||
|
* [255051] Fixed sizeHint update bug.
|
||
|
|
||
|
- QStandardItemModel
|
||
|
* [255652] Fixed crash while using takeRow with a QSortFilterProxyModel.
|
||
|
|
||
|
- QStroker
|
||
|
* [QTBUG-5212] Fixed bug where thick strokes around small shapes could
|
||
|
cause holes in the stroke.
|
||
|
|
||
|
- QTabBar
|
||
|
* [196326] Fixed having a stylesheet on a QTabBar resulted in some tab
|
||
|
names being slightly clipped.
|
||
|
* [241383] Added ability to style the close tab button with style sheet
|
||
|
|
||
|
- QTableView
|
||
|
* [191545] Selections work more similarly to well-known spreadsheets.
|
||
|
* [234926] Fixed sorting after changing QTableView header.
|
||
|
* [244651] [245327] [250193] [QTBUG-5062] Spans get plenty of love with
|
||
|
performance improvements, support for row/column insertioa and removal,
|
||
|
and better keyboard navigation.
|
||
|
|
||
|
- QTableWidget
|
||
|
* [234641] Fixed takeItem to cause the view to be updated.
|
||
|
|
||
|
- QTextDocument
|
||
|
* [207189] Support setting font size using short hand syntax in the
|
||
|
CSS "font" property.
|
||
|
* [201228] Remove implicit margin on bullet lists when exporting to HTML.
|
||
|
* [240086] Fixed bug which caused floating objects which span several
|
||
|
pages to float into the second page of the document even when it's
|
||
|
the only existing object, causing the document to contain a blank
|
||
|
first page.
|
||
|
* [240325] Even with wrap mode set to Qt::TextWordWrap, the layout
|
||
|
would sometimes break outside word boundaries when floating objects
|
||
|
affected the width available to the text.
|
||
|
* [MR#681] Added support for roman numbering for lists
|
||
|
* [MR#1753] Fixed escaping HTML attributes QTextDocument::toHtml()
|
||
|
|
||
|
|
||
|
- QTextLayout
|
||
|
* [QTBUG-4468] Count tabs as multiple characters when applying a fixed
|
||
|
column width.
|
||
|
* [176401] Take into account the negative right bearing of the last
|
||
|
character in an item of text if the glyph extends beyond its ascent.
|
||
|
|
||
|
- QToolTip
|
||
|
* Fixed a bug where tooltips were not shown in popups (Windows only).
|
||
|
|
||
|
- QTreeView
|
||
|
* [234930] Be able to use :has-children and :has-sibillings in a stylesheet.
|
||
|
* [252616] Set QStyleOptionViewItemV4::OnlyOne flag when painting spanning
|
||
|
columns.
|
||
|
* [245654] Fixed expandAll when deleting and recreating a mode for the tree.
|
||
|
* [239271] Fixed missing update when adding a row when the first column is
|
||
|
hidden.
|
||
|
* [258225] Fixed scrollTo with center and bottom.
|
||
|
|
||
|
- QTreeWidget
|
||
|
* [253109] Shows the widget when calling setItemWidget.
|
||
|
* [MR#1393] Use stable sorting.
|
||
|
|
||
|
- QWidget
|
||
|
* Added inputMethodHints property.
|
||
|
* [201649] Added QWidget::previousInFocusChain.
|
||
|
* [254563] Fixed a crash when setting focus in a widget tree that
|
||
|
contains invisible widgets.
|
||
|
* [QTBUG-5012] Fixed uninitialized background when using QWidget::render
|
||
|
with Qt::WA_NoSystemBackground and window opacity set.
|
||
|
|
||
|
QtDBus
|
||
|
------
|
||
|
|
||
|
- QDBusConnection
|
||
|
* Made sending of invalid/incomplete messages consistently fail with error
|
||
|
(no more assertions).
|
||
|
* [249528/QTBUG-3833] Added an overload of connect() that allows one to
|
||
|
specify strings for matching arguments.
|
||
|
|
||
|
- QDBusServiceWatcher
|
||
|
* New class; supports efficiently watching for a service to be created,
|
||
|
deleted or to change owners.
|
||
|
|
||
|
QtNetwork
|
||
|
---------
|
||
|
|
||
|
- QAbstractSocket
|
||
|
* Only disconnect from host when all bytes have been written.
|
||
|
* New setSocketOption method.
|
||
|
|
||
|
- QHttp
|
||
|
* Do not buffer the complete POST data anymore when HTTPS is used.
|
||
|
* QHttp is now obsolete and replaced by QNetworkAccessManager.
|
||
|
|
||
|
- QLocalServer
|
||
|
* Fix timeout when waiting for a connection on Unix.
|
||
|
|
||
|
- QNativeSocketEngine
|
||
|
* Do not set the OS socket send and receive buffer size. The OS
|
||
|
should auto tune these values for us.
|
||
|
|
||
|
- QNetworkAcessManager
|
||
|
* [242916] Add possibility to send HTTP DELETE requests.
|
||
|
* Connection count per HTTP server increased to 6 on Desktop, 3 on Symbian.
|
||
|
* Optional HTTP pipelining support.
|
||
|
* General HTTP performance improvements.
|
||
|
|
||
|
- QNetworkReply
|
||
|
* [257322] Add possibility to ignore specific SSL errors.
|
||
|
* New isFinished() method.
|
||
|
|
||
|
- QSslCertificate
|
||
|
* [251830] Fix version() and serialNumber() methods.
|
||
|
|
||
|
- QSslSocket
|
||
|
* [257322] Add possibility to ignore specific SSL errors.
|
||
|
* Fix build with openssl 1.0.0 betas.
|
||
|
* Trigger a SSL transmission when reading from the socket. In certain
|
||
|
cases the connection stalled when a buffer limit was used.
|
||
|
|
||
|
QtOpenGL
|
||
|
--------
|
||
|
|
||
|
- QGLColormap
|
||
|
* setEntry() was inserting entries instead of replacing them.
|
||
|
* Clarified documentation for isEmpty().
|
||
|
|
||
|
- QGLContext
|
||
|
* Fix RGB565 mode in bindTexture().
|
||
|
* Map mipmaps work on OpenGL/ES 2.0 systems in bindTexture().
|
||
|
* Improve performance of QGLContext::currentContext().
|
||
|
|
||
|
- QGLFormat
|
||
|
* Increase unit test coverage and fix some long-standing issues.
|
||
|
* Improve performance of code that tests QGLFormat options.
|
||
|
* operator==() now tests for equality on all fields.
|
||
|
|
||
|
- QGLFramebufferObject
|
||
|
* Add support for the ARB_framebuffer_object, OES_framebuffer_object,
|
||
|
and OES_packed_depth_stencil extensions.
|
||
|
* Unbind the texture after it is initialized.
|
||
|
* Don't destroy the texture target on cleanup if one wasn't created.
|
||
|
|
||
|
- QGLFramebufferObjectFormat
|
||
|
* New class for controlling fbo options.
|
||
|
|
||
|
- Improvements to context sharing and object cleanup logic.
|
||
|
|
||
|
- QGLGradientCache
|
||
|
* [249919] Clean up the gradient cache in the right context.
|
||
|
|
||
|
- OpenGL (ES) 2.0 Paint Engine
|
||
|
* Re-written the OpenGL (ES) 2.0 Paint Engine's shader manager to use new
|
||
|
shader API and to allow custom code from E.g. Pixmap Filters to be
|
||
|
instered into the fragment "pipeline".
|
||
|
* Fixed conical gradients.
|
||
|
|
||
|
- Added a static function, QGL::setPreferredPaintEngine(), to allow users
|
||
|
to set the preferred GL paint engine.
|
||
|
|
||
|
- Cleaned up usage of OpenGL extensions. QtOpenGL now uses the OpenGL 2.0
|
||
|
names of methods rather than using the EXT postfix. However, when resolving
|
||
|
extensions, QtOpenGL will also try postfixing EXT if the OpenGL 2.0 name is
|
||
|
not found.
|
||
|
|
||
|
- Fix QGLWidget::showFullscreen() on EGL platforms.
|
||
|
|
||
|
- Added lots of OpenGL autotests.
|
||
|
|
||
|
QtScript
|
||
|
--------
|
||
|
|
||
|
- Many optimizations.
|
||
|
- Improved ECMA script compliance.
|
||
|
- New method, QScriptString::toArrayIndex(), for converting QScriptString
|
||
|
to a QtScript array index.
|
||
|
|
||
|
QtSql
|
||
|
-----
|
||
|
|
||
|
- [QTBUG-3162] Views for Sql table models should not reset state on failed
|
||
|
queries.
|
||
|
- [QTBUG-5251] Fix retrieval of SQL 'TIME' information for PostgreSQL.
|
||
|
- Better error checking in case of failed query.
|
||
|
- [QTBUG-5179] Fixed floating point number truncation in qsqlpsql plugin.
|
||
|
- [QTBUG-551] Fixed Oracle batchExec using strings as out params.
|
||
|
- Updated sqlite to 3.6.19 + readded our patches.
|
||
|
- [QTBUG-3736] ODBC: Retrieved in ascii, should be stored in ascii.
|
||
|
- Fixed issue with multiple lookups to same table/field in
|
||
|
QSqlRelationalTableModel.
|
||
|
- Updated documentation of setForwardOnly.
|
||
|
- [QT-754] TDS: Fixed improper formatting of date values.
|
||
|
- TDS: Fixed missing field/table name escaping.
|
||
|
- ODBC: Fixed setForwardOnly not being reset on when the query is reset.
|
||
|
- [QTBUG-4510] Add reconnection option to the mysql driver.
|
||
|
- [222678] Fixed QSqlTableModel: trying to delete the wrong row.
|
||
|
- Interbase: Fixed crash when calling numRows on unknown query type.
|
||
|
- DB2: Don't return an error when the table is just empty.
|
||
|
- [17327] Added OCI support for synonyms to tables created by another user.
|
||
|
- [176267] Fixed mysql driver not knowing the difference between tables and
|
||
|
views.
|
||
|
- Fixed determination of end of ODBC string on deficient drivers.
|
||
|
- Added ability to open sqlite databases readonly.
|
||
|
- Fixed race condition on reopening an ODBC connection.
|
||
|
- Fixed invalid use of statics in the defaultCasing code.
|
||
|
- Fixed proper quoting under odbc.
|
||
|
- [252450 & 246125] Fixed failed queries due to MySql driver auto-preparing.
|
||
|
- QSqlDatabase now has a database level precisionPolicy. Queries now default
|
||
|
to this.
|
||
|
- Add proper iODBC linking support.
|
||
|
|
||
|
QtSvg
|
||
|
-----
|
||
|
|
||
|
- QSvgHandler
|
||
|
* [245602] [204686] Fixed gradient and solid-color referencing.
|
||
|
* [202426] Made attribute inheritance work with 'use' tags.
|
||
|
* [250618] Fixed gradient on strokes.
|
||
|
* [254040] Added support for 'vector-effect'.
|
||
|
|
||
|
- QSvgPaintEngine
|
||
|
* [257052] Changed drawImage() to ignore aspect ratio.
|
||
|
|
||
|
QtWebKit
|
||
|
--------
|
||
|
|
||
|
- Many bug fixes.
|
||
|
|
||
|
- QWebElement
|
||
|
* New class; introduced to implement DOM like operations on a web page.
|
||
|
|
||
|
- QWebFrame
|
||
|
* New properties for an URL and a focus management.
|
||
|
* New signals delivering current loading status.
|
||
|
|
||
|
- QWebInspector
|
||
|
* New class for embedding the WebInspector as a QWidget
|
||
|
|
||
|
- QWebHistory
|
||
|
* Streaming operators for saving and restoring QWebHistory's state.
|
||
|
|
||
|
- QWebPage
|
||
|
* New property; preferredContentsSize for setting layout of the page in the
|
||
|
viewport.
|
||
|
* New slot; shouldInterruptJavaScript, called when JavaScript program is
|
||
|
running too long.
|
||
|
|
||
|
- QWebSecurityOrigin:
|
||
|
* New functions for defining local URL schemes.
|
||
|
|
||
|
- QWebSettings
|
||
|
* New options for text encoding and off-line web application cache (HTML5).
|
||
|
|
||
|
- QWebView
|
||
|
* Support for render hints.
|
||
|
|
||
|
QtXml
|
||
|
-----
|
||
|
|
||
|
- QDomDocument
|
||
|
* Set the codec to UTF-8 if codec not present or unknown.
|
||
|
|
||
|
QtXmlPatterns
|
||
|
-------------
|
||
|
|
||
|
- QXmlQuery
|
||
|
* [245219] Added QXmlQuery::setFocus(const QString &focus).
|
||
|
|
||
|
Qt Plugins
|
||
|
----------
|
||
|
|
||
|
- Tiff plugin
|
||
|
* [258526] Rotate the image if the tiff file contains an orientation tag.
|
||
|
* [254317] Add support for mono and indexed format
|
||
|
|
||
|
Third party components
|
||
|
----------------------
|
||
|
|
||
|
- Updated FreeType to version 2.3.9.
|
||
|
|
||
|
- Updated harfbuzz to the latest version from fd.org.
|
||
|
|
||
|
- Updated sqlite to version 3.6.19.
|
||
|
|
||
|
- Updated libpng to version 1.2.40
|
||
|
|
||
|
|
||
|
****************************************************************************
|
||
|
* Platform Specific Changes *
|
||
|
****************************************************************************
|
||
|
|
||
|
- Added support for the Symbian platform with integration for the S60
|
||
|
framework.
|
||
|
|
||
|
- Added community supported Qt ports for QNX and VxWorks. See platform
|
||
|
notes in the Qt documentation for details.
|
||
|
|
||
|
- Improved support for AIX using IBM's Visual Age C/C++ compiler
|
||
|
version 7 (xlC).
|
||
|
|
||
|
- Improved support for Solaris using Sun Studio 12 (CC 5.9).
|
||
|
|
||
|
Qt for Unix (X11 and Mac OS X)
|
||
|
------------------------------
|
||
|
|
||
|
- Added support for thread-safe FD_CLOEXEC file-descriptor creation
|
||
|
where supported by the operating system (currently only Linux).
|
||
|
|
||
|
- Ensured that system calls where EINTR is a possible result are
|
||
|
properly restarted.
|
||
|
|
||
|
Qt for Linux/X11
|
||
|
----------------
|
||
|
|
||
|
- KDE Integration: Improved the integration into KDE desktop (loading of KDE
|
||
|
palette, usage of KColorDialog and KFileDialog) using the GuiPlatformPlugin
|
||
|
|
||
|
- Fixed pasting the clipboard content to non-Qt application on X11 when the
|
||
|
requested format is image/ppm.
|
||
|
|
||
|
- On X11, Qt now supports the _NET_WM_SYNC protocol.
|
||
|
|
||
|
- On X11, Qt now supports the SAVE_TARGET protocol that allows to keep
|
||
|
clipboard contents if the application that owns the clipboards exits
|
||
|
|
||
|
- [QTBUG-4652] On X11, clipboard content can be properly retrieved even when
|
||
|
an application asks for the unsupported target. This fixes copying and
|
||
|
pasting data when using Synergy.
|
||
|
|
||
|
- [MR#797] Fixed a crash when using QX11EmbedContainer/Widget on x86_64.
|
||
|
|
||
|
- [MR#1111] Emit workAreaResized when _NET_WORKAREA is changed on X11.
|
||
|
|
||
|
- [QTBUG-3620] Fixed bug on X11 that caused bitmap fonts to become so small
|
||
|
it was unreadable when printed or presented in a print preview widget.
|
||
|
|
||
|
- Improved EGL integration on X11 (including better visual selection).
|
||
|
|
||
|
- Made Qt::WA_TranslucentBackground work in combination with native
|
||
|
child widgets.
|
||
|
|
||
|
- Support Qt::WA_TranslucentBackground on top-level QGLWidgets on X11, both
|
||
|
(EGL & glX). This allows OpenGL (& ES) rendering to semi-transparent widgets
|
||
|
if a compositing window manager is running.
|
||
|
|
||
|
- Support OpenGL texture_from_pixmap extension on X11 (EGL & glX) when
|
||
|
calling QPainter::drawPixmap() with the OpenGL paint engine, or calling
|
||
|
QGLContext::bindTexture() on an X11 QPixmap. If the
|
||
|
GLX_EXT_texture_from_pixmap or EGL_NOKIA_texture_from_pixmap extensions are
|
||
|
present, Qt will attempt to use glXBindTexImageEXT or eglBindTexImage to
|
||
|
bind the pixmap to a texture, rather than copying the pixel data.
|
||
|
|
||
|
- Add new experimental QX11GLPixmapData backend for QPixmap. This pixmap
|
||
|
backend uses regular X11 pixmaps to store the image data, however it uses
|
||
|
OpenGL to render into them.
|
||
|
|
||
|
- Tablet: Disable event compression of events of type QTabletEvent when the
|
||
|
current event is accepted by the receiver.
|
||
|
|
||
|
- [QTBUG-4242] Fixed a bug that allowed the user to close a window
|
||
|
event though the program is using the QEventLoop::ExcludeUserInputEvents
|
||
|
flag.
|
||
|
|
||
|
- [255559] Fixed generation of XdndLeave events to include the correct
|
||
|
source id.
|
||
|
|
||
|
- [258319] Avoid division by zero on some Xlib/Xserver implementations.
|
||
|
|
||
|
- Fixed the default QWidget size on X servers with Xinerama to give widgets
|
||
|
a default size that should fit on a single screen.
|
||
|
|
||
|
- Support _NET_WORKAREA on X servers with Xinerama (previously this property
|
||
|
was ignored).
|
||
|
|
||
|
Qt for Windows
|
||
|
--------------
|
||
|
|
||
|
- Significant external contribution from Milan Burda for planned removal
|
||
|
of (non-unicode) Windows 9x/ME support.
|
||
|
|
||
|
- QRegion is no longer a GDI object by default. This means it is no
|
||
|
longer subject to gui-thread only nor does it potentially impact
|
||
|
the 10.000 GDI object limit per process. By explicitly calling
|
||
|
.handle() a GDI object will be created and memory managed by
|
||
|
QRegion. The native handle is for reading out only. Any GDI calls
|
||
|
made on the HRGN handle will not affect the QRegion.
|
||
|
|
||
|
- The reading code of QLocalSocket on Windows has been rewritten to improve
|
||
|
reading performance.
|
||
|
|
||
|
- On Windows when a file cannot be accessed (stat()ed), we are now restoring
|
||
|
the error mode to the original value.
|
||
|
|
||
|
- [259221] QFileInfo::symLinkTarget() now supports NTFS symbolic links
|
||
|
thanks to Konstantin Ritt (merge request 1217).
|
||
|
- [251554] Fixed openUrl("mailto:") with Thunderbird on Windows.
|
||
|
- [254501] QDestopServices now supports cyrillic file names.
|
||
|
- Fixed an issue which prevents moving fixed size windows using titlebar.
|
||
|
- [258087] Fixed an issue on Vista which returns incorrect file paths when
|
||
|
using QFileDialog::getOpenFileNames()
|
||
|
- [253763] Fixed a focus issue when using out-of-process ActiveQt controls.
|
||
|
- [255912] Mouse move events will not be delivered to a blocked widget.
|
||
|
- [225588] Enabled IME reconversion support.
|
||
|
|
||
|
- Phonon on Windows
|
||
|
* Now much more reliable when reading a file through a QIODevice.
|
||
|
* If Video Mixing Renderer 9 is not available, falls back to software
|
||
|
rendering.
|
||
|
* Fixed a flicker issue when switching source with a transition time of 0.
|
||
|
|
||
|
- [QTBUG-4445] Fixed bug on Windows that caused problems when printing
|
||
|
text where several characters were represented by a single glyph, e.g.
|
||
|
a double 't' with the Calibri font.
|
||
|
|
||
|
- Added QSysInfo::WV_WINDOWS7 and QSysInfo::WV_6_1.
|
||
|
|
||
|
- Changed QPrintDialog under Windows to use PrintDlgEx, instead of the old
|
||
|
deprecated PrintDlg call.
|
||
|
|
||
|
Qt for Mac OS X
|
||
|
---------------
|
||
|
|
||
|
- General changes on Mac OS X:
|
||
|
* Mac OS X version support: Support for 10.3(Panther) has been dropped and
|
||
|
support for 10.6(Snow Leopard) has been added.
|
||
|
* The Cocoa port now supports static linking.
|
||
|
* The Cocoa port now supports the Qt3Support library (with the exception of
|
||
|
Q3FileDialog) to ease the transition from Carbon to Cocoa.
|
||
|
* The Cocoa binary packages are now Intel only (universal i386 and x86_64).
|
||
|
* Snow Leopard notes:
|
||
|
- Gcc 4.2 is used by default. Configure with -platform macx-g++40 to
|
||
|
select 4.0.
|
||
|
- Using the 10.4u SDK requires gcc 4.0.
|
||
|
- Configuring for the Cocoa port (-cocoa) produces 64-bit binaries by
|
||
|
default. Use the -arch flags to override.
|
||
|
- Building for ppc64 is no longer supported by the gcc tool chain.
|
||
|
- Building for ppc is still supported.
|
||
|
* Added support for GetURL events on Mac OS X.
|
||
|
|
||
|
- General bug fixes:
|
||
|
* [123740] Fixed an issue with dead keys on Mac (cocoa) on French keyboard
|
||
|
layout.
|
||
|
* [258438] Enabled Emacs style keyboard shortcuts.
|
||
|
* [QTBUG-4418] Fixed maximizing and restoring a window.
|
||
|
|
||
|
- Cocoa bug fixes:
|
||
|
* [252088] Drag Leave events will be delivered correctly on Cocoa.
|
||
|
* [257661] Cocoa now uses the correct line ending for clipboard plain text.
|
||
|
* [258173] Fixed an issue which caused "whatsthis" pointer to flicker.
|
||
|
* Fixed some warnings that might get printed when reparenting QGLWidget.
|
||
|
* Fixed stacking order of modal dialogs so that they never rearrange level,
|
||
|
or hide in the background.
|
||
|
* Fixed problem with plugins written with Qt that closes down the native
|
||
|
application when hiding a modal dialog.
|
||
|
* Fixed problem that native applications cannot quit when using plugins
|
||
|
written with Qt from a native application.
|
||
|
* Fixed problem that the menubar is not restored correctly when using
|
||
|
plugins written with Qt from a native application.
|
||
|
* The event dispatcher now integrates better with native applications that
|
||
|
spin the event loop themselves.
|
||
|
* Using Qt::AA_MacPluginApplication will now disable the use of native
|
||
|
menubars on Mac.
|
||
|
* Sliders and scroll views in Qt now use pixel scrolling for mouse devices
|
||
|
that support this.
|
||
|
* Wheel events can now contain a delta with a value as low as 1 for mouse
|
||
|
devices that use pixel scrolling.
|
||
|
|
||
|
Qt for Embedded Linux
|
||
|
---------------------
|
||
|
|
||
|
- Added QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and
|
||
|
QMAKE_LIBS_OPENGL_ES2 qmake variables for specifying OpenGL ES
|
||
|
specific libraries.
|
||
|
|
||
|
- Compilation fixes for OpenGL/ES 1.0 and OpenGL/ES 1.1 Common Lite.
|
||
|
|
||
|
- Phonon on Windows
|
||
|
* Now much more reliable when reading a file through a QIODevice.
|
||
|
* If Video Mixing Renderer 9 is not available, falls back to software
|
||
|
rendering.
|
||
|
* Fixed a flicker issue when switching source with a transition time of 0
|
||
|
|
||
|
- [QTBUG-3620] Fixed bug on X11 that caused bitmap fonts to become so small
|
||
|
it was unreadable when printed or presented in a print preview widget.
|
||
|
|
||
|
- [QTBUG-4445] Fixed bug on Windows that caused problems when printing
|
||
|
text where several characters were represented by a single glyph, e.g.
|
||
|
a double 't' with the Calibri font.
|
||
|
|
||
|
- EGL and OpenGL/ES
|
||
|
* Protect the use of version-specific EGL symbols with #ifdef's.
|
||
|
* Make sure an EGL context is current when resolving GL extensions.
|
||
|
* Introduce "lazyDoneCurrent" for optimizing context switching in
|
||
|
paint engines.
|
||
|
* Separate EGLSurface from QEglContext so that the same context can
|
||
|
be used with multiple surfaces.
|
||
|
* Move common functions from system-specific files to qgl_egl.cpp.
|
||
|
* Fix a memory leak of EGLSurface's in QGLContext.
|
||
|
* Fix detection of pbuffers on OpenGL/ES systems.
|
||
|
* EGL_SAMPLES was being set to the wrong value for multisampled surfaces.
|
||
|
|
||
|
- PowerVR
|
||
|
* Make the code better at detecting MBX vs SGX header files.
|
||
|
* Fix 32-bit screen support - some code was still assuming 16-bit.
|
||
|
* Stop GL window surfaces double-flushing their contents.
|
||
|
* Remove surface holder, which never worked all that well.
|
||
|
* Implement screen rotations.
|
||
|
|
||
|
- Mouse and keyboard drivers
|
||
|
* Removed obsolete drivers (vr41xx, yopy, sl5000, bus mouse).
|
||
|
* Added a new LinuxInput driver for both mouse and keyboard.
|
||
|
* Added keymap support for QWS via standard Linux .kmap files.
|
||
|
(complete with dead-keys, compose-key and LED handling).
|
||
|
|
||
|
- Remove obsolete OpenGL/ES screen drivers: hybrid, ahigl.
|
||
|
|
||
|
- Send enter/leave events also to child widgets.
|
||
|
|
||
|
- Fix crash when instantiating multiple QApplications.
|
||
|
|
||
|
- Optimize software cursor by using native image format instead of 8-bit.
|
||
|
|
||
|
- [255828] Avoid window decoration flicker on show.
|
||
|
|
||
|
- [255495] Fix blend function crash on AVR32.
|
||
|
|
||
|
- Fix qconfig configurations.
|
||
|
|
||
|
- Add powerpc mkspec and remove "empty" ppc mkspec .
|
||
|
|
||
|
DirectFB
|
||
|
--------
|
||
|
|
||
|
- When running Qt/DirectFB the DirectFB window id of a top level QWidget can
|
||
|
be queried using property("_q_DirectFBWindowID")
|
||
|
|
||
|
- Allow setting the background color of the primary layer in DirectFB with
|
||
|
connect options. QWS_DISPLAY=directfb:bgcolor=red or
|
||
|
QWS_DISPLAY=directfb:bgcolor=\#aabbccdd
|
||
|
|
||
|
- Add support for rendering mouse cursor using a top level window when cursor
|
||
|
support is not working in IDirectFBDisplayLayer. Define
|
||
|
QT_DIRECTFB_WINDOW_AS_CURSOR to enable.
|
||
|
|
||
|
- Add experimental support for optimized locking/unlocking of surfaces. Enable
|
||
|
by defining QT_DIRECTFB_SUBSURFACE.
|
||
|
|
||
|
- Fix a bug to conceptually allow using QDirectFBScreen as a subscreen of a
|
||
|
proxy screen. Don't make QDirectFBScreen::instance() assume that
|
||
|
QScreen::instance() is a QDirectFBScreen.
|
||
|
|
||
|
- Optimize move/resize operations with DirectFB. With a properly configured
|
||
|
DirectFB these operations are handled for us and we don't need to force a
|
||
|
repaint of the window.
|
||
|
|
||
|
- Support top level window opacity in DirectFB
|
||
|
|
||
|
- Fix a bug when loading RGB32 images that would lead to rendering issues.
|
||
|
|
||
|
- Fix a bug when painting with invalid pens/brushes.
|
||
|
|
||
|
- Fix a bug that would show up when QWidget::scroll is called.
|
||
|
|
||
|
- Implement support for loading pixmaps using IDirectFBImageProvider.
|
||
|
|
||
|
- Disable color table support by default. This seems to work incorrectly on
|
||
|
most boards and loading these images will generally require an image
|
||
|
conversion anyway.
|
||
|
|
||
|
- Fix a crash when resizing windows.
|
||
|
|
||
|
- Compile with versions < 1.0. We still recommend using newer versions.
|
||
|
|
||
|
- Considerable code cleanup
|
||
|
|
||
|
- Various optimizations regarding painting, loading of images and creation of
|
||
|
surfaces.
|
||
|
|
||
|
- Allow forcibly falling back to raster engine for painting operations by
|
||
|
exporting QT_DIRECTFB_FORCE_RASTER=1
|
||
|
|
||
|
- Reenable support for RGB32 primary surface.
|
||
|
|
||
|
|
||
|
Qt for Windows CE
|
||
|
-----------------
|
||
|
|
||
|
- On Windows CE the link time code generation has been disabled by default to
|
||
|
be consistent with win32-msvc200x.
|
||
|
- The default button size has been reduced in the Windows mobile style.
|
||
|
- [QTBUG-3613] QWizard issues have been fixed on Windows mobile.
|
||
|
- [254673] Restoring minimized widgets fixed for Windows mobile and
|
||
|
Windows CE.
|
||
|
- [255242] Seeking within large files (bigger than 0x80000000 bytes) fixed
|
||
|
on Windows CE.
|
||
|
- [257352] When configuring Qt for Windows CE, configure points the user to
|
||
|
setcepaths, when its done.
|
||
|
- [259850] Added a makespec template for Windows CE 6.
|
||
|
- Fixed the hardcoded GL library names for Windows CE.
|
||
|
|
||
|
****************************************************************************
|
||
|
* Tools *
|
||
|
****************************************************************************
|
||
|
|
||
|
- Designer
|
||
|
* [233683] Promoted Widgets are now stored correctly in scratchpad.
|
||
|
* [249823] Added search functionality to the resource browser.
|
||
|
* [254282] Enabled the use of promoted widgets in form templates.
|
||
|
* [254824] Made it possible to override the createAction()/createWidget()
|
||
|
functions of QUiLoader.
|
||
|
* [256332] Enabled deleting all pages of a QTabWidget or QStackedWidget.
|
||
|
* [259238] Fixed menubar/menu editing in right-to-left mode.
|
||
|
* [259918] Fixed setting of object names for container pages not to use
|
||
|
localized strings.
|
||
|
* [260658] Fixed saving of alpha values set in the palette editor.
|
||
|
* It is now possible to further specify the kind of custom widget string
|
||
|
properties using XML tags.
|
||
|
|
||
|
- uic
|
||
|
* [260784] Generated code for retranslateUi doesn't cause compiler warnings
|
||
|
anymore.
|
||
|
|
||
|
- uic3
|
||
|
* [128859] Fixed code generation of QLabel's wordWrap property.
|
||
|
|
||
|
- qdoc3
|
||
|
* Changed qdoc3 binary to be in bin/ instead of a platform specific location.
|
||
|
|
||
|
- Linguist
|
||
|
* Linguist GUI: Experimental support for editing multi-length strings.
|
||
|
* lupdate is now again the only tool which can parse program code.
|
||
|
* lupdate
|
||
|
- Actually guess the target language from the file name.
|
||
|
- Make -{source,target}-language actually override values from files.
|
||
|
- C++ parser
|
||
|
* Properly support "using namespace", etc.
|
||
|
* Remove the obsolete TRANSLATOR hack relating to "using namespace".
|
||
|
* Support attaching meta data to translatable message.
|
||
|
* Actually use the argument of Q_DECLARE_TR_FUNCTION.
|
||
|
* Optimization.
|
||
|
* Bug fixes and robustness improvements.
|
||
|
* lrelease
|
||
|
- Add -markuntranslated <prefix> option.
|
||
|
* Both lupdate & lrelease
|
||
|
- Accuracy improvements of the qmake .pro file parser.
|
||
|
- Support for ID-based translations. Somewhat experimental.
|
||
|
* lconvert
|
||
|
- Add --sort-contexts option.
|
||
|
- Add --locations option (complementing lupdate).
|
||
|
- Add --no-ui-lines option (complementing lupdate).
|
||
|
|
||
|
|
||
|
****************************************************************************
|
||
|
* Important Behavior Changes *
|
||
|
****************************************************************************
|
||
|
|
||
|
- The experimental Direct3D paint engine has been removed. The reason for
|
||
|
this is that Nokia focuses on OpenGL for desktop hardware accelerated
|
||
|
rendering.
|
||
|
|
||
|
- The default engine used to draw onto OpenGL buffers has changed in
|
||
|
Qt 4.6. The QPaintEngine::OpenGL2 engine is now used as the default
|
||
|
engine. This *may* cause compatibility problems for applications
|
||
|
that use a mix of QPainter and native OpenGL calls to draw into a GL
|
||
|
buffer. Use the QGL::setPreferredPaintEngine() function to enforce
|
||
|
usage of the old GL paint engine.
|
||
|
|
||
|
- When mixing OpenGL and QPainter calls you need to surround your
|
||
|
custom OpenGL calls with QPainter::beginNativePainting() and
|
||
|
QPainter::endNativePainting().
|
||
|
This is to ensure that the paint engine flushes any pending drawing and sets
|
||
|
up the GL modelview/projection matrices properly before you can issue custom
|
||
|
OpenGL calls, and to let the paint engine synchronize to the painter state
|
||
|
before resuming regular QPainter based drawing.
|
||
|
|
||
|
- Graphics View has undergone heavy optimization work, and as a result of
|
||
|
this work, the following behavior changes were introduced.
|
||
|
|
||
|
a) QStyleOptionGraphicsItem::exposedRect now contains the item's bounding
|
||
|
rectangle, and QStyleOptionGraphicsItem::matrix is uninitialized by
|
||
|
default. You can enable an exact exposed rectangle and a correct matrix
|
||
|
by enabling the flag QGraphicsItem::ItemUsesExtendedStyleOptions.
|
||
|
|
||
|
b) QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value is
|
||
|
always initialized to 1. Instead you can call
|
||
|
QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &)
|
||
|
to determine the level of detail.
|
||
|
|
||
|
c) QGraphicsView no longer calls QGraphicsView::drawItems(), and in turn
|
||
|
QGraphicsScene::drawItems(), by default. You can get the old behavior
|
||
|
back by enabling QGraphicsView::IndirectPainting.
|
||
|
|
||
|
d) QGraphicsItem no longer calls itemChange() for position and
|
||
|
transformation changes. If you want to receive notifications for changes
|
||
|
to the item's position and transformation, you can set the flag
|
||
|
QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
|
||
|
QGraphicsWidget and QGraphicsProxyWidget).
|
||
|
|
||
|
- QDesktopWidget on X11 no longer emits the resized(int) signal when screens
|
||
|
are added or removed. This was not done on other platforms. Use the
|
||
|
screenCountChanged signal instead.
|
||
|
|
||
|
- QUrl's parser is more strict when for hostnames in URLs. QUrl now
|
||
|
enforces STD 3 rules:
|
||
|
|
||
|
* each individual hostname section (between dots) must be at most
|
||
|
63 ASCII characters in length;
|
||
|
|
||
|
* only letters, digits, and the hyphen character are allowed in the
|
||
|
ASCII range; letters outside the ASCII range follow the normal
|
||
|
IDN rules
|
||
|
|
||
|
That means QUrl no longer accepts some URLs that were invalid
|
||
|
before, but weren't interpreted as such.
|
||
|
|
||
|
- The Unix configure-time check for STL is stricter now in Qt
|
||
|
4.6. This means some legacy STL implementations may fail to pass
|
||
|
the test and, therefore, Qt will automatically disable STL support.
|
||
|
|
||
|
This is a binary-compatible change: existing code will continue to
|
||
|
work without being recompiled. However, it affects the source code,
|
||
|
since some STL-compatibility API will not be enabled.
|
||
|
|
||
|
Platforms affected by this change:
|
||
|
* solaris-cc-* with the default (Cstd) C++ STL library
|
||
|
recommendation: use -library=stlport4
|
||
|
See Sun Studio's documentation for the effects of this option
|
||
|
|
||
|
- QVariant has now a new implicit constructor that takes a float. This
|
||
|
means that code that assigned a float to a variant would create a
|
||
|
variant with userType QMetaType::Float, instead of QVariant::Double.
|
||
|
|
||
|
- QDataStream will now read and write all floating point numbers with the
|
||
|
same precision, regardless of whether it's streamed into or out from a
|
||
|
float or double. This is to maintain compatibility across platforms with
|
||
|
a different default precision for qreal. The default is 64-bit precision
|
||
|
for all floating point numbers, and this can be changed using the new
|
||
|
function setFloatingPointPrecision(). Set Qt_4_5 as the version of the
|
||
|
QDataStream to get the behavior of previous versions.
|
||
|
|
||
|
- On Mac OS X, QDesktopServices::storageLocation(DataLocation) now includes
|
||
|
QCoreApplication::organizationName() and QCoreApplication::applicationName()
|
||
|
if those are set. This matches the behavior on the other platforms.
|
||
|
|
||
|
- The Animation Framework
|
||
|
* currentTime() now returns the complete current time including previous
|
||
|
loops.
|
||
|
* currentLoopTime() returns the time inside the current loop.
|
||
|
* stateChanged signal sends the new state as first parameter and old state
|
||
|
as the second.
|
||
|
* QAnimationGroup::clearAnimations() has been renamed to clear().
|
||
|
* QAnimationGroup::insertAnimationAt() has been renamed to
|
||
|
insertAnimation().
|
||
|
* QAnimationGroup::takeAnimationAt() has been renamed to takeAnimation().
|
||
|
* QSequentialAnimationGroup::insertPauseAt() has been renamed to
|
||
|
insertPause().
|
||
|
* [QT-941] Avoids timer ticks when there are only pause animations running.
|
||
|
|
||
|
- Refactoring in OpenGL examples to improve portability and utilize the
|
||
|
Animation framework for animation. The hellogl and overpainting examples
|
||
|
now compile on OpenGL/ES 1.1. Also common code is factored.
|
||
|
|
||
|
- Changed QWebFrame::setHtml() and setContent() to not affect the back/forward
|
||
|
and the session history.
|
||
|
|
||
|
- qmake no longer adds Qt internal dependencies to the linker when Qt
|
||
|
is built in shared mode (not static). This means that applications
|
||
|
that made use of platform-specific API may need to adjust the LIBS
|
||
|
variable in their .pro files to match:
|
||
|
|
||
|
X11: LIBS += -lX11
|
||
|
Mac: LIBS += -framework AppKit -framework Carbon
|
||
|
|
||
|
- QtScript: Behavior changes due to using JavaScriptCore in the back-end:
|
||
|
* QDateTime is no longer used for date parsing and string conversion of
|
||
|
Date objects; instead the (more compliant) date processing from
|
||
|
JavaScriptCore is used.
|
||
|
* RegExp objects are no longer thin wrappers around QRegExp; they are now
|
||
|
"proper" JavaScript RegExp objects.
|
||
|
|