Revision control

++ Qt 3.3 introduces many new features as well as many improvements over
++ the 3.2.x series. For more details, see the online documentation which
++ is included in this distribution. The documentation is also available
++
++ 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 classes
++ developed with Qt in a .NET environment. It includes an analysis of
++ the different interoperability infrastructures provided by the .NET
++ framework. An example demonstrates how to use both a manual approach
++ with Microsoft's managed extensions to the C++ language, and also
++ automated solutions based on COM and the ActiveQt framework to reuse
++ native Qt classes and widgets in .NET projects. To learn more about Qt
++ and .NET read the "Using Qt objects in Microsoft .NET" walkthrough
++ found in the ActiveQt framework documentation.
++
++ Qt 3.3 now supports IPv6 in addition to IPv4. New functions have been
++ added for IPv6 support to QSocketDevice, QHostAddress and QDNns.
++
++ Qt now includes a new tool class called QLocale. This class converts
++ between numbers and their string representations in various languages.
++ QLocale supports the concept of a default locale which allows a locale
++ to be set globally for the entire application.
++
++ Support for new 64bit platforms and compilers has been added for Qt
++ 3.3. Qt now supports Itanium on both Linux (Intel C++ compiler) and
++ Windows (MSVC and Intel C++ Compiler). Qt 3.3 now also officially
++ supports FreeBSD.
++
++ Qt 3.3 also supports precompiled headers for Windows, Mac OS X and
++ X11. To use precompiled headers when compiling your Qt application
++ simply add PRECOMPILED_HEADER and then specify the header file to
++ precompile in your .pro file. To learn more about precompiled headers
++ see the "Using Precompiled Headers" chapter in the qmake User Guide.
++
++ Two new database drivers have been added to the SQL module, InterBase
++ and SQLite. This makes it possible to write database applications that
++ do not require a database server. SQLite is provided in the Qt 3.3
++ distribution and can be enabled with either -qt-sql-sqlite or
++ -plugin-sql-sqlite. The InterBase plugin also works with Firebird, the
++ open source version of InterBase.
++
++ QWidget has a new function setWindowState() which is used to make a
++ widget maximized, minimized, etc. This allows individual settings for
++ the minimized/maximized/fullscreen properties.
++
++ Support for semi-transparent top-level widgets on Mac OS X and Windows
++ 2000/XP has also been added.
++
++ A new example, qregexptester, has been added that makes it easy to
++ test QRegExps on sample strings.
++
++ Qt 3.3 includes in addition to this, numerous bug fixes and
++ improvements. Special thanks goes to KDE for their reports and
++ suggestions.
++
++
++ Qt/Embedded
++ -----------
++
++ Added support for SNAP graphics drivers from SciTech Software. This
++ gives access to accelerated drivers for more than 150 graphics
++ chipsets.
++
++
++ Qt/Mac
++ ------
++
++ QAccessible support has been introduced (implemented in terms of Apple's
++ Universal 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 the
++ RENDER extension.
++
++ Added a new configure option (-dlopen-opengl) which will remove the
++ OpenGL and Xmu library dependencies in the Qt library. The functions
++ used 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 same
++ application. Click-to-focus works with Motif widgets that are children
++ of a QMotifWidget.
++
++
++ ActiveQt Extension
++ ------------------
++
++ Two new functions, QAxFactory::startServer() and
++ QAxFactory::stopServer(), can be used to start and stop an
++ out-of-process ActiveQt server at runtime. The new functions
++ QAxFactory::serverDirPath() and QAxFactory::serverFilePath() return
++ the location of the COM server binary. Server binaries no longer
++ need to implement a main() entry point function. A default
++ implementation is used for out-of-process servers. IClassFactory2
++ is supported for the development of licensed components, and
++ QAxFactory supports the creation of non-visual COM objects. Class
++ specific information can be provided directly in the C++ class
++ declaration using the Q_CLASSINFO macro to control how objects and
++ controls are registered and exposed. New helper classes and macros
++ are avialable to make it even easier to expose object classes (see the
++ QAxServer documentation for details).
++
++ COM objects developed with ActiveQt are now supported in a wider range
++ of clients, including Microsoft Office applications and .NET. Examples
++ that demonstrate how to use the Qt objects from the examples in .NET
++ languages like C# are included. QStringList is supported as a type,
++ and QRect, QSize and QPoint are now supported datatypes for control
++ properties and as reference parameters. Saving the controls to a
++ storage or stream now includes the version number of the QDataStream
++ used for the serialization (note that this might break existing
++ storages).
++
++ The QAxContainer library is now static even for shared configurations
++ of Qt. This simplifies deployment and allows using both QAxServer and
++ QAxContainer in one project, i.e. an OLE automatable application that
++ uses COM objects itself. The semantics of QAxBase::setControl() have
++ been extended to allow creating of COM objects on remote machines via
++ DCOM, to create controls requiring a license key and to connect to
++ already running objects. The implementation of QAxBase::dynamicCall()
++ has been improved to support passing of parameter values directly in
++ the function string. Three new classes, QAxScript, QAxScriptManager
++ and QAxScriptEngine, can be used to script COM objects from within Qt
++ applications using Windows Script Host.
++
++ SAFEARRAY(BSTR) parameters are supported as QStringList. Calling COM
++ object 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 speed
++ optimizations, along with minor improvements to the menu editor.
++
++
++ Qt Assistant
++ ------------
++
++ Qt Assistant now saves the states of the tab bars between runs. This
++ enables users to start browsing where they ended their previous
++ assistant session.
++
++ Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have been
++ implemented.
++
++
++ Compilers
++ ---------
++
++ Qt 3.3 adds support for two new compilers. The Intel C++ compiler is
++ supported on Windows, Linux and FreeBSD. GNU gcc is supported on
++ Windows using MinGW.
++
++ Qt 3.3 no longer officially supports the Sun WorkShop 5.0 compiler or the
++ SGI 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.