1Qt 3.0 Beta4 is not binary compatible with Beta3; any programs linked 2against Beta3 must be recompiled. 3 4Below you will find a description of general changes in the Qt 5Library and Qt Designer followed by a detailed list of changes in the 6API. 7 8 9The Qt Library 10======================================== 11 12Documentation 13------------- 14 15The extensive revision of the documentation is almost complete. 16We have added new navigation options, including a shorter list 17of classes entitled Main Classes. 18 19Translations 20------------ 21 22Qt now includes French and German translations of the Qt library, as 23well as a template for translating Qt. These files are found in the 24translations directory of Qt, in both .ts and .qm formats. 25 26Style Fixes 27----------- 28 29Qt 3.0.0 beta2 introduced a new QStyle API. This new API has changed 30between beta3 and beta4. These changes will affect both widget 31writers and style writers. The QStyle entry below explains what has 32changed. 33 34Beta4 also introduces some fixes for bugs introduced during the port 35to the new API in various widgets, notably QComboBox and QSlider. 36 37LiveConnect Plugin 38------------------ 39 40A few bugs were fixed in the LiveConnect Plugin so that the grapher 41example works again on Windows. 42 43 44Qt 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 53Qt 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 61Qt 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 70Qt Functions 71======================================== 72 73QApplication 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 81QCanvasItem 82----------- 83 84 - The functions visible(), selected() and active() have been renamed 85 setVisible(), setSelected() and setActive(). 86 87New functions: 88 bool isVisible() const; 89 bool isSelected() const; 90 bool isActive() const; 91 92Removed functions: 93 bool visible() const; 94 bool selected() const; 95 bool active() const; 96 97QCanvasText 98----------- 99 100 - Fixed alignment flags. 101 102QChar 103----- 104 105New function: 106 bool isSymbol() const; 107 108QCheckBox 109--------- 110 111 - Fixed a bug in pixmap caching which could result in using the 112 wrong pixmap. 113 114QCheckListItem 115-------------- 116 117 - After a mouse click, the list view ignores the following double 118 click as in Windows XP. 119 120QClipboard 121---------- 122 123 - Made clipboard operations faster on X11. 124 125QColorDialog 126------------ 127 128 - Never show scrollbars in the color array. 129 130QComboBox 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 137New function: 138 virtual void setCurrentText( const QString& ); 139 140New property: 141 QString currentText 142 143QDataBrowser 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 150QDataTable 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 159QDateEdit 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 168New functions: 169 QString separator() const; 170 virtual void setSeparator( const QString& s ); 171 172QDateTime 173--------- 174 175 - Always initialize the tm struct completely. This fixes a problem 176 on some versions of Unix. 177 178QDir 179---- 180 181 - QDir::homeDirectory() now always returns an existing directory on 182 Windows. 183 184QDockWindows 185------------ 186 187 - Fixed dockwindows created in non-dock areas. 188 - Fixed constructor if InDock and the parent is a QMainWindow. 189 190QDom... 191------- 192 193 - Fixes in the conversion of the DOM tree to a string. 194 195QDomNodeList 196------------ 197 198 - Fixed a crash. 199 200QFileDialog 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 206QFileInfo 207--------- 208 209 - In adition to lastModified() and lastRead(), provide created(). 210 211New function: 212 QDateTime created() const; 213 214QFont 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 224QFtp 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 232QGIFFormat 233---------- 234 235 - Support GIF files with broken logical screen size. 236 237QHeader 238------- 239 240 - Added support for '\n' in header labels. 241 - Improved placement of icon. 242 243QHttp 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 250QImageIO 251-------- 252 253 - Allow gamma correction to be set programmatically. 254 255New functions: 256 void setGamma( float gamma ); 257 float gamma() const; 258 259QKeyEvent 260--------- 261 262 - Worked around an X11 bug in isAutoRepeat(). 263 264QKeySequence 265------------ 266 267A new class that encapsulates a key sequence as used by accelerators. 268 269QLabel 270------ 271 272 - Made the WordBreak alignment property work with rich text labels 273 in addition to plain text labels. 274 275QLayout 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 282QLibrary 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 289QLineEdit 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 297New functions: 298 bool isUndoAvailable() const; 299 bool isRedoAvailable() const; 300 301QListViewItem 302------------- 303 304 - Fixed setVisible(TRUE) which triggered an update too soon. 305 306QMenuBar 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 313QObject 314------- 315 316 - Have QObject dispatch events to customEvents(). 317 318QPainter 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 327New functions: 328 void drawPixmap( const QRect& r, const QPixmap& pm ); 329 void drawImage( const QRect& r, const QImage& img ); 330 331QPicture 332-------- 333 334 - Respect the size of a loaded SVG document. 335 - Solved a replay-transformed-picture problem. 336 - Fixed format version number. 337 338QPluginManager 339-------------- 340 341 - Fixed crash when loading a plugin fails. 342 343QPopupMenu 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 350QPrinter 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 361New 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 368QProcess 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 377New slots: 378 void tryTerminate(); 379 void kill(); 380 381Removed functions: 382 void hangUp(); 383 void kill(); 384 385QProgressBar 386------------ 387 388 - Draw the progress bar correctly with respect to the properties 389 "percentageVisible", "indicatorFollowsStyle" and 390 "centerIndicator". 391 392QPtrVector 393---------- 394 395 - Support null items without triggering an assert. 396 397QPushButton 398----------- 399 400 - Fixed the sizeHint() of buttons with an icon. 401 402QRegExp 403------- 404 405 - Fixed a subtle bug in regular expressions mixing anchors and 406 alternation. 407 408QRegion 409------- 410 411 - Don't crash when creating a QRegion from an empty point array. 412 413QRichText 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 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 440QScrollBar 441---------- 442 443 - Made setValue() a slot. 444 445New slot: 446 void setValue( int ); 447 448Removed function: 449 void setValue( int ); 450 451QSettings 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 461QSimpleRichText 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 468QSizePolicy 469----------- 470 471 - Stretch factors were added to QSizePolicy. 472 - Added a new size policy: Ignored. 473 474New functions: 475 uint horStretch() const; 476 uint verStretch() const; 477 void setHorStretch( uchar sf ); 478 void setVerStretch( uchar sf ); 479 480QSpinBox 481-------- 482 483New slot: 484 virtual void selectAll(); 485 486QSqlDatabase 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 493New Functions: 494 QSqlRecordInfo recordInfo ( const QString & tablename ) const 495 QSqlRecordInfo recordInfo ( const QSqlQuery & query ) const 496 497 498QSqlFieldInfo 499------------- 500 501A new class that stores meta data associated with a SQL field. 502 503QSqlRecordInfo 504-------------- 505 506A new class that is keeping a set of QSqlFieldInfo objects. 507 508QStatusBar 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 514QString 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 522New 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 ®xp, int start, int end = 0xffffffff, 532 int flags = SectionDefault ) const; 533 534Removed function: 535 int similarityWith( const QString& target ) const; 536 537QStyle 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 544QStyleOption 545------------ 546 547A new class that encapsulates extra data sent to the style API. 548 549QTabBar 550------- 551 552 - The accelerators are now working correctly after changing a tab. 553 554QTable 555------ 556 557 - Fixed crash related to popup menu and cell edition. 558 - Fixed not-drawing hidden cells. 559 560QTextCodec 561---------- 562 563 - Added MIME names for codecs. 564 - Improved locale detection. 565 - Fixed the ISO 8859-6.8x (Arabic) font encoding. 566 567New function: 568 const char *mimeName() const; 569 570QTextStream 571----------- 572 573 - Fixed bug with stateful QTextEncoders. 574 575QTextEdit 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 584New functions: 585 bool isUndoAvailable() const; 586 bool isRedoAvailable() const; 587 bool isUndoRedoEnabled() const; 588 virtual void setUndoRedoEnabled( bool enabled ) const; 589 590New property: 591 bool undoRedoEnabled 592 593QThread 594------- 595 596 - Fixed QThread::sleep() on Unix. 597 598QTime 599----- 600 601 - fromString() with format Qt::ISODate now recognizes milliseconds 602 if they are specified. 603 - Make elapsed() a const function. 604 605QTimeEdit 606--------- 607 608 - The default time separator respects the user's settings. 609 - Pressing the separator key now skips to the next section. 610 611New functions: 612 QString separator() const; 613 virtual void setSeparator( const QString& s ); 614 615QTooltip 616-------- 617 618 - Hide active tooltips when the user switches to another application. 619 - Fixed tooltips with Windows effects enabled. 620 621QUrl 622---- 623 624 - Fixed password encoding. 625 626New function: 627 bool hasPort() const; 628 629QValidator 630---------- 631 632 - Let QValidator, QIntValidator, QDoubleValidator and 633 QRegExpValidator have QObject parents rather than only QWidget 634 parents. 635 636QVariant 637-------- 638 639 - Added QBitArray support. 640 - The QDateTime type now supports asDate() and asTime(). 641 - The QByteArray type now supports toString(). 642 643New functions: 644 QVariant( const QBitArray& ); 645 const QBitArray toBitArray() const; 646 QBitArray& asBitArray(); 647 648QWhatsThis 649---------- 650 651 - Added support for hyperlinks in "What's This?" help windows. 652 653QWidget 654------- 655 656 - Fixed crashes related to LayoutHint events. 657 658QWizard 659------- 660 661 - Made removePage() behave as documented. 662 - Fixed back() so that it skips irrelevant pages like next(). 663 664QWorkspace 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 674QXml 675---- 676 677 - Made the "prefix" xmlns map to the namespace name 678 http://www.w3.org/2000/xmlns/. 679 - Fixed default namespaces. 680 681QXmlAttributes 682-------------- 683 684 - Added count() as equivalent to length() to be consistent with Qt 685 conventions. 686 687New function: 688 int count() const; 689