Fix breakage introduced in 21e0423a5c9ecd9da8e141dcfba25e60b55f7fe5
[qt-netbsd.git] / dist / changes-3.3.0-b1
blobd784439eed2b34b3adde092f5dac13989e66d66e
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/
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.
9 ****************************************************************************
10 *                           General                                        *
11 ****************************************************************************
13 Qt library
14 ----------
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.
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.
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.
34 Support for new 64bit platforms and compilers has been added for Qt
35 3.3.  Qt now supports Itanium on both Linux (Intel) and Windows
36 (VC++). Qt 3.3 now also officially supports FreeBSD.
38 Qt 3.3 also supports precompiled headers for both Windows and Mac OS
39 X. To use precompiled headers when compiling your Qt application
40 simply add PRECOMPH and then specify the header file to precompile in
41 your .pro file. To learn more about precompiled headers see the
42 "Using Precompiled Headers" chapter in the qmake User Guide.
44 Two new database drivers have been added to the SQL module, InterBase
45 and SQLite. This makes it possible to write database applications that
46 do not require a database server. SQLite is provided in the Qt 3.3
47 distribution and can be enabled with either -qt-sql-sqlite or
48 -plugin-sql-sqlite. The InterBase plugin also works with Firebird, the
49 open source version of InterBase.
51 QWidget has a new function setWindowState() which is used to make a
52 widget maximized, minimized, etc. This allows individual settings for
53 the minimized/maximized/fullscreen properties.
55 Support for semi-transparent top-level widgets on Mac OS X and Windows
56 2000/XP has also been added.
58 Qt 3.3 includes in addition to this, numerous bug fixes and
59 improvements. Special thanks goes to KDE for their reports and
60 suggestions.
63 Qt/Embedded
64 -----------
66 Added support for SNAP graphics drivers from SciTech Software. This
67 gives access to accelerated drivers for more than 150 graphics
68 chipsets.
71 Qt/Mac
72 ------
74 Added support for Xcode project files in qmake.
75 Added Tablet support for Mac OS X.
76 Numerous visual improvements.
79 Qt/X11
80 ------
82 Added support for Xft2 client side fonts on X servers without the
83 RENDER extension.
85 Added a new configure option (-dlopen-opengl) which will remove the
86 OpenGL and Xmu library dependencies in the Qt library. The functions
87 used by Qt in those libraries are resolved manually using dlopen()
88 when this option is used.
90 Improved support for the Extended Window Manager Hints.
93 Qt/Windows
94 ----------
96 Added support for Windows Server 2003 (Win64/Itanium).
99 Qt Motif Extension
100 ------------------
102 Clipboard operations now work between Qt and Motif widgets in the same
103 application. Click-to-focus works with Motif widgets that are children
104 of a QMotifWidget.
107 ActiveQt Extension
108 ------------------
110 Two new functions, QAxFactory::startServer() and
111 QAxFactory::stopServer(), can be used to start and stop an
112 out-of-process ActiveQt server at runtime. The new functions
113 QAxFactory::serverDirPath() and QAxFactory::serverFilePath() return
114 the location of the COM server binary. Server binaries no longer
115 need to implement a main() entry point function. A default
116 implementation is used for out-of-process servers. IClassFactory2
117 is supported for the development of licensed components, and
118 QAxFactory supports the creation of non-visual COM objects. Class
119 specific information can be provided directly in the C++ class
120 declaration using the Q_CLASSINFO macro to control how objects and
121 controls are registered and exposed. New helper classes and macros
122 are avialable to make it even easier to expose object classes (see the
123 QAxServer documentation for details).
125 COM objects developed with ActiveQt are now supported in a wider range
126 of clients, including Microsoft Office applications and .NET. Examples
127 that demonstrate how to use the Qt objects from the examples in .NET
128 languages like C# are included. QStringList is supported as a type,
129 and QRect, QSize and QPoint are now supported datatypes for control
130 properties and as reference parameters. Saving the controls to a
131 storage or stream now includes the version number of the QDataStream
132 used for the serialization (note that this might break existing
133 storages).
135 The QAxContainer library is now static even for shared configurations
136 of Qt. This simplifies deployment and allows using both QAxServer and
137 QAxContainer in one project, i.e. an OLE automatable application that
138 uses COM objects itself. The semantics of QAxBase::setControl() have
139 been extended to allow creating of COM objects on remote machines via
140 DCOM, to create controls requiring a license key and to connect to
141 already running objects. The implementation of QAxBase::dynamicCall()
142 has been improved to support passing of parameter values directly in
143 the function string. Three new classes, QAxScript, QAxScriptManager
144 and QAxScriptEngine, can be used to script COM objects from within Qt
145 applications using Windows Script Host.
147 SAFEARRAY(BSTR) parameters are supported as QStringList. Calling COM
148 object methods with out-parameters of type short is now supported (the
149 parameters are of type int& in the Qt wrapper), and QVariants used for
150 out-parameters don't have to be initialized to the expected type.
151 Calling QByteArray functions in out-of-process controls no longer
152 returns an error code. The control's client side is set to zero when
153 the container releases the control.
156 Qt Designer
157 -----------
159 Qt Designer, Qt's visual GUI builder, has received some speed
160 optimizations, along with minor improvements to the menu editor.
163 Qt Assistant
164 ------------
166 Qt Assistant now saves the states of the tab bars between runs. This
167 enables users to start browsing where they ended their previous
168 assistant session.
170 Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have been
171 implemented.
174 Compilers
175 ---------
177 Qt 3.3 adds support for two new compilers. The Intel C++ compiler is
178 supported on Linux and FreeBSD. GNU gcc is supported on Windows using
179 MinGW.
181 Qt 3.3 no longer officially supports the Sun CC 5.0 compiler or the
182 IRIX MIPSpro o32 mode.
185 ****************************************************************************
186 *                          Library                                         *
187 ****************************************************************************
189 - QAction
190         Added a setDisabled() slot similar to QWidget::setDisabled.
191         Added an activate() slot which activates the action and
192         executes all connected slots.
193         Added showStatusMessage() and whatsThisClicked() signals.
195 - QButtonGroup
196         Added QButtonGroup::selectedId property to allow mapping with
197         SQL property sets.
199 - QCursor
200         Added new enum value Qt::BusyCursor.
202 - QDom
203         The QDom classes are now reentrant.
205 - QEvent
206         Added new event type WindowStateChange, obsoleting ShowNormal,
207         ShowMinimized, ShowMaximized and ShowFullScreen.
209 - QHeader
210         The sizeChange() signal is emitted when the section sizes are
211         adjusted by double clicking.
213 - QHostAddress
214         Added new constructor for IPv6 and new functions
215         isIPv6Address() and toIPv6Address(). Obsoleted the functions
216         isIp4Addr() and ip4Addr(), replacing them with isIPv4Address()
217         and toIPv4Address().
219 - QListView
220         Improved alignment for text in QListViewItems. Right aligned
221         text now has the ellipsis on the left.
222         Keyboard search now uses the sort column as the column to
223         start searching in.
224         Improved branch drawing.
226 - QLocale [new]
227         This new tool class converts between numbers and their string
228         representations in various languages.
230 - QMacStyle
231         Allow disabling of size constraints.
233 - QMovie
234         Added JNG support.
236 - QPixmap
237         Support full alpha-maps for paletted (8-bit) images.
238         Support 16-bit grayscale PNG images with transparency.
240 - QSocketDevice
241         Added setProtocol() and protocol() for IPv6 support.
243 - QSound
244         Windows: Support loop related APIs.
246 - QSplashScreen
247         Less intrusive stay-on-top policy.
249 - QSql
250         Support for InterBase and SQLite.
252 - QStatusBar
253         Draw messages with the foreground() color of the palette,
254         rather than with the text() color.
256 - QString
257         Added support for %lc and %ls to sprintf(). %lc takes a
258         Unicode character of type ushort, %ls takes a zero-terminated
259         array of Unicode characters of type ushort (i.e. const
260         ushort*). Also added support for precision (e.g. "%.5s").
261         Changed arg() to support "%L1" for localized conversions.
263 - QStyle
264         Add a new primitive element: PE_RubberBand.
266 - QTextEdit
267         Reduced memory consumption by 20 bytes per line.
268         Added a getter for the currently set QSyntaxHighlighter.
270 - QVariant
271         Comparison between variants where one of the variants is a
272         numeric value will compare on the numeric value. Type casting
273         between different variants is more consistent.
275 - QWidget
276         Added setWindowOpacity() and windowOpacity() to support
277         transparent top-level widgets on Windows and Mac.
278         Added windowState() and setWindowState() to allow individual
279         setting of the minimized/maximized/fullscreen properties.
281 - QWindowsStyle
282         Qt supports toggling of the accelerator underlines using the
283         Alt-key on Windows 98, 2000 and later. On other platforms this
284         change has no effect.