dist/changes-3.3.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.3 introduces many new features as well as many improvements over
       
     2 the 3.2.x series. For more details, see the online documentation which
       
     3 is included in this distribution. The documentation is also available
       
     4 at http://qt.nokia.com/doc/
       
     5 
       
     6 The Qt version 3.3 series is binary compatible with the 3.2.x series.
       
     7 Applications compiled for 3.2 will continue to run with 3.3.
       
     8 
       
     9 ****************************************************************************
       
    10 *			    General					   *
       
    11 ****************************************************************************
       
    12 
       
    13 Qt library
       
    14 ----------
       
    15 
       
    16 Qt 3.3 is .NET enabled. This release shows how to use classes
       
    17 developed with Qt in a .NET environment. It includes an analysis of
       
    18 the different interoperability infrastructures provided by the .NET
       
    19 framework. An example demonstrates how to use both a manual approach
       
    20 with Microsoft's managed extensions to the C++ language, and also
       
    21 automated solutions based on COM and the ActiveQt framework to reuse
       
    22 native Qt classes and widgets in .NET projects. To learn more about Qt
       
    23 and .NET read the "Using Qt objects in Microsoft .NET" walkthrough
       
    24 found in the ActiveQt framework documentation.
       
    25 
       
    26 Qt 3.3 now supports IPv6 in addition to IPv4. New functions have been
       
    27 added for IPv6 support to QSocketDevice, QHostAddress and QDNns.
       
    28 
       
    29 Qt now includes a new tool class called QLocale. This class converts
       
    30 between numbers and their string representations in various languages.
       
    31 QLocale supports the concept of a default locale which allows a locale
       
    32 to be set globally for the entire application.
       
    33 
       
    34 Support for new 64bit platforms and compilers has been added for Qt
       
    35 3.3.  Qt now supports Itanium on both Linux (Intel C++ compiler) and
       
    36 Windows (MSVC and Intel C++ Compiler). Qt 3.3 now also officially
       
    37 supports FreeBSD.
       
    38 
       
    39 Qt 3.3 also supports precompiled headers for Windows, Mac OS X and
       
    40 X11. To use precompiled headers when compiling your Qt application
       
    41 simply add PRECOMPILED_HEADER and then specify the header file to 
       
    42 precompile in your .pro file. To learn more about precompiled headers
       
    43 see the "Using Precompiled Headers" chapter in the qmake User Guide.
       
    44 
       
    45 Two new database drivers have been added to the SQL module, InterBase
       
    46 and SQLite. This makes it possible to write database applications that
       
    47 do not require a database server. SQLite is provided in the Qt 3.3
       
    48 distribution and can be enabled with either -qt-sql-sqlite or
       
    49 -plugin-sql-sqlite. The InterBase plugin also works with Firebird, the
       
    50 open source version of InterBase.
       
    51 
       
    52 QWidget has a new function setWindowState() which is used to make a
       
    53 widget maximized, minimized, etc. This allows individual settings for
       
    54 the minimized/maximized/fullscreen properties.
       
    55 
       
    56 Support for semi-transparent top-level widgets on Mac OS X and Windows
       
    57 2000/XP has also been added.
       
    58 
       
    59 A new example, qregexptester, has been added that makes it easy to
       
    60 test QRegExps on sample strings.
       
    61 
       
    62 Qt 3.3 includes in addition to this, numerous bug fixes and
       
    63 improvements. Special thanks goes to KDE for their reports and
       
    64 suggestions.
       
    65 
       
    66 
       
    67 Qt/Embedded
       
    68 -----------
       
    69 
       
    70 Added support for SNAP graphics drivers from SciTech Software. This
       
    71 gives access to accelerated drivers for more than 150 graphics
       
    72 chipsets.
       
    73 
       
    74 
       
    75 Qt/Mac
       
    76 ------
       
    77 
       
    78 QAccessible support has been introduced (implemented in terms of Apple's
       
    79 Universal Access API).
       
    80 
       
    81 Added support for Xcode project files in qmake.
       
    82 
       
    83 Added Tablet support for Mac OS X.
       
    84 
       
    85 Numerous visual improvements.
       
    86 
       
    87 
       
    88 Qt/X11
       
    89 ------
       
    90 
       
    91 Added support for Xft2 client side fonts on X servers without the
       
    92 RENDER extension.
       
    93 
       
    94 Added a new configure option (-dlopen-opengl) which will remove the
       
    95 OpenGL and Xmu library dependencies in the Qt library. The functions
       
    96 used by Qt in those libraries are resolved manually using dlopen()
       
    97 when this option is used.
       
    98 
       
    99 Improved support for the Extended Window Manager Hints.
       
   100 
       
   101 
       
   102 Qt/Windows
       
   103 ----------
       
   104 
       
   105 Added support for Windows Server 2003 (Win64/Itanium).
       
   106 
       
   107 
       
   108 Qt Motif Extension
       
   109 ------------------
       
   110 
       
   111 Clipboard operations now work between Qt and Motif widgets in the same
       
   112 application. Click-to-focus works with Motif widgets that are children
       
   113 of a QMotifWidget.
       
   114 
       
   115 
       
   116 ActiveQt Extension
       
   117 ------------------
       
   118 
       
   119 Two new functions, QAxFactory::startServer() and
       
   120 QAxFactory::stopServer(), can be used to start and stop an
       
   121 out-of-process ActiveQt server at runtime. The new functions
       
   122 QAxFactory::serverDirPath() and QAxFactory::serverFilePath() return
       
   123 the location of the COM server binary. Server binaries no longer
       
   124 need to implement a main() entry point function. A default
       
   125 implementation is used for out-of-process servers. IClassFactory2
       
   126 is supported for the development of licensed components, and
       
   127 QAxFactory supports the creation of non-visual COM objects. Class
       
   128 specific information can be provided directly in the C++ class
       
   129 declaration using the Q_CLASSINFO macro to control how objects and
       
   130 controls are registered and exposed. New helper classes and macros
       
   131 are avialable to make it even easier to expose object classes (see the
       
   132 QAxServer documentation for details).
       
   133 
       
   134 COM objects developed with ActiveQt are now supported in a wider range
       
   135 of clients, including Microsoft Office applications and .NET. Examples
       
   136 that demonstrate how to use the Qt objects from the examples in .NET
       
   137 languages like C# are included. QStringList is supported as a type,
       
   138 and QRect, QSize and QPoint are now supported datatypes for control
       
   139 properties and as reference parameters. Saving the controls to a
       
   140 storage or stream now includes the version number of the QDataStream
       
   141 used for the serialization (note that this might break existing
       
   142 storages).
       
   143 
       
   144 The QAxContainer library is now static even for shared configurations
       
   145 of Qt. This simplifies deployment and allows using both QAxServer and
       
   146 QAxContainer in one project, i.e. an OLE automatable application that
       
   147 uses COM objects itself. The semantics of QAxBase::setControl() have
       
   148 been extended to allow creating of COM objects on remote machines via
       
   149 DCOM, to create controls requiring a license key and to connect to
       
   150 already running objects. The implementation of QAxBase::dynamicCall()
       
   151 has been improved to support passing of parameter values directly in
       
   152 the function string. Three new classes, QAxScript, QAxScriptManager
       
   153 and QAxScriptEngine, can be used to script COM objects from within Qt
       
   154 applications using Windows Script Host.
       
   155 
       
   156 SAFEARRAY(BSTR) parameters are supported as QStringList. Calling COM
       
   157 object methods with out-parameters of type short, char and float is 
       
   158 now supported (the parameters are of type int& and double& in the Qt 
       
   159 wrapper), and QVariants used for out-parameters don't have to be 
       
   160 initialized to the expected type. Calling QByteArray functions in 
       
   161 out-of-process controls no longer returns an error code. The control's 
       
   162 client side is set to zero when the container releases the control.
       
   163 
       
   164 
       
   165 Qt Designer
       
   166 -----------
       
   167 
       
   168 Qt Designer, Qt's visual GUI builder, has received some speed
       
   169 optimizations, along with minor improvements to the menu editor.
       
   170 
       
   171 
       
   172 Qt Assistant
       
   173 ------------
       
   174 
       
   175 Qt Assistant now saves the states of the tab bars between runs. This
       
   176 enables users to start browsing where they ended their previous
       
   177 assistant session.
       
   178 
       
   179 Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have been
       
   180 implemented.
       
   181 
       
   182 
       
   183 Compilers
       
   184 ---------
       
   185 
       
   186 Qt 3.3 adds support for two new compilers. The Intel C++ compiler is
       
   187 supported on Windows, Linux and FreeBSD. GNU gcc is supported on
       
   188 Windows using MinGW.
       
   189 
       
   190 Qt 3.3 no longer officially supports the Sun WorkShop 5.0 compiler or the
       
   191 SGI MIPSpro o32 mode.
       
   192 
       
   193 
       
   194 ****************************************************************************
       
   195 *			   Library					   *
       
   196 ****************************************************************************
       
   197 
       
   198 - QAction
       
   199 	Added a setDisabled() slot similar to QWidget::setDisabled.
       
   200 	Added an activate() slot which activates the action and
       
   201 	executes all connected slots.
       
   202 	QActions::menuText() escapes ampersand characters ('&') when
       
   203 	using the value of the text property.
       
   204 
       
   205 - QButtonGroup
       
   206 	Added QButtonGroup::selectedId property to allow mapping with
       
   207 	SQL property sets.
       
   208 
       
   209 - QCursor
       
   210 	Added new enum value Qt::BusyCursor.
       
   211 	X11 only: Added QCursor constructor taking a X11 cursor handle.
       
   212 
       
   213 - QDom
       
   214 	The QDom classes are now reentrant.
       
   215 
       
   216 - QEvent
       
   217 	Added new event type WindowStateChange, obsoleting ShowNormal,
       
   218 	ShowMinimized, ShowMaximized and ShowFullScreen.
       
   219 
       
   220 - QHeader
       
   221 	The sizeChange() signal is emitted when the section sizes are
       
   222 	adjusted by double clicking.
       
   223 
       
   224 - QHostAddress
       
   225 	Added new constructor for IPv6 and new functions
       
   226 	isIPv6Address() and toIPv6Address(). Obsoleted the functions
       
   227 	isIp4Addr() and ip4Addr(), replacing them with isIPv4Address()
       
   228 	and toIPv4Address().
       
   229 
       
   230 - QIconView
       
   231 	Improved keyboard search to behave like QListView.
       
   232 
       
   233 - QListView
       
   234 	Improved alignment for text in QListViewItems. Right aligned
       
   235 	text now has the ellipsis on the left.
       
   236 	Keyboard search now uses the sort column as the column to
       
   237 	start searching in.
       
   238 	Improved branch drawing.
       
   239 
       
   240 - QLocale [new]
       
   241 	This new tool class converts between numbers and their string
       
   242 	representations in various languages.
       
   243 
       
   244 - QMacStyle
       
   245 	Allow disabling of size constraints.
       
   246 
       
   247 - QMovie
       
   248 	Added JNG support.
       
   249 
       
   250 - QPixmap
       
   251 	Support full alpha-maps for paletted (8-bit) images.
       
   252 	Support 16-bit grayscale PNG images with transparency.
       
   253 
       
   254 - QPushButton
       
   255 	A push button with both an iconset and text left-aligns the
       
   256 	text.
       
   257 
       
   258 - QSocketDevice
       
   259 	Added setProtocol() and protocol() for IPv6 support.
       
   260 
       
   261 - QSound
       
   262 	Windows: Support loop related APIs.
       
   263 
       
   264 - QSplashScreen
       
   265 	Less intrusive stay-on-top policy.
       
   266 
       
   267 - QSql
       
   268 	Support for InterBase and SQLite.
       
   269 
       
   270 - QStatusBar
       
   271 	Draw messages with the foreground() color of the palette,
       
   272 	rather than with the text() color.
       
   273 
       
   274 - QString
       
   275 	Added support for %lc and %ls to sprintf(). %lc takes a
       
   276 	Unicode character of type ushort, %ls takes a zero-terminated
       
   277 	array of Unicode characters of type ushort (i.e. const
       
   278 	ushort*). Also added support for precision (e.g. "%.5s").
       
   279 	Changed arg() to support "%L1" for localized conversions.
       
   280 	Windows only: QString::local8Bit() now returns an empty
       
   281 	QCString when called on a null QString to unify behavior
       
   282 	with the other platforms.
       
   283 
       
   284 - QStyle
       
   285 	Add a new primitive element: PE_RubberBand.
       
   286 	Added PM_MenuBarItemSpacing and PM_ToolBarItemSpacing pixel metrics.
       
   287 
       
   288 - QTextDrag
       
   289 	decode() now autodetects the encoding of text/html content.
       
   290 
       
   291 - QTextEdit
       
   292 	Reduced memory consumption by 20 bytes per line.
       
   293 	Added a getter for the currently set QSyntaxHighlighter.
       
   294 
       
   295 - QTextBrowser
       
   296 	Qt now automatically detects the charset of HTML files set
       
   297 	with setSource().
       
   298 	
       
   299 - QVariant
       
   300 	Comparison between variants where one of the variants is a
       
   301 	numeric value will compare on the numeric value. Type casting
       
   302 	between different variants is more consistent.
       
   303 
       
   304 - QWidget
       
   305 	Added setWindowOpacity() and windowOpacity() to support
       
   306 	transparent top-level widgets on Windows and Mac.
       
   307 	Added windowState() and setWindowState() to allow individual
       
   308 	setting of the minimized/maximized/fullscreen properties.
       
   309 
       
   310 - QWindowsStyle
       
   311 	Qt supports toggling of the accelerator underlines using the
       
   312 	Alt-key on Windows 98, 2000 and later. On other platforms this
       
   313 	change has no effect.