Revision control

++ Qt 4.1 introduces many new features as well as many improvements and
++ bugfixes over the 4.0.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.1 series is binary compatible with the 4.0.x series.
++ Applications compiled for 4.0 will continue to run with 4.1.
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++ Qt library
++ ----------
++
++ - Introduced widget backing store support, allowing semi-transparent
++ (alpha-blended) child widgets and faster widget painting, as well
++ as solving long-lasting issues with non-rectangular widgets.
++
++ - Integrated support for rendering Scalable Vector Graphics (SVG)
++ drawings and animations (QtSvg module).
++
++ - A Portable Document Format (PDF) backend for Qt's printing system.
++
++ - A unit testing framework for Qt applications and libraries.
++
++ - Modules for extending Qt Designer and dynamic user interface
++ building.
++
++ - Additional features for developers using OpenGL, such as support
++ for pixel and sample buffers.
++
++ - A flexible syntax highlighting class based on the Scribe rich text
++ framework.
++
++ - Support for network proxy servers using the SOCKS5 protocol.
++
++ - Support for OLE verbs and MIME data handling in ActiveQt.
++
++ - Support for universal binaries on Mac OS X.
++
++ Qt Designer
++ -----------
++
++ - Added support for editing menu bars and tool bars.
++
++ - Added support for adding comments to string properties.
++
++ - Added new static QtUiTools library with improved
++ QUiLoader API for loading designer forms at run-time.
++
++ - Added support for namespaces in uic generated code.
++
++ - Added support for dock widgets in main windows.
++
++ - Added support for editing table, tree and list widgets.
++
++ - Improved palette editing and resource support.
++
++ QTestLib
++ --------
++
++ - Added QTestLib, the Qt Unit Testing Library. See the "QTestLib"
++ chapter in the Qt documentation for more information.
++
++ - Users of older versions of QtTestLib can use the updater utility in
++ tools/qtestlib/updater to convert existing autotests to work with
++ QTestLib.
++
++ Boost
++ -----
++
++ Added boost compatible syntax for declaring signals and slots. If you
++ define the macro QT_NO_KEYWORDS, "Q_SIGNALS" and "Q_SLOTS" are
++ recognized as keywords instead of the default "signals" and "slots".
++ Added a new keyword to qmake to enable this macro: CONFIG += no_keywords.
++
++ ActiveQt
++ --------
++
++ QAxServer now supports mime-type handling - a ActiveX control can be
++ registered to handle a certain file extension and mime-type, in which
++ case QAxBindable::load and QAxBindable::save can be reimplemented to
++ serialize the object.
++
++ Build system
++ ------------
++
++ Added support for linking static plugins into the application.
++
++ Qt 3 to 4 Porting Tool
++ ----------------------
++
++ Q(V|H)BoxLayout and QGridLayout usage is now ported to use
++ Q3(V|H)BoxLayout/Q3GridLayout, to retain the margin/spacing behavior
++ as in Qt 3.
++
++ Meta Object Compiler (moc)
++ --------------------------
++
++ - Added support for const signals.
++
++ Qt Assistant
++ ------------
++
++ - Added -docPath command line option for easy setting of the
++ document root path.
++
++ QMake
++ -----
++
++ - Added support for new FORMS3 profile variable to make it possible
++ to have Qt Designer forms from Qt 3 and Qt 4 in the same project.
++
++ - Added support for precompiled headers on win32-g++ (MinGW)
++
++ Compilers
++ ---------
++
++ Added support for Solaris 10 on AMD64 with the compiler provided by
++ Sun.
++
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++
++ New classes
++ -----------
++
++ - QTreeWidgetItemIterator
++ Added iterator to help iterating over items in a QTreeWidget.
++
++ - QStringFilterModel
++ Allows you to provide a subset of a model to a view based on a
++ regular expression.
++
++ - QSyntaxHighlighter
++ The QSyntaxHighlighter class allows you to define syntax
++ highlighting rules.
++
++ - QAbstractFileEngine
++ A base class for implementing your own file and directory
++ handling back-end for QFile, QFileInfo and QDir.
++
++ - QAbstractFileEngineHandler
++ For registering a QAbstractFileEngine subclass with Qt.
++
++ - QFSFileEngine
++ The default file engine for regular file and directory access
++ in Qt.
++
++ - Q3(H|V)BoxLayout and Q3GridLayout
++ Layout classes provided for compatibility that behave the same
++ as the Qt 4 classes but use a zero margin/spacing by default,
++ just like in Qt 3.
++
++ - Added qFromLittleEndian, qToLittleEndian, qFromBigEndian and
++ qToBigEndian endian helper conversion functions (qendian.h)
++
++ - Q_EXPORT_PLUGIN2 macro
++ Obsoletes Q_EXPORT_PLUGIN and allows static linking of
++ plugins.
++
++ - Q3ComboBox
++ For enhanced backwards compatibility with Qt 3.
++
++ - QGLPbuffer
++ For creating and managing OpenGL pixel buffers.
++
++ - QNetworkProxy
++ For setting up transparent (SOCKS5) networking proxying.
++
++ - QDirectPainter (Qtopia Core only)
++ Provides direct access to video framebuffer hardware.
++
++
++ General improvements
++ --------------------
++
++ - QByteArray
++ Added toLong() and
++
++ - QColorDialog
++ Fix shortcut and focus for "Alpha channel" spinbox.
++
++ - QLinkedList
++ Added conversion methods to convert from/to STL lists.
++
++ - QMap/QHash
++ Fixed operator>>() to read back multiple values associated
++ to a same key correctly.
++ Added constFind(), for finding an item without causing a
++ detach.
++
++ - QMap/QHash
++ Const-correctness in const_iterator's operator--(int).
++
++ - QMainWindow
++ The saveState() and restoreState() functions no longer
++ fallback to using the windowTitle property when the objectName
++ property is not set on a QToolBar or QDockWidget; this
++ behavior was undocumented and has been removed.
++
++ - QToolBar
++ Added Qt 3 compatibility signal visibilityChanged(bool).
++
++ - QMetaType
++ Class is now fully reentrant.
++ Metatypes can be registered or queried from multiple threads.
++ Added qMetaTypeId<T>(), which returns the meta type ID of T at
++ compile time.
++
++ - QMetaProperty
++ Added isResettable().
++
++ - QSql
++ Oracle plugin adds support for authentication using external
++ credentials.
++ Added isValid() to QSqlError.
++
++ - QThread
++ Added setPriority() and priority(), for querying and setting
++ the priority of a thread.
++
++ - QTreeWidgetItem/QTreeWidget
++ Added new constructors and addChildren(), insertChildren(),
++ takeChildren(), insertTopLevelItems(), addTopLevelItems to
++ speed up insertion of multiple items.
++
++ - QTextDocument
++ Added the class QTextBlockUserData and added the possibility
++ of storing a state or custom user data in a QTextBlock
++ Added useDesignMetrics property, to enable the use of design
++ metrics for all fonts in a QTextDocument.
++
++ - QTextFormat
++ Added support for setting the font pixel size.
++ Added UserObject to QTextFormat::ObjectTypes enum.
++
++ - QMetaType
++ The value of QMetaTypeId<T>::Defined indicates whether a given
++ type T is supported by QMetaType.
++
++ - QAbstractItemView
++ Added setIndexWidget() and indexWidget() which makes it
++ possible to set a widget at a given index.
++
++ Added a QAbstractItemView::ContiguousSelection mode.
++ Added scrollToTop() and scrollToBottom().
++ Changed signals pressed(), clicked() and doubleClicked() to
++ only emit when the index is valid.
++
++ - QAbstractItemModel
++ Added a SizeHintRole that can be set for each item. The item
++ delegate will now check for this value before computing the
++ size hint based on other item data.
++
++ Add QModelIndex::operator<() so we are able to use them in
++ QMap and other containers.
++
++ Added qHash function for QModelIndex.
++
++ - QTableWidget
++ Added cellWidget() and setCellWidget() which makes it possible
++ to set a widget at a specified cell.
++
++ Added setCurrentCell().
++
++ Added QTableWidgetItem copy constructors.
++
++
++ - QTreeWidget
++ Added setItemWidget() and itemWidget() which makes it possible
++ to set a widget on an item.
++
++ - QListWidget
++ Added setItemWidget() and itemWidget() which makes it possible
++ to set a widget on an item.
++
++ Added QListWidgetItem copy constructors.
++
++ - QMutableMapIterator
++ Added value() overloads to Java-style iterators that return
++ non-const references.
++
++ - QTextTable
++ Added mergeCells() and splitCells() to be able to set the row
++ or column span on a table cell.
++
++ - QStyle
++ Added standardIcon() which returns a default icon for standard
++ operations.
++ Added State_ReadOnly, which is enabled for read-only widgets.
++
++ Renamed QStyleOption::init() to initFrom().
++ - QGroupBox is now completely stylable (QStyleOptionGroupBox).
++ - QToolBar is now stylable according to its position in the
++ toolbar dock area (QStyleOptionToolBar).
++ - Indeterminate (busy) progress bars are now animated properly
++ in all styles.
++ - By popular request, the default toolbar icon size
++ (PM_ToolBarIconSize) in Windows and Plastique styles has
++ been changed to 24 x 24 (instead of 16 x 16 in Windows and
++ 32 x 32 in Plastique).
++
++ Added PM_DockWidgetTitleMargin as pixel metric.
++
++ - QHash
++ Make it possible to use QHash with a type that has no default
++ constructor.
++
++ - QTableView
++ Made QTableView::setShowGrid() a slot, like in Qt 3.
++ Added setRowHeight() and setColumnWidth().
++
++ - QTableWidgetSelectionRange
++ Added rowCount() and columnCount() convenience functions.
++
++ - QSettings
++ Added support for custom formats in QSettings.
++
++ - QTextStream
++ Added status(), setStatus() and resetStatus() for improved
++ error handling.
++ Added read(qint64 maxlen), for reading parts of a text stream
++ into a QString.
++
++ - QTextCursor
++ Added support for BlockUnderCursor selection type.
++
++ - QHeaderView
++ Added defaultSectionSize property which tells the default size
++ of the header sections before resizing.
++
++ - QScrollBar
++ Added context menu to the scrollbar with default navigation
++ options.
++
++ - QScrollArea
++ Added ensureVisible(), which can scroll the scrollarea to make
++ sure a specific point is visible.
++
++ - QDateTime
++ Added addMSecs(), which adds a number of milliseconds to the QDateTime.
++
++ - QDateTimeEdit
++ Added support for more date/time formats.
++ Now allows multiple sections of the same type.
++
++ - QButtonGroup
++ Added handling of buttons with IDs to the buttongroup like in
++ Qt 3.
++
++ - QIODevice
++ Added peek() for peeking data from a device.
++
++ - QTextEdit
++ Added property tabStopWidth which sets the tab stop width in
++ pixels.
++ append(const QString &) is now a public slot.
++ Added support for inserting Unicode control characters through
++ the context menu.
++ Added property acceptRichText, for whether or not the text
++ edit accepts rich text insertions by the user.
++ Added overwriteMode property.
++
++ - QDataStream
++ Added skipRawData().
++ Added support for QRegExp.
++
++ - QProgressBar
++ Added support for vertical progress bars.
++
++ - QImageIOHandler
++ The name() function has been obsoleted; use format() instead.
++ Added QImageIOHandler::Animation, for determining if the image
++ format supports animation.
++ Added QImageIOHandler::BackgroundColor, for setting the
++ background color for the image loader.
++
++ - QImageReader
++ Added setBackgroundColor() and backgroundColor(), for setting
++ the background color of an image before it is read.
++ Added supportsAnimation(), for checking if the image format
++ supports animation.
++
++ - QImageWriter
++ Added support for saving image text.
++
++ - QLocale
++ Added dateFormat()/timeFormat() to query the date/time format
++ for the current locale.
++ Added toString() overloads for localized QTime and QDate
++ output.
++ Added decimalPoint(), groupSeparator(), percent(),
++ zeroDigit(), negativeSign() and exponential(), which provide a
++ means to generate custom number formatting.
++
++ - QHostInfo
++ Added support for reverse name lookups.
++
++ - QHostAddress
++ Added a QString assignment operator
++ Added convenience functions for initializing from a native
++ sockaddr structure.
++ Added support for the IPv6 scope-id.
++
++ - QPrinter
++ Added property "embedFonts" for embedding fonts into the
++ target document.
++ Added support for printing to PDF.
++ Added support for custom print and paint engines
++
++ - QPrintEngine
++ Added PPK_SuppressSystemPrintStatus, for suppressing the
++ printer progress dialog on Mac OS X.
++
++ - QKeySequence
++ Added fromString() and toString() for initializing a key
++ sequence from, and exporting a key sequence to a QString.
++
++ - QUrl
++ Added the port(int) function, which provides a default value
++ for the port if the URL does not define a port.
++ Support for decoding Punycode encoded hostnames in URLs.
++ Made the parser more tolerant for mistakes, and added a
++ ParsingMode flag for selecting strict or tolerant parsing.
++ Added support for the NAMEPREP standard in our i18n domain
++ name support.
++
++ - QDir
++ Added the filter QDir::NoDotAndDotDot, for the
++ special directories "." and "..".
++ Added the filter QDir::AllEntries, for all entries
++ in a directory, including symlinks.
++
++
++ - QAbstractSocket
++ Added slots connectToHostImplementation() and
++ disconnectFromHostImplementation() to provide polymorphic
++ behavior for connectToHost() and disconnectFromHost().
++
++ - QMenuBar
++ Added setActiveAction(), which makes the provided action
++ active.
++
++ - QProxyModel
++ This class has been obsoleted (see QAbstractProxyModel)
++
++ - QWidget
++ Now supports three modes of modality: NonModal, WindowModal
++ and ApplicationModal.
++ Added Qt::WindowModality, obsoleted WA_ShowModal and
++ WA_GroupLeader.
++ Added Qt::WA_OpaquePaintEvent widget attribute, obsoleting
++ Qt::WA_NoBackground.
++ Added boolean autoFillBackground property.
++ Child widgets now always inherit the contents of their parent.
++
++ - QPalette
++ Added QPalette::Window (obsoletes Background) and
++ QPalette::WindowText (obsoletes Foreground).
++
++ - QHttpResponseHeader
++ Added two constructors and the function setStatusLine() for
++ generating a response header.
++
++ - QBitArray
++ Added count(bool), for counting on and off-bits in a bit
++ array.
++
++ - QVariant
++ Added support for QRegExp
++
++ - QRegExpValidator
++ Added the property "regExp".
++
++ - QTabBar
++ Added the property "iconSize", for setting the size of the
++ icons on the tabs.
++
++ - QLineEdit
++ Added support for inserting Unicode control characters through
++ the context menu.
++
++ - QString
++ Added toLong() and toULong().
++ Support for std::string conversions with embedded \0
++ characters.
++
++ - QRegion
++ Added translate(), like QRect::translated().
++
++ - QProcess
++ Added systemEnvironment(), which returns the environment
++ variables of the calling process.
++ Added exitStatus(), and added a new finished() signal which
++ takes the exit status as a parameter.
++
++ - QComboBox
++ Made setCurrentIndex() a slot.
++
++ - QFontDataBase
++ Added styleString(), for retrieving the style string from a
++ QFontInfo.
++ Added support for Myanmar fonts.
++
++ - QFontMetrics
++ Added xHeight(), which returns the 'X' height of the font.
++
++ - QCoreApplication
++ Added arguments(), which returns a list of command line
++ arguments as a QStringList.
++
++ - QTcpSocket
++ Added support for SOCKS5 via setProxy().
++
++ - QUdpSocket
++ Added property "bindMode", for binding several sockets to the
++ same address and port.
++
++ - QPen
++ Added support for custom dash pattern styles and miter limits.
++ Added support for QDebug.
++
++ - QDebug
++ Added support for QVector and QPair output.
++
++ - QStringListModel
++ Added support for sorting.
++
++ - QOpenGLPaintEngine
++ Gradients in the OpenGL paint engine are now drawn using
++ fragment programs, if the extension is available. Lots of
++ fixes, speedups and tweaks.
++
++
++ Platform-Specific changes
++ -------------------------
++
++ Windows:
++
++ - Painting
++ Added support for ClearType text rendering.
++
++ - File Engine
++ Added support for long filenames/paths.
++
++ X11:
++
++ - QWidget
++ Added support for freedesktop.org startup notifications.
++
++ Mac OS X:
++
++ - Added support for universal binaries
++ - Improved support for the VoiceOver accessibility tool in Mac OS X 10.4
++ and later
++
++
++ 3rd-party libraries
++ -------------------
++
++ - zlib
++ Upgraded to zlib 1.2.3.
++
++ - FreeType
++ Upgraded to FreeType 2.1.10.
++
++ - SQLite
++ Upgraded to SQLite 3.2.7