Revision control

++
++ Qt 3.2 introduces new features as well as many improvements over the
++ 3.1.x series. This file gives an overview of the main changes since
++ version 3.1.2. For more details, see the online documentation which
++ is included in this distribution. The documentation is also available
++
++ The Qt version 3.2 series is binary compatible with the 3.1.x series.
++ Applications compiled for 3.1 will continue to run with 3.2.
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++ Qt library
++ ----------
++
++ New classes have been added to the Qt Library including a
++ class to add splash screens to applications (QSplashScreen), a toolbox
++ widget that provides a column of tabbed widgets (QToolBox), and a
++ class to manage per-thread data storage (QThreadStorage).
++
++ The SQL module received a fair bit of attention this time. The most
++ notable improvements include a native IBM DB2 driver, complete support
++ for stored procedures including the possibility to access
++ out-parameters, and native support for 64 bit fields without having to
++ convert to or from strings. We also added support for setting
++ connection parameters. This way you can, for example, conveniently
++ open an SSL connection to a MySQL or PostgreSQL database. If you need
++ even more customization, e.g. for an Oracle database, you can set up
++ the connection yourself and instantiate a Qt driver object on top of
++ it. An extended SQL cursor class has been added that makes it more
++ convenient to display result sets from general SQL queries
++ (QSqlSelectCursor). QSqlDatabase::tables() is now capable to return
++ tables, views and/or system tables. In addition, you can add custom
++ database drivers without compiling them as plugins
++ (see QSqlDatabase::registerSqlDriver()).
++
++ QLineEdit, the one-line text editor, now supports validation input
++ masks. The feature complements the previous QValidator concept and
++ allows e.g. restriction of input to the IP address format (mask
++ "990.990.990.990;_"), or to ISO date format (mask "0000-90-90;0").
++
++ Qt's unicode code support has been extended. Most notably, full
++ support for Indic scripts has been added, covering writing systems
++ such as Devanagari, Tamil and Bengali. The group of right to left
++ writing systems has been extended with support for Syriac. Both
++ improvements are available on both Windows with Uniscribe installed,
++ and on Unix/X11 when using XFT with OpenType fonts.
++
++ All tool classes that support STL-like iterators with begin() and
++ end(), contain two extra functions constBegin() and constEnd(). The
++ const versions always return const iterators, and thus can be a little
++ bit faster with Qt's implicitly shared containers.
++
++ QPainter's complex drawText() function has been highly
++ optimized. Despite its support for complex unicode scripts, it now
++ performs better than its less unicode-capable counterpart in Qt 2.3.
++
++ QPixmap now supports pixmaps with alpha channel (semi transparency) on
++ all Windows versions except Windows 95 and Windows NT 4.0.
++
++ The print dialog now supports "selection" as a print range as well as
++ the possibility to enable/disable all different printer options
++ individually.
++
++ On Windows, the Qt installation includes a toolbar for Visual Studio.NET
++ that provides an integration of the Qt tools (ie. Qt Designer) with the
++ IDE.
++
++ Many classes were improved; see the detailed overview that follows.
++
++ Qt Motif Extension
++ ------------------
++
++ Dialog handling has matured and has been extended since the
++ extension's introduction in Qt 3.1. The documentation and code
++ examples have been improved, including a walkthrough that covers the
++ complete migration of a real-world Motif example to Qt. The process
++ contains four intermediate steps where the application utilizes both
++ toolkits.
++
++ ActiveQt Extension
++ ------------------
++
++ Type handling has been extended on both the container and the server
++ side. The new supported types are byte arrays and 64bit integers. The
++ QAxServer module supports aggregation, as well as QObject subclasses as
++ return and parameter types of slots, and allows error reporting through
++ COM exceptions.
++ The Designer integration has been extended to support property dialogs
++ implemented by the control server.
++ Controls developed with ActiveQt support aggregation, which makes it
++ possible to use them in containers that require this form of containment to
++ be supported. ActiveQt also supports masked controls in containers that
++ support this for window'ed controls.
++
++ Qt Designer
++ -----------
++
++ The popup menu editor has been rewritten. The new editor provides the
++ the ability to add, edit and remove menus and menu items directly in
++ the menubar and in the popup menu. Navigation and editing can be done
++ using either the mouse or the keyboard.
++
++ The property editor now allows editing of properties with or'd values
++ (sets).
++
++ Designer also supports the new QToolBox widget in a similar fashion to
++ QTabWidget, etc.
++
++ Qt Assistant
++ ------------
++
++ Profiles have been introduced to allow applications to extend the use
++ of Qt Assistant as a help system. Profiles describe the documentation
++ to use so that only application specific documentation will be
++ referenced in an end user installation. Profiles also allow some
++ customization of the look in Qt Assistant. For detailed information,
++ see the helpdemo example in $QTDIR/examples/helpdemo.
++
++ Profiles replace the content files and categories system. The
++ following command line options are removed since they no longer serve
++ any purpose: addContentFile, removeContentFile, category, and
++ disableFirstRun.
++
++ Qt Assistant has multiple tabs for browsing, therefore enabling
++ multiple pages to be browsed without opening a new window.
++
++ It is possible to specify a default home page.
++
++ It is possible to specify a PDF reader so that urls to PDF files can
++ be opened from Qt Assistant.
++
++ Compilers
++ ---------
++
++ Note: Qt 3.2 is the last version to officially support IRIX MIPSpro
++ o32 and Sun CC 5.0. A script, $QTDIR/bin/qt32castcompat, is provided
++ for 3.2 which needs to be run for these compilers.
++
++ Miscellaneous
++ -------------
++
++ Users of the 3.2.0 beta releases please note: The QWidgetContainerPlugin
++ interfaces was removed from the final release due to some serious issues.
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ - QAction / QActionGroup
++ Simplified constructors so that it is no longer necessary to
++ specify texts for buttons and menu items separately.
++ For action groups, we fixed the enable/disable behavior. If
++ an action inside an action group is explicitly disabled, it is
++ no longer implicitly enabled together with the group.
++ This is identical to enabling/disabling widgets and their
++ children.
++
++ - QApplication
++ Added the aboutQt() slot for convenience.
++
++ - QAssistantClient
++ Added the new function, setArguments(), that invokes Qt
++ Assistant in different modes.
++
++ - QAxBase
++ Added the new function, asVariant(), that passes a COM
++ object through dynamicCall().
++
++ - QAxBindable
++ Added the new function, reportError(), that sends error
++ information to the ActiveX client.
++
++ - QColor
++ Added the new static function, colorNames(), that retrieves a
++ list of all color names known to Qt.
++
++ - QDeepCopy
++ Now also supports QDir, QFileInfo, and QStringList.
++
++ - QDom
++ Now has long and ulong support for setAttribute() and
++ setAttributeNS().
++
++ - QFont
++ Added the new properties: stretch and overline. Added the new
++ function, resolve(), that copies unspecified attributes from
++ one font to another.
++
++ - QFontDataBase
++ Added a new overload for families() that restricts the
++ returned list to fonts supporting a specific QFont::Script,
++ e.g. QFont::Greek, QFont::Devanagari or QFont::Arabic.
++
++ - QFontInfo / QFontMetrics
++ Added new constructors that force the info and metrics objects
++ to use a given QFont::Script.
++
++ - QGLWidget
++ Added a new constructor that takes a QGLContext
++ parameter. Makes the undocumented setContext() obsolete.
++
++ - QHeader
++ Added getters for the sort indicator (sortIndicatorSection()
++ and sortIndicatorOrder() ).
++
++ - QImage
++ Added a new overload for save() that writes to a given
++ QIODevice*.
++
++ - QListView
++ Added tristate support to check list items
++ (QCheckListItem::setTristate()). Added the new function,
++ setSelectionAnchor(), to set the list view's selection anchor
++ explicitly.
++
++ - QLineEdit
++ Added input masks: setInputMask(), inputMask(), and
++ hasAcceptableInput(). Added new function selectionStart()
++ which returns the index of the first selected character in the
++ line edit.
++
++ - QMacStyle
++ Added customizable focus rectangle policy.
++
++ - QMessageBox
++ Added the new static function, question(), that complements
++ the existing information(), warning() and fatal() functions.
++
++ - QMotifDialog [Qt Motif Extension]
++ Now has two distinct modes of operation: 1) it allows a Motif
++ dialog to have a Qt parent, and 2) it allows a Qt dialog to have
++ a Motif parent.
++
++ - QMYSQLDriver
++ Better support for MySQL/embedded.
++
++ - QPixmapCache
++ Added the new function, remove(), to explicitly remove a
++ pixmap from the cache.
++
++ - QPrinter
++ Added the new functions: setPrintRange(), printRange(),
++ setOptionEnabled(), and optionEnabled(). For Windows only,
++ added the new function, setWinPageSize(), that allows setting
++ DEVMODE.dmPaperSize directly.
++
++ - QPtrList
++ Added STL-like iterators with begin(), end(), and erase().
++
++ - QScrollBar
++ Maintains a user defined size policy when the direction
++ changes.
++
++ - QSplashScreen [new]
++ This new widget class provides a splash screen to be shown
++ during application startup.
++
++ - QSplitter
++ Added the new properties: opaqueResize, childrenCollapsible,
++ and handleWidth.
++
++ - QSqlError
++ Added a couple of convenience functions: text(), which returns
++ the concatenated database and driver texts. showMessage(),
++ which will pop up a QMessageBox with the text that text()
++ returns.
++
++ - QSqlQuery
++ Added overloads for the bindValue() call which makes it
++ possible to specifiy what role a bound value should have: In,
++ Out or InOut.
++
++ - QSqlSelectCursor [new]
++ This new QSqlCursor subclass provides browsing of general SQL
++ SELECT statements.
++
++ - QSqlDatabase
++ Added overloaded tables() call which can return tables, views
++ and/or system tables.
++
++ - QPSQLDriver
++ Calling tables() with no arguments will only return table names,
++ instead of table and view names as in Qt 3.1.
++ The new tables() call in QSqlDatabase can be used to get
++ table and/or view names.
++
++ - QString
++ Added 64 bit support. Added the new functions: multiArg(),
++ reserve(), capacity(), squeeze(). Added case insensitive
++ overloads for startsWith() and endsWidth().
++
++ - QStringList
++ Added the new function gres().
++
++ - QStyle
++ Added support for toolbox, header, MDI frame, table grid line
++ color, line edit password character, and message box question.
++
++ - QSyntaxHighlighter
++ Added the new function, currentParagraph().
++
++ - QTabWidget
++ Added support for custom widgets to be placed beside
++ the tab bar: setCornerWidget() and cornerWidget().
++
++ - QTextEdit
++ In Log mode, added the new functions: setMaxLogLines() and
++ maxLogLines(). Implemented insertAt() for LogText mode.
++
++ - QThreadStorage [new]
++ This new tool class provides per-thread data storage, also
++ referred to as thread local storage or TLS.
++
++ - QToolBox [new]
++ This new widget class provides a column of tabbed widgets, one
++ above the other, with the current page displayed below the
++ current tab.
++
++ - QVariant
++ Added support for LongLong and ULongLong.
++
++ - QWidget
++ Added a new widget flag, WNoAutoErase, that combines the now
++ obsolete WResizeNoErase and WRepaintNoErase flags.