diff -r 000000000000 -r 1918ee327afb dist/changes-3.2.0 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dist/changes-3.2.0 Mon Jan 11 14:00:40 2010 +0000 @@ -0,0 +1,327 @@ + +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 +at http://qt.nokia.com/doc/ + +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.