Qt 3.3 introduces many new features as well as many improvements overthe 3.2.x series. For more details, see the online documentation whichis included in this distribution. The documentation is also availableat http://qt.nokia.com/doc/The Qt version 3.3 series is binary compatible with the 3.2.x series.Applications compiled for 3.2 will continue to run with 3.3.***************************************************************************** General *****************************************************************************Qt library----------Qt 3.3 is .NET enabled. This release shows how to use classesdeveloped with Qt in a .NET environment. It includes an analysis ofthe different interoperability infrastructures provided by the .NETframework. An example demonstrates how to use both a manual approachwith Microsoft's managed extensions to the C++ language, and alsoautomated solutions based on COM and the ActiveQt framework to reusenative Qt classes and widgets in .NET projects. To learn more about Qtand .NET read the "Using Qt objects in Microsoft .NET" walkthroughfound in the ActiveQt framework documentation.Qt 3.3 now supports IPv6 in addition to IPv4. New functions have beenadded for IPv6 support to QSocketDevice, QHostAddress and QDNns.Qt now includes a new tool class called QLocale. This class convertsbetween numbers and their string representations in various languages.QLocale supports the concept of a default locale which allows a localeto be set globally for the entire application.Support for new 64bit platforms and compilers has been added for Qt3.3. Qt now supports Itanium on both Linux (Intel C++ compiler) andWindows (MSVC and Intel C++ Compiler). Qt 3.3 now also officiallysupports FreeBSD.Qt 3.3 also supports precompiled headers for Windows, Mac OS X andX11. To use precompiled headers when compiling your Qt applicationsimply add PRECOMPILED_HEADER and then specify the header file to precompile in your .pro file. To learn more about precompiled headerssee the "Using Precompiled Headers" chapter in the qmake User Guide.Two new database drivers have been added to the SQL module, InterBaseand SQLite. This makes it possible to write database applications thatdo not require a database server. SQLite is provided in the Qt 3.3distribution and can be enabled with either -qt-sql-sqlite or-plugin-sql-sqlite. The InterBase plugin also works with Firebird, theopen source version of InterBase.QWidget has a new function setWindowState() which is used to make awidget maximized, minimized, etc. This allows individual settings forthe minimized/maximized/fullscreen properties.Support for semi-transparent top-level widgets on Mac OS X and Windows2000/XP has also been added.A new example, qregexptester, has been added that makes it easy totest QRegExps on sample strings.Qt 3.3 includes in addition to this, numerous bug fixes andimprovements. Special thanks goes to KDE for their reports andsuggestions.Qt/Embedded-----------Added support for SNAP graphics drivers from SciTech Software. Thisgives access to accelerated drivers for more than 150 graphicschipsets.Qt/Mac------QAccessible support has been introduced (implemented in terms of Apple'sUniversal Access API).Added support for Xcode project files in qmake.Added Tablet support for Mac OS X.Numerous visual improvements.Qt/X11------Added support for Xft2 client side fonts on X servers without theRENDER extension.Added a new configure option (-dlopen-opengl) which will remove theOpenGL and Xmu library dependencies in the Qt library. The functionsused by Qt in those libraries are resolved manually using dlopen()when this option is used.Improved support for the Extended Window Manager Hints.Qt/Windows----------Added support for Windows Server 2003 (Win64/Itanium).Qt Motif Extension------------------Clipboard operations now work between Qt and Motif widgets in the sameapplication. Click-to-focus works with Motif widgets that are childrenof a QMotifWidget.ActiveQt Extension------------------Two new functions, QAxFactory::startServer() andQAxFactory::stopServer(), can be used to start and stop anout-of-process ActiveQt server at runtime. The new functionsQAxFactory::serverDirPath() and QAxFactory::serverFilePath() returnthe location of the COM server binary. Server binaries no longerneed to implement a main() entry point function. A defaultimplementation is used for out-of-process servers. IClassFactory2is supported for the development of licensed components, andQAxFactory supports the creation of non-visual COM objects. Classspecific information can be provided directly in the C++ classdeclaration using the Q_CLASSINFO macro to control how objects andcontrols are registered and exposed. New helper classes and macrosare avialable to make it even easier to expose object classes (see theQAxServer documentation for details).COM objects developed with ActiveQt are now supported in a wider rangeof clients, including Microsoft Office applications and .NET. Examplesthat demonstrate how to use the Qt objects from the examples in .NETlanguages like C# are included. QStringList is supported as a type,and QRect, QSize and QPoint are now supported datatypes for controlproperties and as reference parameters. Saving the controls to astorage or stream now includes the version number of the QDataStreamused for the serialization (note that this might break existingstorages).The QAxContainer library is now static even for shared configurationsof Qt. This simplifies deployment and allows using both QAxServer andQAxContainer in one project, i.e. an OLE automatable application thatuses COM objects itself. The semantics of QAxBase::setControl() havebeen extended to allow creating of COM objects on remote machines viaDCOM, to create controls requiring a license key and to connect toalready running objects. The implementation of QAxBase::dynamicCall()has been improved to support passing of parameter values directly inthe function string. Three new classes, QAxScript, QAxScriptManagerand QAxScriptEngine, can be used to script COM objects from within Qtapplications using Windows Script Host.SAFEARRAY(BSTR) parameters are supported as QStringList. Calling COMobject methods with out-parameters of type short, char and float is now supported (the parameters are of type int& and double& in the Qt wrapper), and QVariants used for out-parameters don't have to be initialized to the expected type. Calling QByteArray functions in out-of-process controls no longer returns an error code. The control's client side is set to zero when the container releases the control.Qt Designer-----------Qt Designer, Qt's visual GUI builder, has received some speedoptimizations, along with minor improvements to the menu editor.Qt Assistant------------Qt Assistant now saves the states of the tab bars between runs. Thisenables users to start browsing where they ended their previousassistant session.Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have beenimplemented.Compilers---------Qt 3.3 adds support for two new compilers. The Intel C++ compiler issupported on Windows, Linux and FreeBSD. GNU gcc is supported onWindows using MinGW.Qt 3.3 no longer officially supports the Sun WorkShop 5.0 compiler or theSGI MIPSpro o32 mode.***************************************************************************** Library *****************************************************************************- QAction Added a setDisabled() slot similar to QWidget::setDisabled. Added an activate() slot which activates the action and executes all connected slots. QActions::menuText() escapes ampersand characters ('&') when using the value of the text property.- QButtonGroup Added QButtonGroup::selectedId property to allow mapping with SQL property sets.- QCursor Added new enum value Qt::BusyCursor. X11 only: Added QCursor constructor taking a X11 cursor handle.- QDom The QDom classes are now reentrant.- QEvent Added new event type WindowStateChange, obsoleting ShowNormal, ShowMinimized, ShowMaximized and ShowFullScreen.- QHeader The sizeChange() signal is emitted when the section sizes are adjusted by double clicking.- QHostAddress Added new constructor for IPv6 and new functions isIPv6Address() and toIPv6Address(). Obsoleted the functions isIp4Addr() and ip4Addr(), replacing them with isIPv4Address() and toIPv4Address().- QIconView Improved keyboard search to behave like QListView.- QListView Improved alignment for text in QListViewItems. Right aligned text now has the ellipsis on the left. Keyboard search now uses the sort column as the column to start searching in. Improved branch drawing.- QLocale [new] This new tool class converts between numbers and their string representations in various languages.- QMacStyle Allow disabling of size constraints.- QMovie Added JNG support.- QPixmap Support full alpha-maps for paletted (8-bit) images. Support 16-bit grayscale PNG images with transparency.- QPushButton A push button with both an iconset and text left-aligns the text.- QSocketDevice Added setProtocol() and protocol() for IPv6 support.- QSound Windows: Support loop related APIs.- QSplashScreen Less intrusive stay-on-top policy.- QSql Support for InterBase and SQLite.- QStatusBar Draw messages with the foreground() color of the palette, rather than with the text() color.- QString Added support for %lc and %ls to sprintf(). %lc takes a Unicode character of type ushort, %ls takes a zero-terminated array of Unicode characters of type ushort (i.e. const ushort*). Also added support for precision (e.g. "%.5s"). Changed arg() to support "%L1" for localized conversions. Windows only: QString::local8Bit() now returns an empty QCString when called on a null QString to unify behavior with the other platforms.- QStyle Add a new primitive element: PE_RubberBand. Added PM_MenuBarItemSpacing and PM_ToolBarItemSpacing pixel metrics.- QTextDrag decode() now autodetects the encoding of text/html content.- QTextEdit Reduced memory consumption by 20 bytes per line. Added a getter for the currently set QSyntaxHighlighter.- QTextBrowser Qt now automatically detects the charset of HTML files set with setSource().- QVariant Comparison between variants where one of the variants is a numeric value will compare on the numeric value. Type casting between different variants is more consistent.- QWidget Added setWindowOpacity() and windowOpacity() to support transparent top-level widgets on Windows and Mac. Added windowState() and setWindowState() to allow individual setting of the minimized/maximized/fullscreen properties.- QWindowsStyle Qt supports toggling of the accelerator underlines using the Alt-key on Windows 98, 2000 and later. On other platforms this change has no effect.