Merge master into api_changes
[profile/ivi/qtbase.git] / dist / changes-4.1.0-rc1
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/
5
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.
8
9 ****************************************************************************
10 *                           General                                        *
11 ****************************************************************************
12
13 Qt library
14 ----------
15
16   - Integrated support for rendering Scalable Vector Graphics (SVG)
17     drawings and animations (QtSvg module).
18
19   - A Portable Document Format (PDF) backend for Qt's printing system.
20
21   - A unit testing framework for Qt applications and libraries.
22
23   - Modules for extending Qt Designer and dynamic user interface
24     building.
25
26   - New proxy models to enable view-specific sorting and filtering of
27     data displayed using item views.
28
29   - Additional features for developers using OpenGL, such as support
30     for pixel and sample buffers.
31
32   - A flexible syntax highlighting class based on the Scribe rich text
33     framework.
34
35   - Support for network proxy servers using the SOCKS5 protocol.
36
37   - Support for OLE verbs and MIME data handling in ActiveQt.
38
39 Qt Designer
40 -----------
41
42 - Added support for editing menu bars and tool bars.
43
44 - Added support for adding comments to string properties.
45
46 - Added new static QtForm library with improved
47   QForm::Loader API for loading designer forms at run-time.
48
49 - Added support for namespaces in uic generated code.
50
51 - Added support for dock widgets in main windows.
52
53 - Added support for editing table, tree and list widgets.
54
55 - Improved palette editing and resource support.
56
57 QTestLib
58 --------
59
60 - Added QTestLib, the Qt Unit Testing Library. See the "QTestLib" chapter
61   in the Qt documentation for more information.
62
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.
65
66 Boost
67 -----
68
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".
72
73 ActiveQt
74 --------
75
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.
80
81 Build system
82 ------------
83
84 Added support for linking static plugins into the application.
85
86 Qt 3 to 4 Porting Tool
87 ----------------------
88
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.
92
93 Meta Object Compiler (moc)
94 --------------------------
95
96 - Added support for const signals.
97
98 Qt Assistant
99 ------------
100
101 - Added -docPath command line option for easy setting of the
102   document root path.
103
104 QMake
105 -----
106
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.
109
110 - Added support for precompiled headers on win32-g++ (MinGW)
111
112 Compilers
113 ---------
114
115 Added support for Solaris 10 on AMD64 with the compiler provided by
116 Sun.
117
118
119 ****************************************************************************
120 *                          Library                                         *
121 ****************************************************************************
122
123
124 New classes
125 -----------
126
127 - QTreeWidgetItemIterator
128         Added iterator to help iterating over items in a QTreeWidget.
129
130 - QSortingProxyModel
131         The QSortingProxyModel can contain another model and handles
132         the sorting of it.
133
134 - QFilteringProxyModel
135         Allows you to provide a subset of a model to a view.
136
137 - QStringFilterModel
138         Allows you to provide a subset of a model to a view based on a
139         regular expression.
140
141 - QSyntaxHighlighter
142         The QSyntaxHighlighter class allows you to define syntax
143         highlighting rules.
144
145 - QAbstractFileEngine
146         A base class for implementing your own file and directory handling
147         back-end for QFile, QFileInfo and QDir.
148
149 - QAbstractFileEngineHandler
150         For registering a QAbstractFileEngine subclass with Qt.
151
152 - QFSFileEngine
153         The default file engine for regular file and directory access in Qt.
154
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.
159
160 - Added qFromLittleEndian, qToLittleEndian, qFromBigEndian and
161   qToBigEndian endian helper conversion functions (qendian.h)
162
163 - Q_EXPORT_PLUGIN2 macro
164         Obsoletes Q_EXPORT_PLUGIN and allows static linking of
165         plugins.
166
167 - Q3ComboBox
168         For enhanced backwards compatibility with Qt 3.
169
170 - QGLPbuffer
171         For creating and managing OpenGL pixel buffers.
172
173 - QNetworkProxy
174         For setting up transparent (SOCKS5) networking proxying.
175
176 - QDirectPainter (Qtopia Core only)
177         Provides direct access to video framebuffer hardware.
178
179
180 General improvements
181 --------------------
182
183 - QByteArray
184         Added toLong() and toULong().
185
186 - QFileDialog
187         Fix shortcut and focus for "Alpha channel" spinbox.
188
189 - QLinkedList
190         Added conversion methods to convert from/to STL lists.
191
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.
196
197 - QMap/QHash
198         Const-correctness in const_iterator's operator--(int).
199
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.
205
206 - QToolBar
207         Added Qt 3 compatibility signal visibilityChanged(bool).
208
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.
213
214 - QMetaProperty
215         Added isResettable().
216
217 - QSql
218         Oracle plugin adds support for authentication using external credentials.
219         Added isValid() to QSqlError.
220
221 - QThread
222         Added setPriority() and priority(), for querying and setting
223         the priority of a thread.
224
225 - QTreeWidgetItem/QTreeWidget
226         Added new constructors and addChildren(), insertChildren(),
227         takeChildren(), insertTopLevelItems(), addTopLevelItems to
228         speed up insertion of multiple items.
229
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.
235
236 - QTextFormat
237         Added support for setting the font pixel size.
238         Added UserObject to QTextFormat::ObjectTypes enum.
239
240 - QMetaType
241         The value of QMetaTypeId<T>::Defined indicates whether a given type T is
242         supported by QMetaType.
243
244 - QAbstractItemView
245         Added setIndexWidget() and indexWidget() which makes it
246         possible to set a widget at a given index.
247
248         Added a QAbstractItemView::ContiguousSelection mode.
249         Added scrollToTop() and scrollToBottom().
250
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.
255
256         Add QModelIndex::operator<() so we are able to use them in
257         QMap and other containers.
258
259         Added qHash function for QModelIndex.
260
261 - QTableWidget
262         Added cellWidget() and setCellWidget() which makes it possible
263         to set a widget at a specified cell.
264
265         Added setCurrentCell().
266
267         Added QTableWidgetItem copy constructors.
268
269
270 - QTreeWidget
271         Added setItemWidget() and itemWidget() which makes it possible
272         to set a widget on an item.
273
274 - QListWidget
275         Added setItemWidget() and itemWidget() which makes it possible
276         to set a widget on an item.
277
278         Added QListWidgetItem copy constructors.
279
280 - QMutableMapIterator
281         Added value() overloads to Java-style iterators that return
282         non-const references.
283
284 - QTextTable
285         Added mergeCells() and splitCells() to be able to set the row
286         or column span on a table cell.
287
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.
292
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.
297
298         Added PM_DockWidgetTitleMargin as pixel metric.
299
300 - QHash
301         Make it possible to use QHash with a type that has no default
302         constructor.
303
304 - QTableView
305         Made QTableView::setShowGrid() a slot, like in Qt 3.
306         Added setRowHeight() and setColumnWidth().
307
308 - QTableWidgetSelectionRange
309         Added rowCount() and columnCount() convenience functions.
310
311 - QSettings
312         Added support for custom formats in QSettings.
313
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.
318
319 - QTextCursor
320         Added support for BlockUnderCursor selection type.
321
322 - QHeaderView
323         Added defaultSectionSize property which tells the default size
324         of the header sections before resizing.
325
326 - QScrollBar
327         Added context menu to the scrollbar with default navigation
328         options.
329
330 - QScrollArea
331         Added ensureVisible(), which can scroll the scrollarea to make sure a
332         specific point is visible.
333
334 - QDateTime
335         Added addMSecs(), which adds a number of milliseconds to the QDateTime.
336
337 - QDateTimeEdit
338         Added support for more date/time formats.
339         Now allows multiple sections of the same type.
340
341 - QButtonGroup
342         Added handling of buttons with IDs to the buttongroup like in
343         Qt 3.
344
345 - QIODevice
346         Added peek() for peeking data from a device.
347
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.
357
358 - QDataStream
359         Added skipRawData().
360         Added support for QRegExp.
361
362 - QProgressBar
363         Added support for vertical progress bars.
364
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.
371
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.
377
378 - QImageWriter
379         Added support for saving image text.
380
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.
388
389 - QHostInfo
390         Added support for reverse name lookups.
391
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.
397
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
403
404 - QPrintEngine
405         Added PPK_SuppressSystemPrintStatus, for suppressing the printer
406         progress dialog on Mac OS X.
407
408 - QKeySequence
409         Added fromString() and toString() for initializing a key sequence
410         from, and exporting a key sequence to a QString.
411
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.
419
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.
425
426
427 - QAbstractSocket
428         Added slots connectToHostImplementation() and
429         disconnectFromHostImplementation() to provide polymorphic behavior for
430         connectToHost() and disconnectFromHost().
431
432 - QMenuBar
433         Added setActiveAction(), which makes the provided action
434         active.
435
436 - QProxyModel
437         This class has been obsoleted (see QAbstractProxyModel)
438
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.
446
447 - QPalette
448         Added QPalette::Window (obsoletes Background) and
449               QPalette::WindowText (obsoletes Foreground).
450
451 - QHttpResponseHeader
452         Added two constructors and the function setStatusLine() for generating
453         a response header.
454
455 - QBitArray
456         Added count(bool), for counting on and off-bits in a bit array.
457
458 - QVariant
459         Added support for QRegExp
460
461 - QRegExpValidator
462         Added the property "regExp".
463
464 - QTabBar
465         Added the property "iconSize", for setting the size of the icons on
466         the tabs.
467
468 - QLineEdit
469         Added support for inserting Unicode control characters through the
470         context menu.
471
472 - QString
473         Added toLong() and toULong().
474         Support for std::string conversions with embedded \0 characters.
475
476 - QRegion
477         Added translate(), like QRect::translated().
478
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.
484
485 - QComboBox
486         Made setCurrentIndex() a slot.
487
488 - QFontDataBase
489         Added styleString(), for retrieving the style string from a QFontInfo.
490         Added support for Myanmar fonts.
491
492 - QFontMetrics
493         Added xHeight(), which returns the 'X' height of the font.
494
495 - QCoreApplication
496         Added arguments(), which returns a list of command line arguments as a
497         QStringList.
498
499 - QTcpSocket
500         Added support for SOCKS5 via setProxy().
501
502 - QUdpSocket
503         Added property "bindMode", for binding several sockets to the same
504         address and port.
505
506 - QPen
507         Added support for custom dash pattern styles and miter limits.
508         Added support for QDebug.
509
510 - QDebug
511         Added support for QVector and QPair output.
512
513 - QStringListModel
514         Added support for sorting.
515
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.
520
521
522 Platform-Specific changes
523 -------------------------
524
525 Windows:
526
527 - Painting
528         Added support for ClearType text rendering.
529
530 - File Engine
531         Added support for long filenames/paths.
532
533 X11:
534
535 - QWidget
536         Added support for freedesktop.org startup notifications.
537
538 Mac OS X:
539
540 - Improved support for the VoiceOver accessibility tool in Mac OS 10.4
541   and later
542
543
544 3rd-party libraries
545 -------------------
546
547 - zlib
548         Upgraded to zlib 1.2.3.
549
550 - FreeType
551         Upgraded to FreeType 2.1.10.
552
553 - SQLite
554         Upgraded to SQLite 3.2.7