Add warning about non-API in Qt5CTestMacros.
[profile/ivi/qtbase.git] / dist / changes-3.0.0-beta4
1 Qt 3.0 Beta4 is not binary compatible with Beta3; any programs linked
2 against Beta3 must be recompiled.
3
4 Below you will find a description of general changes in the Qt
5 Library and Qt Designer followed by a detailed list of changes in the
6 API.
7
8
9 The Qt Library
10 ========================================
11
12 Documentation
13 -------------
14
15 The extensive revision of the documentation is almost complete.
16 We have added new navigation options, including a shorter list
17 of classes entitled Main Classes.
18
19 Translations
20 ------------
21
22 Qt now includes French and German translations of the Qt library, as
23 well as a template for translating Qt. These files are found in the
24 translations directory of Qt, in both .ts and .qm formats.
25
26 Style Fixes
27 -----------
28
29 Qt 3.0.0 beta2 introduced a new QStyle API. This new API has changed
30 between beta3 and beta4. These changes will affect both widget
31 writers and style writers. The QStyle entry below explains what has
32 changed.
33
34 Beta4 also introduces some fixes for bugs introduced during the port
35 to the new API in various widgets, notably QComboBox and QSlider.
36
37 LiveConnect Plugin
38 ------------------
39
40 A few bugs were fixed in the LiveConnect Plugin so that the grapher
41 example works again on Windows.
42
43
44 Qt Designer
45 ========================================
46
47  - General usability improvements and bug fixes, and improved file
48    and project handling.
49  - Updated designer manual to cover the .ui.h mechanism.
50  - New auto-indentation algorithm in the code editor.
51
52
53 Qt Assistant
54 ========================================
55
56  - Added a Settings dialog and made more features customizable.
57  - Sessions are now saved and restored.
58  - A brief introduction to using Qt Assistant is now included.
59
60
61 Qt Linguist
62 ========================================
63
64  - Phrase books are now provided in tools/linguist/phrasebooks.
65  - Added support for Qt Designer's .ui.h mechanism to lupdate.
66  - Support for a larger subset of .pro file syntax in lupdate and
67    lrelease.
68
69
70 Qt Functions
71 ========================================
72
73 QApplication
74 ------------
75
76  - Ignore drag-and-drop events for disabled widgets.
77  - Always send ChildRemoved events, even if no ChildInserted event
78    was sent.
79  - Mouse events for popup menus are now sent to event filters.
80
81 QCanvasItem
82 -----------
83
84  - The functions visible(), selected() and active() have been renamed
85    setVisible(), setSelected() and setActive().
86
87 New functions:
88         bool isVisible() const;
89         bool isSelected() const;
90         bool isActive() const;
91
92 Removed functions:
93         bool visible() const;
94         bool selected() const;
95         bool active() const;
96
97 QCanvasText
98 -----------
99
100  - Fixed alignment flags.
101
102 QChar
103 -----
104
105 New function:
106         bool isSymbol() const;
107
108 QCheckBox
109 ---------
110
111  - Fixed a bug in pixmap caching which could result in using the
112    wrong pixmap.
113
114 QCheckListItem
115 --------------
116
117  - After a mouse click, the list view ignores the following double
118    click as in Windows XP.
119
120 QClipboard
121 ----------
122
123  - Made clipboard operations faster on X11.
124
125 QColorDialog
126 ------------
127
128  - Never show scrollbars in the color array.
129
130 QComboBox
131 ---------
132
133  - Comboboxes are now drawn correctly in all styles.
134  - Fixed bug with auto completion. There was undefined behavior with
135    non-editable comboboxes when changing focus.
136
137 New function:
138         virtual void setCurrentText( const QString& );
139
140 New property:
141         QString currentText
142
143 QDataBrowser
144 ------------
145
146  - The setCursor() function is obsolete and will be removed for Qt 3
147    release due to the incompatibility with some compilers. Use
148    setSqlCursor() instead.
149
150 QDataTable
151 ----------
152
153  - Dates and times in tables can now be displayed in different
154    display formats.
155  - The setCursor() function is obsolete and will be removed for Qt 3
156    release due to the incompatibility with some compilers. Use
157    setSqlCursor() instead.
158
159 QDateEdit
160 ---------
161
162  - The default separator and the day-month-year order respect the
163    user's settings.
164  - Pressing the separator key now skips to the next section.
165  - Fixed a usability flaw related to some months being longer than
166    others.
167
168 New functions:
169         QString separator() const;
170         virtual void setSeparator( const QString& s );
171
172 QDateTime
173 ---------
174
175  - Always initialize the tm struct completely. This fixes a problem
176    on some versions of Unix.
177
178 QDir
179 ----
180
181  - QDir::homeDirectory() now always returns an existing directory on
182    Windows.
183
184 QDockWindows
185 ------------
186
187  - Fixed dockwindows created in non-dock areas.
188  - Fixed constructor if InDock and the parent is a QMainWindow.
189
190 QDom...
191 -------
192
193  - Fixes in the conversion of the DOM tree to a string.
194
195 QDomNodeList
196 ------------
197
198  - Fixed a crash.
199
200 QFileDialog
201 -----------
202
203  - Select contents of the line edit at startup (if any) so that the
204    user can overwrite the provided file name right away.
205
206 QFileInfo
207 ---------
208
209  - In adition to lastModified() and lastRead(), provide created().
210
211 New function:
212         QDateTime created() const;
213
214 QFont
215 -----
216
217  - Provide more correct font metrics under X11.
218  - Worked around X11 limits on length of strings to draw and on
219    coordinate sizes.
220  - Fixed sone point vs. pixel size issues under X11.
221  - Added PreferAntialias and NoAntialias flags to StyleStrategy enum
222    type.
223
224 QFtp
225 ----
226
227  - Fixed a QSocket bug that made QFtp crash if the connection was
228    refused.
229  - Fixed operationRename() and operationRemove().
230  - Set the right state when finished.
231
232 QGIFFormat
233 ----------
234
235  - Support GIF files with broken logical screen size.
236
237 QHeader
238 -------
239
240  - Added support for '\n' in header labels.
241  - Improved placement of icon.
242
243 QHttp
244 -----
245
246  - If the status code of the reply is an error code, it is now also
247    reflected in the status of the network operation. The error
248    handling in general was improved.
249
250 QImageIO
251 --------
252
253  - Allow gamma correction to be set programmatically.
254
255 New functions:
256         void setGamma( float gamma );
257         float gamma() const;
258
259 QKeyEvent
260 ---------
261
262  - Worked around an X11 bug in isAutoRepeat().
263
264 QKeySequence
265 ------------
266
267 A new class that encapsulates a key sequence as used by accelerators.
268
269 QLabel
270 ------
271
272  - Made the WordBreak alignment property work with rich text labels
273    in addition to plain text labels.
274
275 QLayout
276 -------
277
278  - Fixed crashes with deleting widgets managed by the layout.
279  - Fixed problems with reparenting widgets managed by the layout.
280  - Respect maximumHeight() of items in heightForWidth().
281
282 QLibrary
283 --------
284
285  - Plugins now return the version number, threading model and debug
286    vs. release mode of the Qt library used in ucm_initialize(). If
287    there is any kind of incompatibility, cancel the loading.
288
289 QLineEdit
290 ---------
291
292  - Update the "edited" flag and the accessibility data better than
293    before.
294  - Fixed setMaxLength().
295  - Fixed context menu problem on Windows.
296
297 New functions:
298         bool isUndoAvailable() const;
299         bool isRedoAvailable() const;
300
301 QListViewItem
302 -------------
303
304  - Fixed setVisible(TRUE) which triggered an update too soon.
305
306 QMenuBar
307 --------
308
309  - Cancel alt-activation of menubar on mouse press/release.
310  - On wheel events, all popup menus are now closed instead of hidden.
311    Hiding popup menus confused QMenuBar.
312
313 QObject
314 -------
315
316  - Have QObject dispatch events to customEvents().
317
318 QPainter
319 --------
320
321  - Renamed the enum type ClipMode to CoordinateMode. The enum values
322    ClipDevice and ClipPainter are now called CoordDevice and
323    CoordPainter.
324  - Fixed escaping of ampersand character, so "&&", "&&&", etc., now
325    work as they did in Qt 2.x.
326
327 New functions:
328         void drawPixmap( const QRect& r, const QPixmap& pm );
329         void drawImage( const QRect& r, const QImage& img );
330
331 QPicture
332 --------
333
334  - Respect the size of a loaded SVG document.
335  - Solved a replay-transformed-picture problem.
336  - Fixed format version number.
337
338 QPluginManager
339 --------------
340
341  - Fixed crash when loading a plugin fails.
342
343 QPopupMenu
344 ----------
345
346  - Custom menu items that are separators now see their size hint
347    respected.
348  - Fixed crash when drawing an empty popup menu.
349
350 QPrinter
351 --------
352
353  - Better printing in different resolutions under both Windows and
354    X11.
355  - Support for collation under Windows and X11.
356  - Correct bounding rectangles for texts in all printer modes.
357  - Fixed pixmap printing on Windows.
358  - Fixed PostScript font names for fonts with foundries.
359  - Support for PostScript printing of scaled images.
360
361 New functions:
362         bool collateCopiesEnabled() const;
363         void setCollateCopiesEnabled( bool enable ) const;
364         bool collateCopies() const;
365         void setCollateCopies( bool on );
366         int winPageSize() const; /* Windows only */
367
368 QProcess
369 --------
370
371  - The function hangUp() was renamed to tryTerminate() to make the
372    purpose more clear. Furthermore, under Unix, the signal that is
373    sent was changed from SIGHUP to SIGTERM.
374  - The function kill() and the function tryTerminate() (formerly
375    hangUp()) were made slots.
376
377 New slots:
378         void tryTerminate();
379         void kill();
380
381 Removed functions:
382         void hangUp();
383         void kill();
384
385 QProgressBar
386 ------------
387
388  - Draw the progress bar correctly with respect to the properties
389    "percentageVisible", "indicatorFollowsStyle" and
390    "centerIndicator".
391
392 QPtrVector
393 ----------
394
395  - Support null items without triggering an assert.
396
397 QPushButton
398 -----------
399
400  - Fixed the sizeHint() of buttons with an icon.
401
402 QRegExp
403 -------
404
405  - Fixed a subtle bug in regular expressions mixing anchors and
406    alternation.
407
408 QRegion
409 -------
410
411  - Don't crash when creating a QRegion from an empty point array.
412
413 QRichText
414 ---------
415
416  - Improved alignment support, including nested alignments.
417  - Improved table margin support.
418  - Improved page break algorithm.
419  - Do not eat '\n' in preformatted items.
420  - Do not draw the internal trailing space at the end of a paragraph.
421  - Fixed link underlining in table cells and other subdocuments.
422  - Use larger vertical margin between paragraphs.
423  - Display paragraph spacing even when printing.
424  - Support vertical table cell alignment.
425  - Fix for floating items and table cell size calculation.
426  - Improved allignment handling.
427  - Offset fixes for tabs.
428  - Better <div> support.
429  - Fixed <br> tag.
430  - Fix for the <center> tag and centering tables.
431  - Fixed &nbsp; and <nobr>.
432  - Fixed off-by-one bug in gotoWordLeft() and gotoWordRight().
433  - Better positioning of super- and subscripts.
434  - Faster printing of large tables by using a clipping rectangle.
435  - Improved high-resolution printing.
436  - Correct sizes for images when printing.
437  - Fixed list painting when printing.
438  - Use right background for printing.
439
440 QScrollBar
441 ----------
442
443  - Made setValue() a slot.
444
445 New slot:
446         void setValue( int );
447
448 Removed function:
449         void setValue( int );
450
451 QSettings
452 ---------
453
454  - Added support for QStringLists without requiring a distinct
455    separator.
456  - Added support for null strings, empty lists and null strings in
457    lists.
458  - Fixed bug with values ending with a backslash.
459  - On Unix, don't overwrite files if the user doesn't have permission.
460
461 QSimpleRichText
462 ---------------
463
464  - Implemented vertical breaks and floating elememts.
465  - Fixed bug with borders and clipping in printing.
466  - Fixed bug in adjustSize() cache.
467
468 QSizePolicy
469 -----------
470
471  - Stretch factors were added to QSizePolicy.
472  - Added a new size policy: Ignored.
473
474 New functions:
475         uint horStretch() const;
476         uint verStretch() const;
477         void setHorStretch( uchar sf );
478         void setVerStretch( uchar sf );
479
480 QSpinBox
481 --------
482
483 New slot:
484         virtual void selectAll();
485
486 QSqlDatabase
487 ------------
488
489  - QSqlDatabase now provides access to meta-data. Meta-data is stored
490    in two new classes, QSqlFieldInfo and QSqlRecordInfo. See the
491    class documentation for details.
492
493 New Functions:
494         QSqlRecordInfo recordInfo ( const QString & tablename ) const
495         QSqlRecordInfo recordInfo ( const QSqlQuery & query ) const
496
497
498 QSqlFieldInfo
499 -------------
500
501 A new class that stores meta data associated with a SQL field.
502
503 QSqlRecordInfo
504 --------------
505
506 A new class that is keeping a set of QSqlFieldInfo objects.
507
508 QStatusBar
509 ----------
510
511  - Don't cut off the bottom line of the border of the status bar.
512  - Respect maximumHeight() of items in the status bar.
513
514 QString
515 -------
516
517  - QString now provides section(), a function that parses simple
518    fields.
519  - The function similarityWith() has been removed from the API. If
520    you need it, write to qt-bugs@trolltech.com.
521
522 New functions:
523         QString section( QChar sep, int start, int end,
524                          int flags = SectionDefault ) const;
525         QString section( char sep, int start, int end = 0xffffffff,
526                          int flags = SectionDefault ) const;
527         QString section( const char *substr, int start, int end = 0xffffffff,
528                          int flags = SectionDefault ) const;
529         QString section( QString substr, int start, int end = 0xffffffff,
530                          int flags = SectionDefault ) const;
531         QString section( const QRegExp &regxp, int start, int end = 0xffffffff,
532                          int flags = SectionDefault ) const;
533         
534 Removed function:
535         int similarityWith( const QString& target ) const;
536
537 QStyle
538 ------
539
540  - Changed "void **" technique to QStyleOption technique. This
541    affects the interface of most of the QStyle member functions.
542    Please read the QStyle class documentation for details.
543
544 QStyleOption
545 ------------
546
547 A new class that encapsulates extra data sent to the style API.
548
549 QTabBar
550 -------
551
552  - The accelerators are now working correctly after changing a tab.
553
554 QTable
555 ------
556
557  - Fixed crash related to popup menu and cell edition.
558  - Fixed not-drawing hidden cells.
559
560 QTextCodec
561 ----------
562
563  - Added MIME names for codecs.
564  - Improved locale detection.
565  - Fixed the ISO 8859-6.8x (Arabic) font encoding.
566
567 New function:
568         const char *mimeName() const;
569
570 QTextStream
571 -----------
572
573  - Fixed bug with stateful QTextEncoders.
574
575 QTextEdit
576 ---------
577
578  - Respect disabling updates.
579  - Fixed link underlining in table cells and other subdocuments.
580  - Draw cursor on focus in.
581  - Emit cursorPositionChanged() where it previously was missing.
582  - Fixed sync().
583
584 New functions:
585         bool isUndoAvailable() const;
586         bool isRedoAvailable() const;
587         bool isUndoRedoEnabled() const;
588         virtual void setUndoRedoEnabled( bool enabled ) const;
589
590 New property:
591         bool undoRedoEnabled
592
593 QThread
594 -------
595
596  - Fixed QThread::sleep() on Unix.
597
598 QTime
599 -----
600
601  - fromString() with format Qt::ISODate now recognizes milliseconds
602    if they are specified.
603  - Make elapsed() a const function.
604
605 QTimeEdit
606 ---------
607
608  - The default time separator respects the user's settings.
609  - Pressing the separator key now skips to the next section.
610
611 New functions:
612         QString separator() const;
613         virtual void setSeparator( const QString& s );
614
615 QTooltip
616 --------
617
618  - Hide active tooltips when the user switches to another application.
619  - Fixed tooltips with Windows effects enabled.
620
621 QUrl
622 ----
623
624  - Fixed password encoding.
625
626 New function:
627         bool hasPort() const;
628
629 QValidator
630 ----------
631
632  - Let QValidator, QIntValidator, QDoubleValidator and
633    QRegExpValidator have QObject parents rather than only QWidget
634    parents.
635
636 QVariant
637 --------
638
639  - Added QBitArray support.
640  - The QDateTime type now supports asDate() and asTime().
641  - The QByteArray type now supports toString().
642
643 New functions:
644         QVariant( const QBitArray& );
645         const QBitArray toBitArray() const;
646         QBitArray& asBitArray();
647
648 QWhatsThis
649 ----------
650
651  - Added support for hyperlinks in "What's This?" help windows.
652
653 QWidget
654 -------
655
656  - Fixed crashes related to LayoutHint events.
657
658 QWizard
659 -------
660
661  - Made removePage() behave as documented.
662  - Fixed back() so that it skips irrelevant pages like next().
663
664 QWorkspace
665 ----------
666
667  - Make sure that the widget state is set before the first titlebar
668    painting is triggered.
669  - Use the right pixmap for titlebar.
670  - Respects widget flags better for titlebars in QCommonStyle.
671  - Fixed move and resize in the system menu bar of workspace
672    children.
673
674 QXml
675 ----
676
677  - Made the "prefix" xmlns map to the namespace name
678    http://www.w3.org/2000/xmlns/.
679  - Fixed default namespaces.
680
681 QXmlAttributes
682 --------------
683
684  - Added count() as equivalent to length() to be consistent with Qt
685    conventions.
686
687 New function:
688         int count() const;