Define QT_OPEN_LARGEFILE on Symbian + WinCE
[qt-netbsd.git] / dist / changes-3.3.0
blobb386f8c07ae69814d2059ffc254a571cebc48848
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 C++ compiler) and
36 Windows (MSVC and Intel C++ Compiler). Qt 3.3 now also officially
37 supports FreeBSD.
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.
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.
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.
56 Support for semi-transparent top-level widgets on Mac OS X and Windows
57 2000/XP has also been added.
59 A new example, qregexptester, has been added that makes it easy to
60 test QRegExps on sample strings.
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.
67 Qt/Embedded
68 -----------
70 Added support for SNAP graphics drivers from SciTech Software. This
71 gives access to accelerated drivers for more than 150 graphics
72 chipsets.
75 Qt/Mac
76 ------
78 QAccessible support has been introduced (implemented in terms of Apple's
79 Universal Access API).
81 Added support for Xcode project files in qmake.
83 Added Tablet support for Mac OS X.
85 Numerous visual improvements.
88 Qt/X11
89 ------
91 Added support for Xft2 client side fonts on X servers without the
92 RENDER extension.
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.
99 Improved support for the Extended Window Manager Hints.
102 Qt/Windows
103 ----------
105 Added support for Windows Server 2003 (Win64/Itanium).
108 Qt Motif Extension
109 ------------------
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.
116 ActiveQt Extension
117 ------------------
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).
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).
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.
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.
165 Qt Designer
166 -----------
168 Qt Designer, Qt's visual GUI builder, has received some speed
169 optimizations, along with minor improvements to the menu editor.
172 Qt Assistant
173 ------------
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.
179 Shortcuts for Find Next (F3) and Find Previous (Shift+F3) have been
180 implemented.
183 Compilers
184 ---------
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.
190 Qt 3.3 no longer officially supports the Sun WorkShop 5.0 compiler or the
191 SGI MIPSpro o32 mode.
194 ****************************************************************************
195 *                          Library                                         *
196 ****************************************************************************
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.
205 - QButtonGroup
206         Added QButtonGroup::selectedId property to allow mapping with
207         SQL property sets.
209 - QCursor
210         Added new enum value Qt::BusyCursor.
211         X11 only: Added QCursor constructor taking a X11 cursor handle.
213 - QDom
214         The QDom classes are now reentrant.
216 - QEvent
217         Added new event type WindowStateChange, obsoleting ShowNormal,
218         ShowMinimized, ShowMaximized and ShowFullScreen.
220 - QHeader
221         The sizeChange() signal is emitted when the section sizes are
222         adjusted by double clicking.
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().
230 - QIconView
231         Improved keyboard search to behave like QListView.
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.
240 - QLocale [new]
241         This new tool class converts between numbers and their string
242         representations in various languages.
244 - QMacStyle
245         Allow disabling of size constraints.
247 - QMovie
248         Added JNG support.
250 - QPixmap
251         Support full alpha-maps for paletted (8-bit) images.
252         Support 16-bit grayscale PNG images with transparency.
254 - QPushButton
255         A push button with both an iconset and text left-aligns the
256         text.
258 - QSocketDevice
259         Added setProtocol() and protocol() for IPv6 support.
261 - QSound
262         Windows: Support loop related APIs.
264 - QSplashScreen
265         Less intrusive stay-on-top policy.
267 - QSql
268         Support for InterBase and SQLite.
270 - QStatusBar
271         Draw messages with the foreground() color of the palette,
272         rather than with the text() color.
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.
284 - QStyle
285         Add a new primitive element: PE_RubberBand.
286         Added PM_MenuBarItemSpacing and PM_ToolBarItemSpacing pixel metrics.
288 - QTextDrag
289         decode() now autodetects the encoding of text/html content.
291 - QTextEdit
292         Reduced memory consumption by 20 bytes per line.
293         Added a getter for the currently set QSyntaxHighlighter.
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.
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.
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.