Define QT_OPEN_LARGEFILE on Symbian + WinCE
[qt-netbsd.git] / dist / changes-4.1.0-rc1
blob6047496a0e477d259a0cfab6b8361a2d09ce6ac8
1 Qt 4.1 introduces many new features as well as many improvements and
2 bugfixes over the 4.0.x series. For more details, see the online
3 documentation which is included in this distribution. The
4 documentation is also available at http://qt.nokia.com/doc/
6 The Qt version 4.1 series is binary compatible with the 4.0.x series.
7 Applications compiled for 4.0 will continue to run with 4.1.
9 ****************************************************************************
10 *                           General                                        *
11 ****************************************************************************
13 Qt library
14 ----------
16   - Integrated support for rendering Scalable Vector Graphics (SVG)
17     drawings and animations (QtSvg module).
19   - A Portable Document Format (PDF) backend for Qt's printing system.
21   - A unit testing framework for Qt applications and libraries.
23   - Modules for extending Qt Designer and dynamic user interface
24     building.
26   - New proxy models to enable view-specific sorting and filtering of
27     data displayed using item views.
29   - Additional features for developers using OpenGL, such as support
30     for pixel and sample buffers.
32   - A flexible syntax highlighting class based on the Scribe rich text
33     framework.
35   - Support for network proxy servers using the SOCKS5 protocol.
37   - Support for OLE verbs and MIME data handling in ActiveQt.
39 Qt Designer
40 -----------
42 - Added support for editing menu bars and tool bars.
44 - Added support for adding comments to string properties.
46 - Added new static QtForm library with improved
47   QForm::Loader API for loading designer forms at run-time.
49 - Added support for namespaces in uic generated code.
51 - Added support for dock widgets in main windows.
53 - Added support for editing table, tree and list widgets.
55 - Improved palette editing and resource support.
57 QTestLib
58 --------
60 - Added QTestLib, the Qt Unit Testing Library. See the "QTestLib" chapter
61   in the Qt documentation for more information.
63 - Users of older versions of QtTestLib can use the updater utility in
64   tools/qtestlib/updater to convert existing autotests to work with QTestLib.
66 Boost
67 -----
69 Added boost compatible syntax for declaring signals and slots. If you
70 define the macro QT_NO_KEYWORDS "Q_SIGNALS" and "Q_SLOTS" are
71 recognized as keywords instead of the default "signals" and "slots".
73 ActiveQt
74 --------
76 QAxServer now supports mime-type handling - a ActiveX control can be
77 registered to handle a certain file extension and mime-type, in which case
78 QAxBindable::load and QAxBindable::save can be reimplemented to serialize
79 the object.
81 Build system
82 ------------
84 Added support for linking static plugins into the application.
86 Qt 3 to 4 Porting Tool
87 ----------------------
89 Q(V|H)BoxLayout and QGridLayout usage is now ported to use
90 Q3(V|H)BoxLayout/Q3GridLayout, to retain the margin/spacing
91 behavior as in Qt 3.
93 Meta Object Compiler (moc)
94 --------------------------
96 - Added support for const signals.
98 Qt Assistant
99 ------------
101 - Added -docPath command line option for easy setting of the
102   document root path.
104 QMake
105 -----
107 - Added support for new FORMS3 profile variable to make it possible
108   to have Qt Designer forms from Qt 3 and Qt 4 in the same project.
110 - Added support for precompiled headers on win32-g++ (MinGW)
112 Compilers
113 ---------
115 Added support for Solaris 10 on AMD64 with the compiler provided by
116 Sun.
119 ****************************************************************************
120 *                          Library                                         *
121 ****************************************************************************
124 New classes
125 -----------
127 - QTreeWidgetItemIterator
128         Added iterator to help iterating over items in a QTreeWidget.
130 - QSortingProxyModel
131         The QSortingProxyModel can contain another model and handles
132         the sorting of it.
134 - QFilteringProxyModel
135         Allows you to provide a subset of a model to a view.
137 - QStringFilterModel
138         Allows you to provide a subset of a model to a view based on a
139         regular expression.
141 - QSyntaxHighlighter
142         The QSyntaxHighlighter class allows you to define syntax
143         highlighting rules.
145 - QAbstractFileEngine
146         A base class for implementing your own file and directory handling
147         back-end for QFile, QFileInfo and QDir.
149 - QAbstractFileEngineHandler
150         For registering a QAbstractFileEngine subclass with Qt.
152 - QFSFileEngine
153         The default file engine for regular file and directory access in Qt.
155 - Q3(H|V)BoxLayout and Q3GridLayout
156         Layout classes provided for compatibility that behave the same
157         as the Qt 4 classes but use a zero margin/spacing by default,
158         just like in Qt 3.
160 - Added qFromLittleEndian, qToLittleEndian, qFromBigEndian and
161   qToBigEndian endian helper conversion functions (qendian.h)
163 - Q_EXPORT_PLUGIN2 macro
164         Obsoletes Q_EXPORT_PLUGIN and allows static linking of
165         plugins.
167 - Q3ComboBox
168         For enhanced backwards compatibility with Qt 3.
170 - QGLPbuffer
171         For creating and managing OpenGL pixel buffers.
173 - QNetworkProxy
174         For setting up transparent (SOCKS5) networking proxying.
176 - QDirectPainter (Qtopia Core only)
177         Provides direct access to video framebuffer hardware.
180 General improvements
181 --------------------
183 - QByteArray
184         Added toLong() and toULong().
186 - QFileDialog
187         Fix shortcut and focus for "Alpha channel" spinbox.
189 - QLinkedList
190         Added conversion methods to convert from/to STL lists.
192 - QMap/QHash
193         Fixed operator>>() to read back multiple values associated
194         to a same key correctly.
195         Added constFind(), for finding an item without causing a detach.
197 - QMap/QHash
198         Const-correctness in const_iterator's operator--(int).
200 - QMainWindow
201         The saveState() and restoreState() functions no longer
202         fallback to using the windowTitle property when the objectName
203         property is not set on a QToolBar or QDockWidget; this
204         behavior was undocumented and has been removed.
206 - QToolBar
207         Added Qt 3 compatibility signal visibilityChanged(bool).
209 - QMetaType
210         Class is now fully reentrant.
211         Metatypes can be registered or queried from multiple threads.
212         Added qMetaTypeId<T>(), which returns the meta type ID of T at compile time.
214 - QMetaProperty
215         Added isResettable().
217 - QSql
218         Oracle plugin adds support for authentication using external credentials.
219         Added isValid() to QSqlError.
221 - QThread
222         Added setPriority() and priority(), for querying and setting
223         the priority of a thread.
225 - QTreeWidgetItem/QTreeWidget
226         Added new constructors and addChildren(), insertChildren(),
227         takeChildren(), insertTopLevelItems(), addTopLevelItems to
228         speed up insertion of multiple items.
230 - QTextDocument
231         Added the class QTextBlockUserData and added the possibility
232         of storing a state or custom user data in a QTextBlock
233         Added useDesignMetrics property, to enable the use of design metrics for
234         all fonts in a QTextDocument.
236 - QTextFormat
237         Added support for setting the font pixel size.
238         Added UserObject to QTextFormat::ObjectTypes enum.
240 - QMetaType
241         The value of QMetaTypeId<T>::Defined indicates whether a given type T is
242         supported by QMetaType.
244 - QAbstractItemView
245         Added setIndexWidget() and indexWidget() which makes it
246         possible to set a widget at a given index.
248         Added a QAbstractItemView::ContiguousSelection mode.
249         Added scrollToTop() and scrollToBottom().
251 - QAbstractItemModel
252         Added a SizeHintRole that can be set for each item. The item
253         delegate will now check for this value before computing the
254         size hint based on other item data.
256         Add QModelIndex::operator<() so we are able to use them in
257         QMap and other containers.
259         Added qHash function for QModelIndex.
261 - QTableWidget
262         Added cellWidget() and setCellWidget() which makes it possible
263         to set a widget at a specified cell.
265         Added setCurrentCell().
267         Added QTableWidgetItem copy constructors.
270 - QTreeWidget
271         Added setItemWidget() and itemWidget() which makes it possible
272         to set a widget on an item.
274 - QListWidget
275         Added setItemWidget() and itemWidget() which makes it possible
276         to set a widget on an item.
278         Added QListWidgetItem copy constructors.
280 - QMutableMapIterator
281         Added value() overloads to Java-style iterators that return
282         non-const references.
284 - QTextTable
285         Added mergeCells() and splitCells() to be able to set the row
286         or column span on a table cell.
288 - QStyle
289         Added standardIcon() which returns a default icon for standard
290         operations.
291         Added State_ReadOnly, which is enabled for read-only widgets.
293         Renamed QStyleOption::init() to initFrom().
294         - QGroupBox is now completely stylable (QStyleOptionGroupBox)
295         - Indeterminate (busy) progress bars are now animated properly
296           in all styles.
298         Added PM_DockWidgetTitleMargin as pixel metric.
300 - QHash
301         Make it possible to use QHash with a type that has no default
302         constructor.
304 - QTableView
305         Made QTableView::setShowGrid() a slot, like in Qt 3.
306         Added setRowHeight() and setColumnWidth().
308 - QTableWidgetSelectionRange
309         Added rowCount() and columnCount() convenience functions.
311 - QSettings
312         Added support for custom formats in QSettings.
314 - QTextStream
315         Added status(), setStatus() and resetStatus() for improved error handling.
316         Added read(qint64 maxlen), for reading parts of a text stream into a
317         QString.
319 - QTextCursor
320         Added support for BlockUnderCursor selection type.
322 - QHeaderView
323         Added defaultSectionSize property which tells the default size
324         of the header sections before resizing.
326 - QScrollBar
327         Added context menu to the scrollbar with default navigation
328         options.
330 - QScrollArea
331         Added ensureVisible(), which can scroll the scrollarea to make sure a
332         specific point is visible.
334 - QDateTime
335         Added addMSecs(), which adds a number of milliseconds to the QDateTime.
337 - QDateTimeEdit
338         Added support for more date/time formats.
339         Now allows multiple sections of the same type.
341 - QButtonGroup
342         Added handling of buttons with IDs to the buttongroup like in
343         Qt 3.
345 - QIODevice
346         Added peek() for peeking data from a device.
348 - QTextEdit
349         Added property tabStopWidth which sets the tab stop width in
350         pixels.
351         append(const QString &) is now a public slot.
352         Added support for inserting Unicode control characters through the
353         context menu.
354         Added property acceptRichText, for whether or not the text edit
355         accepts rich text insertions by the user.
356         Added overwriteMode property.
358 - QDataStream
359         Added skipRawData().
360         Added support for QRegExp.
362 - QProgressBar
363         Added support for vertical progress bars.
365 - QImageIOHandler
366         The name() function has been obsoleted; use format() instead.
367         Added QImageIOHandler::Animation, for determining if the image format
368         supports animation.
369         Added QImageIOHandler::BackgroundColor, for setting the background
370         color for the image loader.
372 - QImageReader
373         Added setBackgroundColor() and backgroundColor(), for setting the
374         background color of an image before it is read.
375         Added supportsAnimation(), for checking if the image format supports
376         animation.
378 - QImageWriter
379         Added support for saving image text.
381 - QLocale
382         Added dateFormat()/timeFormat() to query the date/time format for the
383         current locale.
384         Added toString() overloads for localized QTime and QDate output.
385         Added decimalPoint(), groupSeparator(), percent(), zeroDigit(),
386         negativeSign() and exponential(), which provide a means to generate
387         custom number formatting.
389 - QHostInfo
390         Added support for reverse name lookups.
392 - QHostAddress
393         Added a QString assignment operator
394         Added convenience functions for initializing from a native sockaddr
395         structure.
396         Added support for the IPv6 scope-id.
398 - QPrinter
399         Added property "embedFonts" for embedding fonts into the target
400         document.
401         Added support for printing to PDF.
402         Added support for custom print and paint engines
404 - QPrintEngine
405         Added PPK_SuppressSystemPrintStatus, for suppressing the printer
406         progress dialog on Mac OS X.
408 - QKeySequence
409         Added fromString() and toString() for initializing a key sequence
410         from, and exporting a key sequence to a QString.
412 - QUrl
413         Added the port(int) function, which provides a default value for the
414         port if the URL does not define a port.
415         Support for decoding Punycode encoded hostnames in URLs.
416         Made the parser more tolerant for mistakes, and added a ParsingMode
417         flag for selecting strict or tolerant parsing.
418         Added support for the NAMEPREP standard in our i18n domain name support.
420 - QDir
421         Added the filter QDir::NoDotAndDotDot, for the
422         special directories "." and "..".
423         Added the filter QDir::AllEntries, for all entries
424         in a directory, including symlinks.
427 - QAbstractSocket
428         Added slots connectToHostImplementation() and
429         disconnectFromHostImplementation() to provide polymorphic behavior for
430         connectToHost() and disconnectFromHost().
432 - QMenuBar
433         Added setActiveAction(), which makes the provided action
434         active.
436 - QProxyModel
437         This class has been obsoleted (see QAbstractProxyModel)
439 - QWidget
440         Now supports three modes of modality: NonModal, WindowModal and
441         ApplicationModal.
442         Added Qt::WindowModality, obsoleted WA_ShowModal and WA_GroupLeader.
443         Added Qt::WA_OpaquePaintEvent widget attribute, obsoleting Qt::WA_NoBackground.
444         Added boolean autoFillBackground property.
445         Child widgets now always inherit the contents of their parent.
447 - QPalette
448         Added QPalette::Window (obsoletes Background) and
449               QPalette::WindowText (obsoletes Foreground).
451 - QHttpResponseHeader
452         Added two constructors and the function setStatusLine() for generating
453         a response header.
455 - QBitArray
456         Added count(bool), for counting on and off-bits in a bit array.
458 - QVariant
459         Added support for QRegExp
461 - QRegExpValidator
462         Added the property "regExp".
464 - QTabBar
465         Added the property "iconSize", for setting the size of the icons on
466         the tabs.
468 - QLineEdit
469         Added support for inserting Unicode control characters through the
470         context menu.
472 - QString
473         Added toLong() and toULong().
474         Support for std::string conversions with embedded \0 characters.
476 - QRegion
477         Added translate(), like QRect::translated().
479 - QProcess
480         Added systemEnvironment(), which returns the environment variables
481         of the calling process.
482         Added exitStatus(), and added a new finished() signal which takes the
483         exit status as a parameter.
485 - QComboBox
486         Made setCurrentIndex() a slot.
488 - QFontDataBase
489         Added styleString(), for retrieving the style string from a QFontInfo.
490         Added support for Myanmar fonts.
492 - QFontMetrics
493         Added xHeight(), which returns the 'X' height of the font.
495 - QCoreApplication
496         Added arguments(), which returns a list of command line arguments as a
497         QStringList.
499 - QTcpSocket
500         Added support for SOCKS5 via setProxy().
502 - QUdpSocket
503         Added property "bindMode", for binding several sockets to the same
504         address and port.
506 - QPen
507         Added support for custom dash pattern styles and miter limits.
508         Added support for QDebug.
510 - QDebug
511         Added support for QVector and QPair output.
513 - QStringListModel
514         Added support for sorting.
516 - QOpenGLPaintEngine
517         Gradients in the OpenGL paint engine are now drawn using
518         fragment programs, if the extension is available. Lots of
519         fixes, speedups and tweaks.
522 Platform-Specific changes
523 -------------------------
525 Windows:
527 - Painting
528         Added support for ClearType text rendering.
530 - File Engine
531         Added support for long filenames/paths.
533 X11:
535 - QWidget
536         Added support for freedesktop.org startup notifications.
538 Mac OS X:
540 - Improved support for the VoiceOver accessibility tool in Mac OS 10.4
541   and later
544 3rd-party libraries
545 -------------------
547 - zlib
548         Upgraded to zlib 1.2.3.
550 - FreeType
551         Upgraded to FreeType 2.1.10.
553 - SQLite
554         Upgraded to SQLite 3.2.7