1Qt 4.5 introduces many new features and improvements as well as bugfixes 2over the 4.4.x series. For more details, refer to the online documentation 3included in this distribution. The documentation is also available online: 4 5 http://qt.nokia.com/doc/4.5 6 7The Qt version 4.5 series is binary compatible with the 4.4.x series. 8Applications compiled for 4.4 will continue to run with 4.5. 9 10Some of the changes listed in this file include issue tracking numbers 11corresponding to tasks in the Task Tracker: 12 13 http://qt.nokia.com/developer/task-tracker 14 15Each of these identifiers can be entered in the task tracker to obtain more 16information about a particular change. 17 18**************************************************************************** 19* General * 20**************************************************************************** 21 22General Improvements 23-------------------- 24 25New features 26------------ 27 28- Disk Caching in QtNetwork 29 * Added support for http caching in QNetworkAccessManager. 30 * New classes: QAbstractNetworkCache, QNetworkDiskCache. 31 * QNetworkDiskCache is a simple disk-based cache. 32 33- QDate 34 * [207690] Added QDate::getDate(). 35 36- QDateTimeEdit 37 * [196924] Improved QDateTimeEdit's usability. It now skips ahead to the 38 next field when input can't be valid for the current section. 39 40- QDateTime 41 * [178738] Fixed QDateTime::secsTo() to return the correct value. 42 43- QDBusPendingCall / QDBusPendingCallWatcher / QDBusPendingReply 44 * New classes to make calls whose replies can be received later. 45 46- QDesktopServices 47 * Added the ability to determine the proper location to store cache files. 48 49- QGraphicsItem 50 * Added the QGraphicsItem::itemTransform() function. 51 * [209357] Added the QGraphicsItem::opacity() function. 52 * [209978] Added the QGraphicsItem::ItemStacksBehindParent flag to allow 53 children to be stacked behind their parent item. 54 * Added QGraphicsItem::mapRect() functions. 55 56- QGraphicsScene 57 * Added the QGraphicsScene::sortCacheEnabled property. 58 * Added the QGraphicsScene::stickyFocus property. 59 60- QGraphicsTextItem 61 * [242331] Added the QGraphicsTextItem::tabChangesFocus() function. 62 63- QGraphicsView 64 * [210121] Added action, shortcut and shortcut override support to 65 QGraphicsView and QGraphicsItem. 66 67- QLineEdit 68 * Added the ability to set the text margin size. 69 70- QMainWindow 71 * Added API to detect which dock widget is tabified together with another 72 dock widget. 73 74- QMessageBox 75 * It is now possible to create categories in QErrorMessage to avoid error 76 messages from the same category popping up repeatedly. 77 78- QMetaObject 79 * Added introspection of constructors, including the ability to invoke a 80 constructor. 81 82- QMetaProperty 83 * [217531] Added the notifySignalIndex() function, which can be used to 84 introspect which signal (if any) is emitted when a property is changed. 85 86- QNetworkCookie 87 * [206125] Added support for HTTP-only cookies. 88 89- QNetworkProxyFactory 90 * Added support for a factory of QNetworkProxy whose result can 91 change depending on the connection being attempted. 92 * Added support for querying system proxy settings on Mac OS X and 93 Windows. 94 95- QSharedPointer / QWeakPointer 96 * Added two new classes for sharing pointers with support for atomic 97 reference counting and custom destructors. 98 99- QStringRef 100 * [191369] Added QStringRef::localeAwareCompare() functions. 101 102- QTabBar 103 * Added the ability to place close buttons and widgets on tabs. 104 * Added the ability to choose the selection behavior after a tab is 105 removed. 106 * Added a document mode which, on Mac OS X, paints the widget like 107 Safari's tabs. 108 * Added the movable property so that the user can move tabs easily. 109 * Added mouse wheel support so that the mouse wheel can be used to change 110 tabs. 111 112- QTabWidget 113 * Added a document mode that removes the tab widget border. 114 115- QTcpSocket 116 * [183743] Added support for requesting connections via proxies by 117 hostname (no DNS resolution made on the client machine). 118 119- QTextDocument / QTextDocumentWriter 120 * Added the QTextDocumentWriter class which allows exporting of 121 QTextDocument text and images to the OpenDocument format 122 (ISO/IEC 26300). 123 124- QtScriptTools 125 * Added a new module to provide a debugger for Qt Script. 126 127- Qt::WA_TranslucentBackground 128 * Added this new window attribute to be able to have per-pixel 129 translucency for top-level windows. 130 131- Qt::WindowCloseButtonHint 132 * Added a new window hint to control the visibility of the window close 133 button. 134 135- Qt::WindowStaysOnBottomHint 136 * Added a new window hint to allow the window to stay below all other 137 windows. 138 139- Q_SIGNAL and Q_SLOT 140 * Added new keywords to allow a single function to be marked as a signal 141 or slot. 142 143- QT4_IM_MODULE 144 * [227849] Added a new environment variable that specifies the input 145 method module to use and takes precedence over the QT_IM_MODULE 146 enviroment variable. This environment variable allows the user to 147 configure the environment to use different input methods for Qt 3 and 148 Qt 4-based applications. 149 150- QXmlQuery 151 * Added a number of overloads to the bindVariable(), setFocus(), and 152 evaluateTo() functions. 153 * Added a property for controlling the network access manager. 154 * Partial support for XSL-T has been added. See the main documentation for 155 the QtXmlPatterns module for details. 156 157Optimizations 158------------- 159 160- The backing store has been re-factored and optimized 161 * Significant improvement in overall performance of painting for widgets. 162 * Reduced the number of QRegion operations. 163 * Improved update handling. 164 * Improved the performance of clipping. 165 * Support for full static contents. 166 167- QGraphicsView has been optimized in several areas 168 * Reduced the number of floating point operations. 169 * Improved update handling. 170 * Improved handling of deeply nested item trees. 171 * Improved the performance of clipping for ItemClipChildrenToShape. 172 * Improved sorting speed, so scenes with deeply nested item hierarchies do 173 not affect the performance as compared to Qt 4.4. 174 175- Widget style sheets optimisations 176 * Improved the speed of style sheet initialization. 177 178- QAbstractItemModel 179 * Optimized QPersistantModelIndex creation and deletion. 180 * Optimized adding and removing rows and columns. 181 182- QFileSystemModel 183 * Ensured that the model is always sorted when required. 184 185- QTreeView 186 * Optimized expanding and collapsing items. 187 * Optimized expanding animations with large views. 188 189- QRect and QRectF 190 * Improves on functions like intersect(), contains(), etc. 191 192- QTransform 193 * Reduced the number of multiplications used for simple matrix types. 194 195- QRasterPaintEngine 196 * Reduced overhead of state changes; e.g., setPen() and setBrush(). 197 * Introduced a cache scheme for Windows glyphs, thus improving text 198 drawing performance significantly. 199 * Reduced the cost of doing rectangular clipping. 200 * Improved pixmap drawing. 201 * Improved pixmap scaling. 202 * Optimized drawing of anti-aliased lines. 203 * Optimized drawing of anti-aliased dashed lines. 204 205Third party components 206---------------------- 207 208- Updated Qt's SQLite version to 3.5.9. 209 210**************************************************************************** 211* Library * 212**************************************************************************** 213 214- General Fixes 215 * [217988] Fixed a thread safety issue in QFontPrivate::engineForScript 216 which could lead to buggy text rendering when rendering text from 217 several threads. 218 * [233703] Fixed a crash that occured when the input method (for example 219 SCIM) was destroyed while the application is still running. 220 * [233634] When there are several input method plugins available, they are 221 now initialized only when the user switches to them. 222 * [231089] Fixed an issue which caused HTTP GET to fail for chunk 223 transfers. 224 * [193475] Consumer tablet devices (like Wacom Graphite and Bamboo) now 225 work on Windows and Mac OS X. 226 * [203864] Do not warn when deleting objects in their event handler except 227 for Qt Jambi. 228 229- QAbstractItemModel 230 * [233058] Fixed the sorting algorithm used in rowsRemoved(). 231 232- QAbstractItemView 233 * [221955] Fixed a bug that allowed rows to be selected even if the 234 selection mode was NoSelection. 235 * [244716] Fixed a possible crash when an edited cell was moved. 236 * [239642] Ensured that a rubber band selection is clear if the selection 237 ends on the viewport. 238 * [239121] Ensured that the old selection is clear when starting a 239 selection on the viewport. 240 * [219380] Fixed an update issue when removing rows. 241 242- QAbstractSpinBox 243 * [221221] Fixed a usability issue with QAbstractSpinBox subclasses in 244 itemviews. 245 246- QBitmap 247 * [216648] Fixed a problem where QBitmaps were being converted to 32-bit 248 QPixmaps when QPixmap::resize() was called. 249 250- QByteArray and QString 251 * [239351] Fixed a bug in QCharRef and QByteRef that would cause them to 252 fail to detach properly in some cases. Applications need to be 253 recompiled to use the fix. 254 * [212140] Added repeated() functions to these classes. 255 * [82509] Added QT_NO_CAST_FROM_BYTEARRAY to disable "operator const 256 char *" and "operator const void *" in QByteArray. 257 258- QCalendarWidget 259 * [206017] Fixed minimumSize to be calculated correctly in the case where 260 the vertical header has a different text format set. 261 * [206282] Added support for browsing months using the mouse wheel. 262 * [238384] A click on the date cell will now be ignored if the year 263 spin box is opened. 264 265- QCleanlooksStyle 266 * [195446] Skip disabled menu and menu bar items when using keyboard 267 navigation. 268 * Fixed a problem with wrapped text eliding on titlebars. 269 * [204269] Fixed a sizing problem with push buttons having mnemonics. 270 * [216172] Fixed a problem with check box on inverted color schemes. 271 272- QColor 273 * [196704] Fixed a problem where the QColor::fromHsvF() function could 274 return incorrect values. 275 276- QComboBox 277 * [167106] Fixed a problem where the combobox menu would incorrectly show 278 check boxes after a style change. 279 * [227080] Fixed handling of the style sheet background-color attribute on 280 Windows. 281 * [227080] Adjusted pop-up size when using style sheet border. 282 * [238559] Fixed the completer as it was not using the right column with 283 setModelColumn(). 284 285- QCommandLinkButton 286 * [220475] Added support for On/Off icon states. 287 288- QCommonStyle 289 * [211489] Ensured that checkable group boxes with no title are drawn 290 correctly. 291 * [222561] Made more standard icons available. 292 293- QCOMPARE(QtTest) 294 * [183525] Fixed issue that caused QCOMPARE to give incomplete 295 information when comparing two string lists. 296 * [193456] Ensured that nmake install for QTestLib copies the DLL into the 297 bin directory. 298 299- QCoreApplication 300 * [224233] Ensured that QCoreApplication::arguments() skips the 301 -stylesheet argument. 302 303- QDate 304 * [222937] QDate - fixed issue preventing a minimum date of 01-01-01 305 from being set. 306 307- QDataStream 308 * [230777] Fixed a bug that would cause skipRawBytes() to go 309 backwards if the correct resulting position was larger than 2 GB. 310 311- QDateTimeEdit 312 * [196924] Improved QDateTimeEdit's usability. It now skips ahead to the 313 next field when input can't be valid for the current section. 314 315- QDBusConnection 316 * [211797] Added support for the GetAll call in the standard 317 org.freedesktop.DBus.Properties interface. 318 * [229318] Fixed race conditions caused by timers being deleted in 319 the wrong thread. 320 321- QDesktopServices 322 * [237398] Ensured that, on Mac OS X, returned paths do not have a 323 trailing '/'. 324 325- QDesktopWidget 326 * [244004] Fixed a coordinate issue on Mac OS X with multi-screen setups 327 where the screen sizes differ. 328 329- QDialog 330 * [214987] Ensured that maximize buttons are not put on dialogs by default 331 on Mac OS X. 332 333- QDialogButtonBox 334 * [224781] Dialog buttons without icons now get the same height as dialog 335 buttons with icons to maintain the alignment. 336 337- QDockWidget 338 * [237438] Fixed a crash in setFloat() for parentless dock widgets. 339 * [204184] Subclasses are now allowed to handle mouse events. 340 * [173854] Ensured that the size of the dock widget is remembered when it 341 is hidden. 342 343- QDomDocument 344 * [212446] Ensured that a new line inserted after an element that 345 indicates whitespace is preserved. 346 347- QDomAttr 348 * [226681] Fixed issue that caused specified() to return false if the 349 attribute is specified in the XML. 350 351- QEvent 352 * Added more debug operators for common event types. 353 354- QFlags 355 * [221702] Fixed issue with testFlag() that gave a surprising result on 356 enums with many bits. 357 358- QFormLayout 359 * [240759] Fixed crash in QFormLayout that could occur when a layout was 360 alone in a row. 361 362- QFile 363 * [238027] Fixed a bug that would cause QFile not to be able to map a file 364 to memory if QFile::open() was called with extra flags, like 365 QIODevice::Unbuffered. 366 367- QFileInfo 368 * [166546] Fixed QFileInfo operator== bug involving trailing directory 369 separators. 370 371- QFileDialog 372 * [240823] Fixed issues with file paths over 270 characters in length on 373 Windows. 374 * [212102] Fixed ".." directory issue. 375 * [241213] Fixed some problems when renaming files. 376 * [232613] Fixed a usability issue with UNC path on Windows. 377 * [228844] Fixed a wrong insertion in the filesystemModel that caused 378 persistant model index to be broken. 379 * [190145] [203703] Fixed a bug in getExistingDirectory() that returned 380 /home/ instead of /home, or on Windows, returned c:/temp/ instead of 381 c:/temp. We now match the native behavior. 382 * [236402] Fixed warning in the QFileDialog caused by deleting a directory 383 we have previously visited. 384 * [235069] Fixed issue that prevented QFileDialog from being closed on 385 Escape when the list view had focus. 386 * [233037] Fixed issue that caused the "Open" button to be disabled even 387 if we want to enter a directory (in AcceptSave mode). 388 * [223831] Ensured that the "Recent Places" string is translatable. 389 * Fixed crash on Windows caused by typing \\\ (empty UNC Path). 390 * [226366] Fixed issue that prevented the completer of the line edit from 391 being shown when setting a directory with lower case letter. 392 * [228158] Fixed issue that could cause the dialog to be closed when 393 pressing Enter with a directory selected. 394 * [231094] Fixed a hang that could occur when pressing a key. 395 * [227304] Fixed a crash that could occur when the dialog had a completer 396 and a QSortFilterProxyModel set. 397 * [228566] Fixed the layout to avoid cyclically showing and hiding the 398 scroll bars. 399 * [206221] Ensured that the view is updated after editing a value with a 400 custom editor. 401 * [196561] Fixed the static API to return the path of the file instead of 402 the link (.lnk) on Windows. 403 * [239706] Fixed a crash that could occur when adding a name filter from 404 an editable combo box. 405 * [198193] Ensured that directory paths on Windows have a trailing 406 backslash. 407 408- QFrame 409 * [215772] Style sheets: Ensured that the shape of the frame is respected 410 when not styling the border. 411 412- QFont 413 * [223402] QFont's QDataStream operators will now save and restore the 414 letter/word spacing. 415 416- QFontMetrics 417 * [225031] Fixed issue where QFontMetrics::averageCharWidth() could return 418 0 on Mac OS X. 419 420- QFtp 421 * [227271] Added support for old FTP servers that do not recognize the 422 "SIZE" and "MDTM" commands. 423 424- QFuture 425 * [214874] Fixed deadlock issue that could occur when cascading QFutures. 426 427- QGLContext 428 * [231613] Fixed a crash that could occur when trying to create a 429 QGLContext without a valid paint device. 430 431- QGLFramebufferObject 432 * [236979] Fixed a problem with drawing to multiple, non-shared, 433 QGLFramebufferObjects from the same thread using QPainter. 434 435- QGraphicsEllipseItem 436 * [207826] Fixed boundingRect() for spanAngle() != 360. 437 438- QGraphicsGridLayout 439 * [236367] Removed (0, 0) maximum size restriction of a QGraphicsItem by 440 an empty QGridLayout. 441 442- QGraphicsItem 443 * [238655] Fixed slowdown in QGraphicsItem::collidesWithItem() that was 444 present in Qt 4.4. 445 * [198912] ItemClipsChildrenToShape now propagates to descendants. 446 * [200229] Ensured that context menu events respect the 447 ItemIgnoresTransformations flag. 448 * Enabling ItemCoordinateCache with no default size now automatically 449 resizes the item cache if the item's bounding rectangle changes. 450 * [230312] Mac OS X: Fixed a bug where update() issued two paint events. 451 452- QGraphicsLayout 453 * [244402] Fixed issue that could cause a horizontal QGraphicsLinearLayout 454 to stretch line edits vertically. 455 456- QGraphicsLayoutItem 457 * Fixed a crash that could occur with custom layouts which did not delete 458 children. 459 460- QGraphicsScene 461 * [236127] Fixed BSP tree indexing error when setting the geometry of 462 a QGraphicsWidget. 463 464- QGraphicsWidget 465 * [223403] Ensured that QGraphicsWidget(0, Qt::Popup) will close when you 466 click outside it. 467 * [236127] Fixed QGraphicsScene BSP tree indexing error. 468 * Improved rendering of window title bars. 469 * Fixed crash that could occur when a child that previously had the focus 470 died without having the focus anymore. 471 472- QGraphicsProxyWidget 473 * [223616] Ensure that context menus triggered by ActionsContextMenu are 474 embedded. 475 * [227990] Widgets are not longer resized/moved when switching themes on 476 Windows. 477 * [219058] [237237] Fixed scroll artifacts in embedded widgets. 478 * [236545] Ensured that the drag and drop cursor pixmap is not embedded 479 into the scene on X11. 480 * [238224] Fixed a crash that could occur when a proxy widget item was 481 deleted. 482 * [242553] Fixed drag and drop propagation for embedded widgets. 483 484- QGraphicsSvgItem 485 * [241475] Fixed update on geometry change. 486 487- QGraphicsTextItem 488 * [240400] Fixed bugs in mouse press handling. 489 * [242331] Add tabChangesFocus() to let the user control whether the text 490 item should process Tab input as a character, or just switch Tab focus. 491 492- QGraphicsView 493 * [236453] Improved Tab focus handling (propagate Tab and Backtab to items 494 and widgets). 495 * [239047] Improved stability of fitInView() with a very small viewport. 496 * [242178] Fixed rubber band debris left in Windows XP style (potentially 497 any style). 498 * Fixed a crash in QGraphicsView resulting from the non-deletion of 499 sub-proxy widgets. 500 * Fixed issue that caused items() to return an incorrect list with an 501 incorrect sort order when an item in the scene has the 502 IgnoresTransformations flag set to true. 503 * Ensured that the painter properly saves/restores its state after a call 504 to drawBackground(). 505 * [197993] Allow any render hint to be set/cleared by the 506 QGraphicsView::renderHints property. 507 * [216741] Fixed handling of QGraphicsView::DontSavePainterState (broken 508 in Qt 4.3). 509 * [235101] [222323] [217819] [209977] Implemented proper font and palette 510 propagation in Graphics View. 511 * [238876] Fixed scroll artifacts in reverse mode. 512 * [153586] Ensured that the text cursor is drawn correctly in transformed 513 text controls in a QGraphicsView. 514 * [224242] Added support for embedding nested graphics views. 515 516- QGroupBox 517 * [204823] Fixed a palette inconsistency when using certain styles. 518 519- QHeaderView 520 * [239684] Fixed sorting that wouldn't happen when clicking unless the 521 sort indicator is shown. 522 * [236907] Fixed bug that could cause hidden columns to become visible. 523 * [215867] Resizing sections after moving sections could resize the wrong 524 columns. 525 * [211697] Fixed ResizeToContents to always show the full content of 526 cells. 527 528- QImage 529 * [240047] Fixed a problem with drawing/transforming sub-images. 530 531- QImageReader 532 * [138500] Added the QImageReader::autoDetectImageFormat() function. 533 534- QKeySequence: 535 * Added QKeySequence::SaveAs which has values for both GNOME and Mac OS X. 536 * [154172] Improved toString(NativeText) to return more native glyphs on 537 Mac OS X. 538 539- QLabel 540 * [226479] Fixed update if showing a QMovie that changes its size. 541 * [233538] Fixed behavior involving changing the color of a label with a 542 style sheet and pseudo-state. 543 544- QLineEdit 545 * [179777] Ensured that PasswordEchoOnEdit shows asterisks correctly. 546 * [229938] Fixed issue that could cause textChanged() to be emitted when 547 there was a maximum length set, even though the text was not changed. 548 * [210502] Fixed case-insensitive inline completion. 549 550- QLineF 551 * [241464] Fixed issue that could cause intersects() to be numerically 552 unstable in corner cases. 553 The function has been rewritten to be faster and more robust. 554 555- QListView 556 * [217070] Fixed issue that could cause scroll bars to appear in adjusted 557 icon mode. 558 * [210733] Made improvements in the way the pagestep is computed. 559 * [197825] Ensured that hidden items are not selectable. 560 561- QLocalServer 562 * Added new removeServer() static method to allow the socket file to be 563 deleted after an application has crashed. 564 565- QMacStyle 566 * [232298] Draw the sort indicators in the correct direction for table 567 headers. 568 * [198372] Give context sub-menus the correct mask. 569 * [209103] [232218] QToolButton::DelayedPopup is now displayed correctly. 570 * [221967] Bold header text now uses the correct color. 571 * [234491] Also the menu's QFont when when drawing menu items. 572 * Ensure the proper pressed look for tabs on Leopard. 573 574- QMainWindow 575 * [192392] Stop excessive updates with unified toolbars when changing the 576 enabled status of an action. 577 * [195259] Ensured that the toolbar button is shown when the unified 578 toolbar is created later. 579 580- QMessageBox 581 * [224094] Fixed crash that could occur when specifying a default button 582 that was not one of the buttons listed. 583 * [223451] Fixed a memory leak on a static pointer when the application 584 exits. 585 586- QMainWindow 587 * [224116] [228995] [228738] save/restoreState() would not always restore 588 the toolbars in the correct positions. 589 * [215430] Fixed issue that meant that the user could dock widgets and 590 they wouldn't be tabbed even if ForceTabbedDocks was set. 591 * [240184] Fixed an issue that caused QDockWidget to get smaller and 592 smaller by docking and undocking. 593 * [186562] Fixed layout when saving the state with an undocked dock widget 594 and then restoring it 595 * [228110] Re-adding a toobar now also re-docks it. 596 * [232431] Fixed a memory leak caused by setting centralWidget multiple 597 times. 598 599- QMenu 600 * [220965] [222978] Style sheets: Made it possible to set border and 601 gradient on items. 602 603- QMenuBar 604 * [228658] Fixed broken activated signal behavior. 605 * [233622] Fixed the repaint when a dialog is invoked 606 607- QMdiArea 608 * [233264] Mac OS X: Improved performance when dragging sub-windows 609 around. 610 * [233267] [234002] [219646] Removed flickering behavior that could occur 611 when switching between maximized sub-windows. 612 613- QNetworkReply: 614 * [235584] Fixed a bug that would cause sslConfiguration() to 615 return a null object if finished() had already been emitted. 616 617- QOpenGLPaintEngine 618 * [244918] Fixed a problem with drawing text and polygons onto software 619 rendering GL contexts. 620 621- QPainterPath 622 * [234220] Fixed crash due to a division by zero function in 623 addRoundedRect(). 624 625- QPicture 626 * [226315] Fixed an assert when trying to load picture files created with 627 Qt 3 into Qt 4. 628 629- QPixmap 630 * [223800] Fixed a bug where grabWindow() on a QScrollArea did not work 631 the first time. 632 * [217815] Fixed a bug where grabWidget() did not work properly for 633 resized and hidden widgets. 634 * [229095] Mac OS X: Fixed issue that could cause grabWindow() to grab the 635 wrong parts of the window for child widgets. 636 637- QPlastiqueStyle 638 * [195446] Ensured that the background is now painted on selected but 639 disabled menu items for improved keyboard navigation. 640 * [231660] Fixed support for custom icon size in tab bars. 641 * [211679] drawPartialFrame() now passes the widget pointer. 642 643- QPainter 644 * QPainter::font(), brush(), pen(), background(): 645 These functions will return default constructed objects when the 646 painter is inactive. 647 * [242780] Fixed segmentation fault that could occur when setting 648 parameters on an uninitialized QPainter. 649 * [89727] Added support for raster operations. 650 * [197104] More well-defined gradient lookup (linear gradients are now 651 perfectly symmetric if inverting the color stops). 652 * [239817] Fixed bug where overline/strike-out would be drawn with the 653 wrong line width compared to the underline. 654 * [243759] Fixed some off-by-one errors in the extended composition modes 655 in the raster paint engine. 656 * [234891, 229459, 232012] Fixed some corner case bugs in the raster paint 657 engine line/rectangle drawing. 658 * Fixed the "one pixel less" clipping bug caused by precision lost when 659 converting to int. 660 * Fixed the composition mode in QPainter raster which was not properly set. 661 * Fixed an assert when the painter is reused after a previous bad usage 662 (e.g., painting on a null pixmap). 663 664- QPainterPath 665 * Added convenience operators: +, -, &, |, +=, -=, &= and |=. 666 667- QPrinter 668 * [232415] Fixed a problem that caused a an invalid QPrinter 669 object to not update its validity after being passed into a 670 QPrintDialog. 671 * [215401] Fixed the size of the Executive paper format. 672 * [202113] Improved speed when printing to a highres PostScript printer. 673 * [195028] Trying to print to a non-existing file didn't update the validity 674 of the QPrinter object correctly. 675 * [134820] Support CUPS printer instances on Unix systems (Mac and X11). 676 * [201875] Fixed a bug that caused the fill opacity of a brush to be used 677 for the stroke in certain cases. 678 * [222056] Fixed absolute letter spacing when printing. 679 * [234135] Fixed a problem with custom margins for CUPS printers. 680 681- QPrintDialog 682 * [232207] When printing to a Qt .pdf or .ps printer under Windows or 683 Mac OS X, pop up a file dialog instead of the native print dialog. 684 685- QPrintPreviewDialog 686 * [236418] Fixed a problem that caused opening several QPrintPreviewDialogs 687 and printing to them at the same time crash. 688 689- QProcess 690 * [230929] (Unix) Open redirection files in 64-bit mode wherever supported. 691 692- QProgressDialog 693 * [215050] Properly stop internal timer that retriggered for no reason. 694 695- QProgressBar 696 * [216911] stylesheet bug if minimum value != 0 697 * [222872] Use the orientation when determining if we should repaint. 698 699- QRadioButton 700 * [235761] Fixed navigation with arrow keys when buttons are in different layout 701 702- QRegion 703 * [200586] Make QRegion a lot smarter when converting from a QPolygon, to avoid 704 creating a lot of needless rectangles. 705 * For Mac OS X, add QRegion::toQDRgn(), QRegion::toHIMutableShape() and 706 corresponding ::fromQDRgn() and ::fromHIShape(). The ::handle() is still 707 available for 32-bit Mac OS X builds and is the equivalent of ::toQDRgn(). 708 709- QScrollArea 710 * [206497] Stylesheet: It's now possible to style the corner with ::corner 711 712- QScrollBar 713 * [230253] Simple stylesheets doesn't break the scrollbar anymore. 714 715- QSettings 716 * [191901] Added methods setIniCodec() and iniCodec() for changing the codec of .ini files. 717 718- QSharedMemory 719 * Don't deadlock when locking an already-held lock. 720 721- QSortFilterProxyModel 722 * [236755] Hidden columns in QTableView could become visible 723 * [234419] Fixed a data corruption when adding child and row is filtered out 724 725- QSslSocket 726 * [189980] Ensure OpenSSL_add_all_algorithms() is called. 727 728- QSslCertificate 729 * [186084] Fixed a bug that would cause timezones in certificate 730 times not to be parsed correctly, leading to valid certificates 731 not being accepted 732 733- QSslConfiguration 734 * [237535] Fixed a bug that would cause QSslConfiguration objects 735 to leak memory and eventually corrupt data due to wrong 736 reference counting. 737 738- QStandardItemModel 739 * [227426] Fixed drag and drop of hierarchy 740 * [242918] Added ability to change flags of the root item. 741 742- QString 743 * [205837] Qt 4.4: format string warnings / small QString conversion 744 clean up. 745 746- QSvgRenderer 747 * [226522] Fixed fill-opacity when fill is a gradient. 748 * [241357] Fixed gradients with two or more stop colors at the same offset. 749 * [180846] Fixed small font sizes. 750 * [192203] Add support for gzip-compressed SVG files. 751 * [172004] Respect the text-anchor attribute for embedded SVG-fonts. 752 * [199176] Ensure QSvgGenerator handles fractional font sizes 753 * [151078] Fix parsing of embedded fonts in files that have <metadata> tags 754 755- QSystemTrayIcon 756 * [195943] QSystemTrayIcon now accepts right mouse clicks on Mac OS X. 757 * [241613] Hide the tooltip when open the menu on Mac OS X. 758 * [237911] Only emit QMenu::triggered once on Mac OS X. 759 * [196024] Make it possible to disable context menus on Mac OS X. 760 761- QTabBar 762 * [213374] Fixed position of label in vertical bar with stylesheet 763 764- QtScript 765 * [177665] Added QScriptEngine::checkSyntax(), which provides information 766 about the syntactical (in)correctness of a program. 767 QScriptEngine::canEvaluate() has been obsoleted. 768 * [192955] Added the ability to exclude the QObject::deleteLater() slot 769 from the dynamic QObject binding, so that scripts can't delete 770 application objects. 771 * [212277] Fixed issue where the wrong prototype object was set when a 772 polymorphic type was returned from a slot. 773 * [213853] Fixed issue that could cause events to be processed less 774 frequently than what's set with QScriptEngine::setProcessEventsInterval(). 775 * [217781] Fixed bug that caused the typeof operator to return "function" 776 when applied to a QObject wrapper object. 777 * [219412] Fixed bug that could cause the in operator to produce wrong results 778 for properties of Array objects. 779 * [227063] Fixed issue where a break statement caused an infinite loop. 780 * [231741] Fixed bug that could cause the implementation of the delete 781 operator to assert. 782 * [232987] QtScript now calls QObject::connectNotify() and 783 QObject::disconnectNotify(). 784 * [233346] Fixed issue where the garbage collector would not be triggered when 785 very long strings were created, causing excessive memory usage. 786 * [233624] Fixed bug that caused enums in namespaces to be handled incorrectly. 787 * [235675] Fixed issue where creating a QScriptEngine would interfere with 788 ActiveQt's QVariant handling. 789 * [236467] Fixed bug that caused QtScript to treat a virtual slot redeclared by 790 a subclass as an overload of the base class's slot. 791 * [240331] Fixed bug that caused QtScript to crash when one of the unary 792 operators ++ and -- was applied to an undefined variable. 793 * If a signal has overloads, an error will now be thrown if you try to connect 794 to the signal only by name; the full signature of a specific overload must 795 be used. 796 * Added support for multi-line string literals. 797 * Added QScriptEngine::setGlobalObject(). 798 * Made it possible to use reserved identifiers as property names in 799 contexts where there is no ambiguity. 800 801- QTcpSocket 802 * [235173] Fixed a bug that would cause QTcpSocket re-enter 803 select(2) with an uninitialized timer (when the first call got 804 interrupted by a signal). 805 806- QTextCursor 807 * [244408] Fixed regression in QTextCursor::WordUnderCursor behavior. 808 809- QTextCodec 810 * [227865] QTextCodec::codecForIndex(int) broken in Qt3Support 811 812- QTextEdit 813 * [164503, 232857] Fixed issues where using NoWrap caused 814 selection/background colors to not cover full width of text control. 815 * [186044] Fixed whitespace handling when copying text from Microsoft Word 816 or Firefox. 817 * [228406] Fixed parenthesis characters with RTL layout direction on 818 Embedded Linux. 819 * [189989] Fixed QTextEdit update after layout direction change. 820 821- QTextStream 822 * [210933] It is now possible to specify a locale which 823 QTextStream should use for text conversions. 824 825- QToolBar 826 * [193511] Fixed stylesheet on undocked toolbar 827 * [226487] Fixed the layout when the QMainWindow as a central widget with 828 fixed size. 829 * [220177] Fixed the layout not taking the spacing into account 830 831- QToolButton 832 * [222578] Fixed issues with checked and disabled tool buttons in some 833 styles. 834 * Tool button now allows independent hover styling on it's subcontrols. 835 * [167075] [220448] [216715] Polished stylesheet color, background, and 836 border. 837 * [229397] Fixed regression against Qt3 where setPopupDelay(0) did not 838 work as expected. 839 840- QToolTip 841 * [228416] Fixed style sheet tooltips on windows. 842 843- QTreeView 844 * [220494] scrollTo() didn't scroll horizontally if the vertical bar was 845 already at the correct position. 846 * [216717] Fixed update when children are added. 847 * [225029] Fixed bug that prevented focus from being shown for 848 non-selectable items when allColumnsShowFocus is set to true. 849 * [226160] Fixed hit detection when first column is moved. 850 * [225539] Fixed a crash when deleting the model. 851 * [241208] Fixed animation when using persistent editors. 852 * [202073] Fixed visualRect which would not take the indentation into 853 account when 1st column is moved. 854 * [230123] Item can no more be expanded with keyboard if 855 setItemsExpandable has been set to false. 856 857- QTreeWidget 858 * [243165] selectAll didn't work before the widget was shown 859 * [238003] setCurrentItem would not expand the parent item 860 * [223130] Fixed drag&drop when sort is enabled that would only drop the 861 first column. 862 * [223950] Only allow to drag items when they have the 863 Qt::ItemIsDragEnabled flag set. 864 * [218661] Made sure our internal model can pass the "modeltest" test 865 suite. 866 * [217309] Fixed issue that caused data() for CheckStateRole to return 867 Checked even if some children were partially checked. 868 * [229807] Fix a redrawing problem when scrolling with a different palette 869 role set on Mac OS X. 870 * [236868] Prevent a crash when dragging an item hidden by a tooltip on 871 Mac OS X. 872 873- QLocale 874 * Added support for narrow format for day and month names. 875 * Day and month names can now also be fetched as a standalone text. 876 877- QDebug 878 * Values of type QBool are now properly outputted with QDebug. 879 880- QUndoStack 881 * [227714] Don't crash when owner group is deleted. 882 883- QUrl 884 * [204981] Made the QUrl tolerant parser more tolerant 885 * Fixed a bug in QUrl's tolerant parsing of stray % characters 886 (not part of %HH sequences), which would cause it to make the 887 URL even worse 888 * [227069] Fixed a bug that would cause QUrl to not parse URLs 889 whose hostnames start with an IP address (like 890 http://1.2.3.4.example.com) 891 * [230642] Fixed a bug that made QUrl not properly produce proper 892 URLs with relative paths 893 * Modified QUrl to not normalize %HH in URLs unless strictly 894 necessary. QUrl now keeps the original %-encoding of the input 895 unless some operation is executed in the QString 896 components. This also allows for %2f to exist in path components. 897 898- QVariant 899 * [215610] prevented assertion when reading from an invalid QDataStream. 900 901- QWidget 902 * [222323] [217819] [209977] Improve Qt's font and palette propagation. 903 * [218568] Revert and reopen task 176809 ("when using 904 Qt::PreventContextMenu policy, the context key menu is still not sent to 905 the widget"). 906 * [220502] Ensure that setWindowFilePath() when called with an empty 907 string clears the proxy icon in Mac OS X. 908 * [240147] Enforce exclusivity between the Qt::WA_(Normal|Small|Mini)Size 909 * [168641] Ensure that tablet releases go to the correct widget on X11 and 910 Carbon (i.e., the widget that received the press). 911 * [192565] Fixed a problem with calling QWidget::render(), using a 912 QPrinter as a paint device. 913 * [236565] [168570] Fix regression on X11 where QWidget::restoreGeometry() 914 would restore incorrect geometry if the window was maximized when saved. 915 * [201655] Fix QWidget::scroll() acceleration issue with child widgets on 916 Mac OS X. 917 * [210734] [210734] Fixed a bug where changing the visibility of alien 918 widgets did not generate proper enter/leave events. 919 * [228764] Major improvement of scroll performance. 920 * [238258] [229067] [239678] Flickering with widgets larger than 921 4096x4096 pixels in size. 922 * [141091] Added full support for Qt::WA_StaticContents. 923 * [238709] Fixed a bug where calling clearMask() did not update the view 924 properly. 925 * [213512] Fixed clipping issue with Qt::WA_PaintOutsidePaintEvent widgets. 926 * [230175] Added support for calling render() recursively. 927 * [238115] Fixed painting issues after calling winId(). 928 929- QWindowsStyle 930 * [210069] Fixed a bug in the drawing of comboboxes. 931 932- QWindowsVistaStyle 933 * [221668] Respect background color role for item views. 934 * [227360] Current item now gets focus for multiselection views. 935 * [224251] Fixed incorrect painting of inverted and reversed progress 936 bars. 937 * [207836] Fixed a problem with vertical toolbar separators. 938 * [202895] Fixed problem where indeterminate progress bars were not 939 animated when Vista animations were explicitly disabled. 940 * [200899] Message box buttons are now right aligned. 941 942- QWindowsXPStyle 943 * [207242] Fixed a static memleak. 944 * [206418] Fixed missing focus rect on tool buttons. 945 * [188850] Fixed a problem with offsets for sliders. 946 * [110091] Tool buttons with arrows are not styled using black 947 windows arrows due to consistency issues with the native theme. 948 949- QWizard 950 * [204643] Make sure the maximum size of QWizard is computed properly. 951 952- QWorkspace 953 * [125281] fixed active child to be the same when minimizing and restoring 954 the main window. 955 956- QtWebKit 957 * ACID3 score 100 out of 100. 958 * Added support for plugins using Netscape Plugin API (NPAPI) for Windows, 959 Mac OS X, and X11. 960 * [211228] Fixed invisible focus rectangle on push buttons. 961 * [211256] Fixed dragging an image from the web view. 962 * [211273] Fixed static build of Qt with QtWebKit. 963 * [213966] Fixed wrong placement of native widget plugins after scrolling. 964 * [214946] Ensured native plugin instances are deleted properly. 965 * [217574] Fixed cursor problem on text input field after focus change. 966 * [218957] Fixed rendering of form elements when using Windows style. 967 * [219344] Added a remark that some web actions have an effect only 968 when contentEditable is true. 969 * [220127] Fixed mouse right click still allowed for disabled view. 970 * [222544] Added an option to print background elements. 971 * [222558] Fixed input method does not work after changing the focus. 972 * [222710, 222713] Fixed issues with TinyMCE editor. 973 * [223447] Ensured that CSS with relative path works on Windows. 974 * [224539] Fixed linkClicked() emitted only once for local anchor URLs. 975 * [225062] Fixed links do not work for QWebView embedded in QGraphicsScene. 976 * [227053] Fixed problem with percent encoded URLs. 977 * [230175] Fixed video rendering when embedded in Graphics View. 978 * [235270] Showed module name when plugin loading fails. 979 * [238330] Prevented multiple instantiation of native widget plugin. 980 * [238391] Prevented crash when printing to file is cancelled. 981 * [238662] Fixed function keys are not mapped. 982 * [241050] Implemented proper painting of CSS gradient. 983 * [241144] Ensured proper actions for some web action types. 984 * [241239] Ensured plugins are not loaded when disabled. 985 * [231301] Fixed an issue on Windows mobile when switching between input 986 modes. 987 988- Q3ButtonGroup 989 * [238902] Q3ButtonGroup now looks for children recursively rather than 990 just the direct children like it did in Qt 3. 991 * [200764] Fixed insertion of buttons with IDs in arbitrary order. 992 993- Q3FileDialog 994 * [230979] Fixed a crash after a resize and drag on scroll bars. 995 996- Q3MainWindow 997 * [240766] Crash while resizing the window while updating layouts. 998 999- Q3ListView 1000 * [225648] Fixes infinite update. 1001 1002- Q3ProgressBar 1003 * [132254] Fixed incorrect painting when totalSteps = 0. 1004 * [231137] Fixes progress bar disappearing if you set a style sheet to the 1005 application. 1006 1007- StyleSheets 1008 * [224095] Fixed white space inside palette(). 1009 * Fixed setting style on the application may change the appearance of some 1010 widgets. 1011 * [209123] Fixed Stylesheets causing unnecessary paint events on 1012 enterEvent() and leaveEvent(). 1013 * [209123] Fixed setting gradient background to custom widget. 1014 1015- QXmlQuery 1016 * [223539] Summary: "node" and other typekind keywords are not allowed as 1017 an element name when part of for loop. 1018 1019- QXmlStreamReader 1020 * [207024] Added the QXmlStreamAttribute::hasAttribute() function. 1021 * [231516] Regression: QXmlStreamWriter produces garbage in "version" 1022 attribute of XMLDeclaration. 1023 1024**************************************************************************** 1025* Examples and demos * 1026**************************************************************************** 1027 1028- Pad Navigator example 1029 * [236416] Provide a minimum window size for this example. 1030 * [208616] No longer builds in console mode on Windows. 1031 1032- Diagram Scene example 1033 * [244996] Fix crash when changing the font of a text item and then 1034 select other items. 1035 1036**************************************************************************** 1037* Database Drivers * 1038**************************************************************************** 1039 1040- Interbase driver 1041 1042- MySQL driver 1043 1044**************************************************************************** 1045* QTestLib * 1046**************************************************************************** 1047 1048 - QTestLib now supports writing benchmarks. 1049 - Fixed an issue where tests returned exit code 0, even though tests 1050 failed in some rare cases. 1051 1052**************************************************************************** 1053* Platform Specific Changes * 1054**************************************************************************** 1055 1056Unix 1057 * Made the iconv-based QTextCodec class (the "System" codec on 1058 Unix systems that support it) stateful. So it's now possible to 1059 feed incomplete multibyte sequences to the toUnicode function, 1060 as well as the first character in a UTF-16 surrogate pair. 1061 1062X11 1063 * Added a QGtkStyle to integrate with GTK+ based desktop environments. 1064 * If font config is used the default font-substitutions will no longer be 1065 used instead we rely on fontconfig to determine font substitutions as 1066 required. 1067 * Improved support for KDE4 desktop settings. 1068 * [214071] Improved support for custom freedesktop icon themes. 1069 * [195256] Use FreeType's subpixel filtering if available, thus honoring 1070 Font Config's LCD filter settings. 1071 * Added supported for XFIXES X11 extension for proper clipboard 1072 support when non-Qt application owns the clipboard. 1073 * Icon support for top level windows (_NET_WM_ICON) was improved 1074 to support several icons with different sizes. 1075 * [211240] In some cases QFileSystemWatcher didn't notify about 1076 files that were moved over another files. 1077 * [238743] Added support for the _NET_SYSTEM_TRAY_VISUAL property 1078 to use the same visual the system tray manager asks us to use. 1079 * [229593] Fix font matching with old fontconfig versions. 1080 * [167873] Proper event compression for mouse events when using tablets. 1081 * [208181] Fix averageCharWidth to be consistent for y!=x ppem 1082 * [229070] Fix QPrintDialog assertion 1083 * [211678] Fixed a problem with drawing a QPixmaps on different X11 1084 screens. 1085 * [221362] Fixed a problem where pixmaps only appeared on the first page 1086 in a print preview. 1087 * [232666] Fixed a problem with custom page sizes for CUPS printers. 1088 * [228770] Fixed a problem that caused the .ps and .pdf filename 1089 extensions 1090 to not update in the CUPS printer dialog when printing to file. 1091 * [230372] Fixed a problem where the number of copies set on a QPrinter 1092 object wasn't picked up and updated properly in a QPrintDialog. 1093 1094Windows 1095 * Cleartype rendering was previously supported onto QImages with 1096 an ARGB32 channel. For performance reasons, cleartype is now 1097 only supported on opaque images using the RGB32 or 1098 ARGB32_Premultipled format. Widget and pixmap rendering is 1099 unchanged 1100 * [175075] Antialiased font rendering quality has been greatly improved 1101 by taking gamma correction into account. We should now match the native 1102 Windows font rendering better, and the fonts look better in general when 1103 drawing fonts on different backgrounds. 1104 * [221132] Fixed a problem with System Tray menu visibility. 1105 * [221653] Fixed a problem incorrectly causing a Task Bar status change. 1106 * [202890] Improved platform consistency with spacing in menus. 1107 * [157323] QCombobox now slides to open on relevant platforms. 1108 * [237067] Calling showMessage on QSystemTrayIcon with empty arguments 1109 now hides the current message. 1110 * [145612] Setting an object name for a QThread sets the name that 1111 is visible in the debugger for more easy debugging 1112 multi-threaded application. 1113 * [216664] QLocale now follows the current system locale when the 1114 user changes it in the Windows Control Panel. 1115 * [223921] Fix writing system detection of TrueType fonts added 1116 via a QByteArray in QFontDatabase::addApplicationFont on Windows. 1117 * [205455] 'mailto:' links works properly with QDesktopServices::openUrl(). 1118 * [205516] standardPalette() now returns the system palette for XP and 1119 Vista styles. 1120 * [207506] Fixed an issue which switches the alignment for input widgets 1121 on Vista. 1122 * [223951] Added support for VARIANT with IDispatch in ActiveQt. 1123 * [224910] Fixed a crash when using the Hierarchy ActiveQt example. 1124 * [201223] 'dumpcpp' now prepends the 'classname_' to resolve conflicts. 1125 * [198556] QAxServer registering now takes care of '.' before MIME 1126 extension. 1127 * [223973] Fixed a deadlock in QLocalSocket. 1128 * [193077] Fixed activation of ActiveQt widgets in MFC MDI applications. 1129 * [238273] Fixed a crash while editing QTableView using japanese IME. 1130 * [238672] Fixed a crash when deleting a widget while dragging. 1131 * [241901] ActiveQt now supports [out VARIANT*] parameters. 1132 * Fix a GDI object leak on the qfileiconprovider. 1133 * [200269] Application and systray icons on Windows that had an alpha 1134 channel were not drawn correctly. 1135 * [239558] Fix a possible crash when reading XPM data containing trigraphs 1136 with the Microsoft compilers. 1137 * [204440] Fixed a problem with software rendering contexts on Windows, 1138 which might have caused rendering errors due to to unresolved extension 1139 pointers. 1140 * [232263] Fixed a problem with binding textures to a software context 1141 under Windows. 1142 * [238715] Fixed a problem with alpha-blended cursors under Windows. 1143 * [227297] and [232666] Fixed some problems with custom paper 1144 sizes under Windows. 1145 * [217259] The default printer wasn't correcly detected with some versions 1146 of Windows. 1147 * [212886] Fixed a problem with network printers not being listed by 1148 the QPrinterInfo::availablePrinters() function under Windows. 1149 * [205985] Fixed a problem with reusing a QPrinter object to print several 1150 jobs with the Microsoft XPS printer driver. 1151 * [196281] Fixed QPrinter::setPrintRange() to work under Windows. 1152 1153Windows CE 1154 * Support for QLocalSocket and QLocalServer added. 1155 * QtWebKit and Phonon are now supported. 1156 * One can mark a widget with the attribute WA_ExpectsKeyboardInput 1157 to automatically display / hide the standard input panel on focus 1158 events. 1159 * [223523] Reimplementations of standard library functions filled the 1160 global namespace causing problems when linking statically to other third 1161 party libraries using the same attempt. 1162 * Support for using OpenSSL with Qt on Windows CE 1163 1164Mac OS X 1165 * Added the macdeployqt tool that simplifies application deployment. 1166 * Improved support of widget stylesheet in Mac. 1167 * [218980] - Stacking order of windows and dialogs is fixed, such that 1168 dialogs always floats above normal windows, even when the dialog is told 1169 to behave as a window. 1170 * [219844] - A crash that occurred when using the search buttons on a 1171 native file dialog is fixed. 1172 * [225705] - FileDialog filters not displaying correctly is fixed. 1173 * [239155] - Pop-ups will now close when clicking on a window other than 1174 the modal window that opened the pop-up. 1175 * [210912] - Show event not sent when reshowing a window from minimized 1176 state is fixed. 1177 * [228017] - QMenu will now close when expanding a system menu. 1178 * Added support for Qt to use Cocoa as its backend instead of Carbon. This 1179 is primarily for 64-bit applications, but is also available for 32-bit 1180 frameworks as well. 32-bit is still Carbon by default. Passing a 64-bit 1181 architecture or -cocoa on the command-line will build Qt against Cocoa. 1182 Using Cocoa requires Mac OS X 10.5 (or higher) and cannot be used with 1183 the -static nor -no-frameworks option. The define QT_MAC_USE_COCOA is 1184 available when Qt is built against Cocoa. 1185 * Fix a bug that would prevent a window that had been maximized via 1186 setMaximized() to go back to normal size when clicking on the window's 1187 maximize button. 1188 * Added QMacCocoaViewContainer for embedding Cocoa (NSView) controls into 1189 a Qt hierarchy. This feature works for either Carbon or Cocoa, but 1190 requires Mac OS X 10.5 or greater. 1191 * Added QMacNativeWidget for embedding Qt widgets into non-Qt windows 1192 (Carbon or Cocoa). 1193 * Added MacWindowToolBarButtonHint for controlling whether or not the 1194 toolbar button is shown in Qt windows. 1195 * QEvents posted via QEventLoop::postEvent() are now treated as a standard 1196 event loop source, like timers and normal input events. This means that 1197 is should no longer be necessary to run a busy loop to sendPostedEvents() 1198 when QApplication is not the main event loop (e.g. when using Qt in a 1199 plugin). 1200 * [239646] Shortcuts for sub-menu are now disabled when the menu item is 1201 disabled. 1202 * [241434] Honor the LSBackgroundOnly attribute if it exists in the 1203 application's Info.plist. 1204 * [239908] More robustness when encountering different types in reading 1205 LSUIElement value. 1206 * [234742] Add support Qt::XButton1 and Qt::XButton2. 1207 * [236203] Much better support for loading multiple Qt's with different 1208 namespaces. 1209 * Add Qt::AA_MacPluginApplication that allows bypassing some native menu 1210 bar initialization that is usually not desired when running Qt in a 1211 plugin. 1212 * [205297] Applications Dialogs are now marked as application modal in 1213 Carbon. 1214 * Tooltip base is now set correctly in the application palette. 1215 * [222912] [241603] Qt applications no longer reset their palette back to 1216 the system palette on every application activate. Only if the values 1217 from the system are different from the last time. This should result in 1218 custom palette colors/brushes being kept across application activations. 1219 * [211758] Fixed a clipping problem when printing multiple pages on a Mac 1220 OS X printer. 1221 * [212884] Fixed a crash when printing images on Mac OS X. 1222 * [219877] Fixed a problem with a QPrinter object not being valid after 1223 setting the output format to PDF or PostScript. 1224 * [229406] Fixed crash when display mirroring gets enabled. 1225 * [189588] Fixed a bug where QColorDialog::getColor(...) always returned a 1226 valid color. 1227 1228Qt for Embedded Linux 1229 - Screen drivers 1230 * The SVGAlib driver is no longer supported, due to architectural changes. 1231 * [235785] Detect VGA16 video mode and warn that it is not supported. 1232 1233 - Mouse and keyboard drivers 1234 * [243374] Fixed bug where PC mouse driver could not be loaded when 1235 configured as loadable plugins. 1236 * Added Linux Input Subsystem mouse and keypad drivers 1237 1238 - General fixes 1239 * [242922] Run as server by default when compiled with the 1240 QT_NO_QWS_MULTIPROCESS macro defined. 1241 * Fixed bugs where wrong cursor would be shown in some cases. 1242 * Respect min/max size on initial show also for windows without a layout. 1243 * Fixed loading of font plugins when QT_NO_FREETYPE is defined. 1244 * Autodetect PowerPC in configure. 1245 * Add support for precompiled headers. 1246 1247**************************************************************************** 1248* Compiler Specific Changes * 1249**************************************************************************** 1250 1251**************************************************************************** 1252* Tools * 1253**************************************************************************** 1254 1255- Build System 1256 * [218795] add support for -nomake configure option on Windows to 1257 exclude build parts like on other platforms 1258 * The -tablet configure option on X11 was renamed to -xinput 1259 * [136723] Have moc issue a warning if a Q_PROPERTY declaration does not 1260 contain a READ accessor function. 1261 * [188529] Fixed bug that caused moc to get stuck in an infinite loop if 1262 two files included eachother and the include path had the prefix "./". 1263 * [203379] Changed moc code generator so that lint no longer reports 1264 problems with the generated code. 1265 * [210879] moc no longer generates any implementation for pure virtual 1266 signals. 1267 * [234909] Fixed bug that caused moc to treat /*/ as a full C comment. 1268 1269- Assistant 1270 1271- Designer 1272 * Added filter widgets in Widget Box and Property Editor. 1273 * Added layout state display to Object Inspector. 1274 * Enabled changing the layout type of laid-out containers. 1275 * Added handling of spanning QFormLayout columns. 1276 * Added convenience dialog to quickly populate QFormLayouts. 1277 * Added support for embedded device design profiles. 1278 * Changed the selection modifiers to comply to standards; enabled 1279 rectangle selection using the middle mouse button; added 1280 shift-click-modifier to cycle parents when selecting. 1281 * Added "translatable" flag and disambiguation comment to string 1282 properties. 1283 * Added attribute editors to item-based widgets. 1284 * Changed QUiLoader to use QXmlStreamReader instead of QDom. 1285 * Ui files with unknown elements are now rejected. 1286 * [123592] While dropping a dock widget a main window - make the dock 1287 "docked". 1288 * [126269] Added the ability to morph widgets into compatible widgets. 1289 * [126997] Added support for QButtonGroup. 1290 * [145813] Added a listing function to obtain the available layouts to 1291 QUiLoader. 1292 * [155837] Added support for QWizard. 1293 * [164520] Added automatic detection of changes to the qrc resource files 1294 from external sources. 1295 * [166501] Added "translatable" checkbox to string properties making it 1296 possible to exclude it from the translation. 1297 * [171900] Indicate Qt 3 compatibility signals and slots using a different 1298 color. 1299 * [173873] Position pasted widgets at mouse position if possible. 1300 * [183637] Introduced Widget Box "Icon view" mode to reduce scrolling, 1301 available via context menu. 1302 * [183671] Added automatic retranslation upon language change of UIs 1303 loaded via QUiLoader. 1304 * [185283] Added incremental search facility to Object Inspector. 1305 * [191789] Added pkgconfig-Files for Qt Designer libraries. 1306 * [198414] Enabled promotion of QMenu/QMenuBar by object inspector context 1307 menu. 1308 * [201505] Extended QDesignerIntegration::objectNameChanged() to pass on 1309 old object name. 1310 * [202256] Fixed action editor and object inspector not to resize header 1311 when switching forms. 1312 * [211422] Fixed QScrollArea support to handle custom QScrollArea widgets 1313 with internal children. 1314 * [211906] Enable promotion of unmanaged widgets by object inspector 1315 context menu. 1316 * [211962] Enabled widgets to span columns in a QFormLayout. 1317 * [212378] Made the rich text editor dialog, the plain text editor dialog 1318 and the style sheet editor dialog remember their geometry. 1319 * [213481] Fixed a crash while form loading by preventing it from 1320 adding layouts to unknown layout types. 1321 * [219381] Fixed Action editor to reflect changing the shortcut in the 1322 property editor. 1323 * [219382] Added tooltip, checkable and shortcut properties to the action 1324 editor dialog. 1325 * [219405] Added support for the stretch and minimum size properties of 1326 QBoxLayout and QGridLayout. 1327 * [219492] Added an icon preview to the resource image file dialog on X11. 1328 * [220148] Fixed handling of the QMainWindow::unifiedTitleAndToolBarOnMac 1329 property. 1330 * [223114] Fixed a crash on removing a dynamic QUrl property. 1331 * [229568] Added Q3ComboBox. 1332 * [230818] Fixed a bug which caused duplicate names to occur when 1333 copying & pasting spacers. 1334 * [233403] Fixed a painting bug which caused red line layout markers to 1335 disappear depending on grid settings. 1336 * [233711] Added a warning when saving a container-extension-type 1337 container with unmanaged pages. 1338 * [234222] Fixed a bug which caused the autoFillBackground property to be 1339 reset during Drag and Drop operations. 1340 * [234326] Fixed the QDesignerIntegration::objectNameChanged() signal to 1341 work correctly. 1342 * [236193] Fixed a crash caused by invalid QSizePolicy values resulting 1343 from Qt 3 conversion. 1344 * [238524] Ignore constructor-added items of custom widgets inheriting 1345 QComboBox. 1346 * [238707] Fixed pkgconfig file generation to honour -qt-libinfix. 1347 * [238907] Disabled reordering of Spacers and Layouts causing uic to 1348 warn "<name> isn't a valid widget". 1349 * [232811] Correctly show empty string values in preview. 1350 * [214637] Single click expands/collapses classes in property editor 1351 * [241949] Update the object inspector properly in case of undoing a 1352 reparent widget command. 1353 1354- uic 1355 * Ui files with unknown XML elements are now rejected. 1356 * [220796] Added code for adding items to widgets of class Q3ComboBox. 1357 1358- uic3 1359 1360 * [231911] Fixed the conversion of boolean font attributes. 1361 * [233802] Fixed -extract option on Windows. 1362 * [236193] Fixed the conversion of QSizePolicy's "Ignored" value. 1363 1364- Linguist 1365 1366 - Linguist GUI 1367 1368 * Much improved form preview tool 1369 * Removed translations column from message index for it being useless. 1370 * Phrasebooks have language settings now 1371 * [141788] Support translating into multiple languages simultaneously. 1372 * [183210] Whitespace is now visualized 1373 * [182866] Font resizing in translation textedits 1374 * [187765] Support opening files via Drag & Drop 1375 1376 - Entire Linguist toolchain 1377 1378 - [201713] Add support for specifying the source language. 1379 1380 - file formats 1381 1382 * The .qm files now can be read back by the toolchain, not only Qt. 1383 * Added support for GNU Gettext .po files. 1384 1385 - Qt's own .ts format 1386 1387 * New element <extracomment> to store purely informative comments 1388 * New element <translatorcomment> to store comments from translators 1389 * New element wildcard <extra:*> to support user extensions 1390 * New elements <oldsource> and <oldcomment> to store values from 1391 before the last heuristic merge by lupdate 1392 1393 - lupdate 1394 1395 * Parse //: and /*: */ comments as extra comments for translations. 1396 * Added support for new QT_TR*() macros. 1397 * Added support for QtScript. 1398 * Better error reporting. 1399 * More accurate processing of .pro files. 1400 * Added options -disable-heuristic, -nosort, -target-language, 1401 -source-language. 1402 * [197391] Support for storing source code references with relative 1403 line numbers or no references at all. Omit line numbers from .ui file 1404 references at all. These reduce the size of patches and avoid merge 1405 conflicts. Option -locations. 1406 * [197818] Add support for UTF-16 encoded sources. 1407 * [209778, 222637] Somewhat improved C++ parser, in particular with 1408 respect to namespaces. 1409 * [218671] Accept Q_DECLARE_TR_FUNCTIONS. 1410 * [212465] Default context is now the empty string, not "@default". 1411 This codifies what previously was an intermittent bug. 1412 * [220459] Collect all source code references for each message. 1413 1414 - lconvert 1415 1416 * New tool for converting between file formats and filtering file contents. 1417 1418- configure 1419 1420- qtconfig 1421 * Added option to set style and palette settings back to system defaults. 1422 1423- qt3to4 1424 * [218928] [219127] [219132] [219482] Misc. updates to the porting replacement rules. 1425 1426**************************************************************************** 1427* Plugins * 1428**************************************************************************** 1429 1430- QTiffPlugin 1431- QSvgIconEngine 1432 1433**************************************************************************** 1434* Important Behavior Changes * 1435**************************************************************************** 1436 1437- Event filters 1438 1439- QFileDialog 1440 On Mac, native dialogs are now used when calling show, open, or exec 1441 on a QFileDialog, QColorDialog, QPrintDialog, or QFontDialog (i.e not 1442 only when using the static functions) 1443 1444 QFileDialog/QFileSystemModel always return Qt separators ("/") 1445 regardless of the platform. It can still handle native separators for 1446 Windows. To convert the Qt separators to native separators use 1447 QDir::toNativeSeparators(). 1448 1449- QGraphicsTextItem 1450 Tab input is send to the document by default, inserting a <tab> 1451 character. You can get the old behavior of switching Tab focus by 1452 setting setTabChangesFocus(true) (QGraphicsTextItem's Tab handling now 1453 behaves identically to QTextEdit and QTextBrowser). 1454 1455- QGraphicsView 1456 QGraphicsView now propagates Qt::Key_Tab and Qt::Key_Backtab to the 1457 scene, which sends this to the items. Similar to how QWidget works, 1458 this event is caught in QGraphicsItem::sceneEvent() and 1459 QGraphicsWidget::event() to handle tab input. Tab input is also 1460 proxied to embedded widgets. This allows and item or widget to handle 1461 Tab keys (e.g., text input). 1462 1463- QLocale 1464 The locale database was updated to the Unicode CLDR database 1465 version 1.6.1 1466 1467 When the system locale is changed, the LocaleChange event will 1468 be sent to all widgets that don't have a locale explicitely 1469 set. 1470 1471- QWebPage 1472 Starting with Qt 4.5, the base brush is used for the default 1473 background color of the web page. Before, it was the background 1474 brush. 1475 1476- QWidget 1477 Font and palette settings assigned to QWidget directly take 1478 precedence over application fonts and palettes. 1479 1480 Focus policies that are set on a widget are now propagated to 1481 a focus proxy widget if there is one. 1482 1483 Windows with fixed size (that are set with QWidget::setFixedSize() 1484 function or Qt::MSWindowsFixedSizeDialogHint window hint) might 1485 not have a maximize button on the titlebar. 1486 1487 The behaviour of the window hints was changed to follow the 1488 documentation. When the Qt::CustomizeWindowHint is set, the 1489 window will not have a titlebar, system menu and titlebar 1490 buttons unless the corresponding window hints were explicitely 1491 set. 1492 1493 Setting Qt::WA_PaintOnScreen no longer has any effect on 1494 normal widgets. The flag can still be used in conjuction with 1495 reimplementing paintEngine() to return 0 so that GDI or 1496 DirectX can be used, as previously documented. 1497