diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2009-03-23 09:34:13 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-03-23 09:34:13 (GMT) |
commit | 67ad0519fd165acee4a4d2a94fa502e9e4847bd0 (patch) | |
tree | 1dbf50b3dff8d5ca7e9344733968c72704eb15ff /dist/changes-4.3.0 | |
download | Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.zip Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.gz Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.bz2 |
Long live Qt!
Diffstat (limited to 'dist/changes-4.3.0')
-rw-r--r-- | dist/changes-4.3.0 | 2445 |
1 files changed, 2445 insertions, 0 deletions
diff --git a/dist/changes-4.3.0 b/dist/changes-4.3.0 new file mode 100644 index 0000000..f4e1d1a --- /dev/null +++ b/dist/changes-4.3.0 @@ -0,0 +1,2445 @@ +Qt 4.3 introduces many new features as well as many improvements and +bugfixes over the 4.2.x series. For more details, see the online +documentation which is included in this distribution. The +documentation is also available at http://doc.trolltech.com/4.3 + +The Qt version 4.3 series is binary compatible with the 4.2.x series. +Applications compiled for 4.2 will continue to run with 4.3. + +The Qtopia Core version 4.3 series is binary compatible with the 4.2.x +series except for some parts of the device handling API, as detailed +in Platform Specific Changes below. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Task Tracker: + + http://www.trolltech.com/developer/task-tracker + +Each of these identifiers can be entered in the task tracker to obtain +more information about a particular change. + +**************************************************************************** +* General * +**************************************************************************** + +General Improvements +-------------------- + +- Configuration/Compilation + * Fixed OpenBSD and NetBSD build issues. + +- Legal + * Added information about the OpenSSL exception to the GPL. + +- Documentation and Examples + * Added information about the TS file format used in Linguist. + * Moved platform and compiler support information from + www.trolltech.com into the documentation. + * Added an Accessibility overview document. + * Added new example to show usage of QCompleter with custom tree models. + +- Translations + * Added a Slovak translation of Qt courtesy of Richard Fric. + * Added a Ukrainian translation of Qt courtesy of Andriy Rysin. + * Added a Polish translation of the Qt libraries and tools courtesy of + Marcin Giedz, who also provided a Polish phrasebook for Qt Linguist. + * [155464] Added a German translation for Qt Designer. + +- Added support for the CP949 Korean Codec. + +- [138140] The whole Qt source compiles with the QT_NO_CAST_FROM_ASCII + and QT_NO_CAST_TO_ASCII defines and therefore is more robust when + using codecs. + +- Added support for HP-UX 11i (Itanium) with the aCC compiler + +- Changed dialogs to respond much better to the LanguageChange event. + (i.e. run time translation now works much better.) + +- Signals and slots + * [61295] Added Qt::BlockingQueuedConnection connection type, which + waits for all slots to be called before continuing. + * [128646] Ignore optional keywords specified in SIGNAL() and SLOT() + signatures (struct, class, and enum). + * Optimize emitting signals that do not have anything connected to them. + +- [121629] Added support for the MinGW/MSYS platform. + +- [102293] Added search path functionality (QDir::addSearchPath) + +- Almost all widgets are now styleable using Qt Style Sheets. + +Third party components +---------------------- + +- Updated Qt's SQLite version to 3.3.17. + +- Updated Qt's FreeType version to 2.3.4. + +- Updated Qt's libpng version to 1.2.16. + +- Added libtiff version 3.8.2 for the TIFF plugin. + +**************************************************************************** +* Library * +**************************************************************************** + +- QAbstractButton + * [138210] Ensured strictly alternating ordering of signals resulting + from auto-repeating shortcuts. Fixed a repeat timer bug that cause + cause infinite retriggering to occur. + * [150995] Fixed bug where non-checkable buttons take focus when + activating shortcuts. + * [120409] Fixed bug where the button was set to unpressed when the + right mouse button was released. + +- QAbstractItemView + * [111503] Ensured that focus is given back to the view when the Tab key + is pressed while inside an editor. + * [156290] Use slower scrolling when the ScrollMode is set to + ScrollPerItem. + * Ensured that the item view classes use the locale property when + displaying dates and numbers to allow easy customization. + * Fixed a repaint issue with the focus rectangle in cases where + selection mode is NoSelection. + * [147422] Detect when persistent editors take/lose focus and update the + view accordingly. + * [146292] Items are now updated even if they contain an editor. + * [130168] Auto-scrolling when clicking is now delayed to allow + double-clicking to happen. + * [139247] Fixed bug where clicking on a partially visible item was + triggering a scroll and the wrong item was then clicked. + * [137729] Use dropAction() instead of proposedAction() in + QAbstractItemView::dropEvent(). + * Fixed a bug that prevented keyboardSearch() from ignoring disabled + items. + * [151491] Ensured that we pass a proper MouseButtonPress event in + QAbstractItemView::mouseDoubleClickEvent(). + * [147990] Ensured that double-clicking does not open an editor when + the edit trigger is set to SelectedClicked. + * [144095] Ensured that sizeHintForIndex() uses the correct item + delegate. + * [140180] Ensured that clicking a selected item clears all old + selections when the view is using the ExtendedSelection selection mode + and SelectedClicked as an edit trigger. + * [130168] Fixed bug where double clicking on partially visible items + would not activate them. + * [139342] Allow editing to be started programatically, even if there + are no edit triggers. + * [130135] Added public slot, updateIndex(const QModelIndex &index). + +- QAbstractProxyModel + * [154393] QAbstractProxyModel now reimplements itemData(). + +- QAbstractSlider + * [76155] Fixed bug where the slider handle did not stop under the + mouse. + +- QAbstractSocket + * [128546] Fixed bug where an error was emitted with the wrong type. + +- QAccessible + * Added preliminary support for the upcoming IAccessible2 standard. + * Made improvements to most of the accessible interfaces. + * [154534] Ensured that our accessible interfaces honour + QWidget::setAccessibleName() and QWidget::setAccessibleDescription(). + * Avoid crash if QAccessibleInterface::object() returns 0. + (It is absolutely legal to return a null value.) + +- QApplication + * Added a flash() method for marking windows that need attention. + * [86725] Allow the -style command line argument to override a + style set with QApplication::setStyle() before QApplication + construction. + * [111892] Fixed a bug that caused Qt to steal all input when + connecting the QAction::hovered() signal to a slot that called + QMainWindow::setEnabled(false). + * [148512] Fixed QApplication::keyboardModifiers() to update + correctly when minimizing the window when Qt::MetaModifier is held + down. + * [148796] Fixed a bug that prevented Qt from detecting system font + changes. + * [154727] Prevent a crash when a widget deletes itself in an key + event handler without accepting the event. + * [156484] Fixed a bug where lastWindowClosed() was emitted for each + top-level window when calling QApplication::closeAllWindows(). + * [157667] Ensured that widgets with the Qt::WA_DeleteOnClose property + set are properly deleted when they are closed in the dropEvent() + handler following a drag that was started in the same application. + * [156410] Implemented QEvent::ApplicationActivate and + QEvent::ApplicationDeactivate on all platforms. Note that + QEvent::ApplicationActivated and QEvent::ApplicationDeactivated are + now deprecated. + +- QAtomic + * [126321] Fixed several flaws in the inline assembler implementations + for several architectures (ARM, i386, PowerPC, x86-64). + * [133043] Added support for atomic fetch-and-add. + +- QAuthenticator + * New Class. Needed for authentication support in the Network module. + Currently supports the Basic, Digest-MD5 and NTLM authentication + mechanisms. + +- QBitArray + * [158816] Fixed crash in operator~(). + +- QCalendarWidget + * Don't set maximum width for month/year buttons. + * Ensured that the QPalette::Text role is used for default text. + * Added a date editor which can be configured with the dateEditEnabled + and dateEditAcceptDelay properties. + * [137031] Ensured that grid lines are drawn properly when headers are + not visible. + * [151828] Ensured that the language can be set with + QCalendarWidget::setLocale(). + +- QChar + * Updated the Unicode tables to Unicode 5.0. + * Added foldCase() and toTitleCase() methods. + * Added public API to handle the full Unicode range. + +- QCleanlooksStyle + * [129506] Sliders now look and behave correctly in both reversed and + inverted appearance modes. + * [131490] Group boxes no longer reserve space for their titles when no + title is set. + * [134344] A sunken frame is now used to indicate checked menu items + with icons. + * [133691] Improved the appearance of spin boxes and buttons when used + against dark backgrounds. + * [154499] Fixed a rendering issue with disabled, checked push buttons. + * [154862] Fixed an issue causing combo boxes to sometimes show clipped + text. + * Slider appearance is now based on Clearlooks Cairo and the performance + on X11 has been improved. + * The appearance of tab bars when used with Qt::RightToLeft layout + direction has been improved. + * Dock widget titles are now elided if they are too long to fit in the + available space. + +- QClipboard + * Ensured that calling clear() on the Mac OS X clipboard really clears + its data. + * [143927] Don't drop alpha channel information when pasting pixmaps on + Mac OS X. + * The Mac OS X clipboard support now understands TIFF information and + can export images as TIFF as well. + * [145437] Fixed crash that could occur when calling setMimeData() twice + with the same data. + * QMacMime now does correct normalization of file names in a URL list + from foreign applications. + +- QColor + * [140150] Fixed bug where QColor::isValid() would return true for + certain invalid color strings. + * [120367] Added QColor::setAllowX11ColorNames(bool), which enables + applications to use X11 color names. + * Fixed internal errors in toHsv() due to inexact floating point + comparisions. + +- QColorDialog + * [131160] Enabled the color dialog to be used to specify an alpha color + on Mac OS X. + +- QColumnView + * A new widget that provide a column-based implementation of + QAbstractItemView. + +- QComboBox + * Significantly reduced the construction time of this widget. + * [155614] Speeded up addItem() and addItems(). + * [150768] Ensured that inserting items doesn't change the current text + on editable combo boxes. + * [150902] Ensured that only the left mouse button can be used to open + the popup list. + * [150735] Fixed pop-up hiding behind top-level windows on Mac OS X. + * [156700] Fixed bug where the popup could be closed when pressing the + scroll arrows. + * [133328] Fixed bug where disabled entries were not grayed out. + * [134085] Fixed bug where the AdjustToContents size policy had no + effect. + * [152840] Fixed bug where QComboBox would not automatically scroll to + the current item. + * [90172] Fixed bug where the sizeHint() implementation iterated over + all icons to detect their availability. + +- QCompleter + * Significantly reduced the construction time of this widget. + * Added support for lazily-populated models. + * [135735] Made QCompleter work when used in a QLineEdit with a + QValidator. + * Added the wrapAround property to allow the list of completions to + wrap around in popup mode. + * Added support for sharing of completers, making it possible for the + same QCompleter object to be set on multiple widgets. + * [143441] Added support for models that sort their items in descending + order. + +- QCoreApplication + * Added support for posted event priorities. + * [34019] Added the QCoreApplication::removePostedEvents() overload + for removing events of a specific type. + * Documented QCoreApplication::processEvents() as thread-safe; + calling it will process events for the calling thread. + * Optimized delivery of QEvent::ChildInserted compatibility events. + * [154727] Enabled compression of posted QEvent::DeferredDelete events + (used by QObject::deleteLater()) to prevent objects from being deleted + unexpectedly when many such events are posted. + * Ensured that duplicate entries in library paths are ignored. + +- QCryptographicHash + * New Class. Provides support for the MD4, MD5 and SHA1 hash functions. + +- QCursor + * [154593] Fixed hotspot bug for cursors on Mac OS X. + * [153381] Fixed crash in the assignment operator in cases where the + cursor was created before a QApplication instance. + +- QDataWidgetMapper + * [125493] Added addMapping(QWidget *, int, const QByteArray &) and + mappedPropertyName(QWidget *) functions. + +- QDateTime + * [151789] Allow passing of date-only format to QDateTime::fromString() + (according to ISO 8601). + * [153114, 145167] Fixed bugs that could occur when parsing strings to + create dates. + * [122047] Removed legacy behavior which assumed that a year between 0 + and 99 meant a year between 1900 and 1999. + * [136043] Fixed the USER properties. + +- QDateTimeEdit + * [111557, 141266] Improved the behavior of the widget with regard to + two-digit years. Made stepping work properly. + * [110034] Don't change current section when a WheelEvent is received. + * [152622] Don't switch section when a FocusInEvent is received if the + reason is Popup. + * Fixed a bug that would cause problems with formats like dd.MMMM.yyyy. + * [148522] Ensured that the dateRange is valid for editors that only + show the time. + * [148725] Fixed a bug with wrapping and months with fewer than 31 days. + * [149097] Ensured that dateTimeChanged() is emitted, even if only date + or time is shown. + * [108572] Fixed the behavior to ensure that typing 2 into a zzz field + results in a value of 200 rather than 002. + * Ensured that the next field is entered when a separator is typed. + * [141703] Allow empty input when only one section is displayed. + * [134392] Added a sectionCount property. + * [134392] Added sectionAt(), currentSectionIndex(), and + setCurrentSectionIndex() functions. + * Added a NoButtons value for the buttonSymbols property. + +- QDesktopWidget + * [135002] Ensured that the resized() signal is emitted after the + desktop is resized on Mac OS X. + +- QDial + * [151897] Ensured that, even with tracking disabled, the signal + sliderMoved() is always emitted. + * [70209] Added support for the inverted appearance property. + +- QDialog + * [131396] Fixed a crash in QDialog::exec() that could occur when the + dialog was deleted from an event handler. + * [124269] Ensured that the size grip is hidden for extended dialogs. + * [151328] Allow the use of buttons on the title bar to be explicitly + specified on Mac OS X. + +- QDialogButtonBox + * [154493] Moved the Action role before the Reject role on Windows to + conform with platform guidelines. + +- QDir + * [136380] QDir's permission filters on Unix now behave the same as on + Windows (previously the filters' behavior was reversed on Unix). + * [158610] Passing QDir::Unsorted now properly bypasses sorting. + * [136989] Ensured that removed dirs are reported as non-existent. + * [129488] Fixed cleanPath() for paths with the "foo/../bar" pattern. + +- QDirIterator + * New class. Introduced to provide a convenient way to examine the + contents of directories. + +- QDockWidget + * [130773] Ensure that dock widgets remember their undocked positions + and sizes. + * Added support for vertical title bars, which can be used to save space + in a QMainWindow. + * Added support for setting an arbitrary widget as a custom dock widget + title bar. + * [141792] Added the visibilityChanged() signal which is emitted when + dock widgets change visibility due to show or hide events, or when + being selected or deselected in a tabbed dock area. + * Added the dockLocationChanged() signal which is emitted when dock + widgets are moved around in a QMainWindow. + * [135878] Titlebars now support mnemonics properly. + * [138995] Dock widget titlebars now correctly indicate their activation + state. + * [145798] Ensured that calling setWindowTitle() on a nested, docked + dock widget causes the title in the tab bar to be updated. + +- QDomDocument + * [128594] Ensured that comment nodes are indented correctly when + serializing a document to a string. + * [144781] Fixed crash that would occur when the owner document of new + attributes was not adjusted. + * [107123] Ensured that appendChild() does not erroneously add two + elements to document nodes in certain cases. + +- QDoubleSpinBox + * [99254] Allow higher settings for decimals. + +- QDrag + * [124962] Added QDrag::exec() to allow the default proposed action to + be changed. + +- QFile + * [128352] Refactored the backend on Windows with major performance + improvements; in particular line and character reading is now much + faster. + * [146693] Fixed a lock-up in copy(). + * [148447] QFile now supports large files on Windows where support is + available. + * Generally improved support for stdin. + * Byte writing performance has improved on all platforms. + * [151898] Added support for reading lines with an embedded '\0' + character. + +- QFileDialog + * Updated the dialog to use native icons. + * Made general improvements to the dialog's performance. + * Added a sidebar to show commonly used folders. + * [134557] Added the ability to use a proxy model. + * Added dirEntered() and filterSelected() signals, previously found in + Qt 3's file dialog. + * [130353] Fixed Qt/Mac native file dialog pattern splitting + * [140332] Made the dialog respond much better to the LanguageChange + event. + * [154173] Fixed a memory deallocation error. + * Made the selected filter argument work for native Mac OS X file + dialogs. + +- QFileInfo + * Ensured that the value of Mac FS hidden flag is returned for symbolic + links and not their targets; i.e., hidden links are not followed. + * [128604] Introduced isBundle() for Mac OS X bundle types. + * [139106] Fixed bug that could cause drives to be reported as hidden + on Windows. + +- QFileSystemWatcher + * [155548] Reliability fixes. + * When in polling mode, send change notification when file permissions + change. + * [144049, 149637] Fixed a bug that prevented watching a directory + for notification on Windows. + * [143381] Fixed bug that caused addPath() and removePath() to fail when + passing an empty string. + +- QFocusFrame + * [128713, 129126] Made the focus frame visible in more situations on + Mac OS X. + +- QFont + * X11: Add a method to retrieve the FreeType handle from the QFont. + +- QFontComboBox + * [132826] Fixed a bug that could cause the popup list to be shown + off-screen. + * [155614] Speeded up addItem() and addItems(). + * [160110] Fixed crash that could occur when setting a pixel size for + the fonts. + +- QFontMetrics + * [152013] Fixed bug where boundingRect() gave sizes that were too large + when compiled using Visual Studio 6. + * [145980] Added tightBoundingBox() method. + +- QFrame + * [156112] Fixed bug where the default frame was not correct when + created without a parent and reparented afterwards. + * [150995] Fixed bug where setting the frame style did not invalidate + the size hint + +- QFSFileEngine + * Fixed bug in fileTime() on Win98 and WinME + * Ensured that the working directory of a Windows shortcut is set when + a link is created. + * Improved the reliability of buffered reads on platforms that cache + their EOF status. + +- QFtp + * [107381] Greatly improved LIST support; QFtp now supports more server + types. + * [136008] Improved tolerance for servers with no EPRT/EPSV support. + * [150607] Fixed a race condition when using ActiveMode for uploading. + +- QGL + * [158971] Fixed a resource leak in the GL texture cache. + +- QGLFramebufferObject + * Made it possible to configure the depth/stencil buffer in a + framebuffer object. + * Added support for floating point formats for the texture in a + framebuffer object. + +- QGLPixelBuffer + * [138393] Made QGLPixelbuffer work under Windows on systems without the + render_texture extension. + +- QGLWidget + * [145621] Avoided a QGLFormat object copy when checking the buffer + format with the doubleBuffer() function. + * [100519] Rewritten renderText(). It now supports Unicode text, and it + doesn't try to overwrite previously defined display lists. + +- QGraphicsItem + * [151271] Fixed crash that could occur when calling update on items + that are not fully constructed. + * Ensured that the selected state no longer changes state twice + for each mouse click. + * [138576] setParent() now correctly adds the child to the parent's + scene. + * [130263] Added support for partial obscurity testing with the + isObscured(QRectF) function. + * [140725] QGraphicsTextItem is now also selectable when editable. + * [141694] QGraphicsTextItem now calls ensureVisible() if it has input + focus. + * [144734] Fixed bugs in unsetCursor(). + * [144895] Improved bounding rectangle calculations for all standard + items. + * Added support for QTransform. + * [137055] Added QGraphicsItem::ItemPositionHasChanged and + ItemTransformHasChanged. + * Added several convenience functions. + * [146863] Added ItemClipsToShape and ItemClipsChildrenToShape clipping + flags. + * [139782] Greatly improved hit and selection tests. + * [123942] Added the ItemIgnoresTransformations flag to allow items to + bypass any inherited transformations. + * All QGraphicsItem and standard item classes constructors have now had + their scene arguments obsoleted. + * [150767] Added support for implicit and explicit show and hide. + Explicitly hidden items are no longer implicitly shown when their + parent is shown. + * [151522] Fixed crash when nesting QGraphicsItems that enabled child + event handling. + * [151265] Cursors now change correctly without mouse interaction. + * Added deviceTransform() which returns a matrix that maps between item + and device (viewport) coordinates. + * Added the ItemSceneChange notification flag. + * [128696] Enabled moving of editable text items. + * [128684] Improved highlighting of selected items. + +- QGraphicsItemAnimation + * [140522] Fixed special case interpolation bug. + * [140079] Fixed ambiguity in the position of insertions when multiple + items are inserted for the same step in an animation. + +- QGraphicsScene + * [130614] Added the invalidate() function for resetting the cache + individually for each scene layer. + * [139747] Fixed slow memory leaks caused by repeatedly scheduling + single-shot timers. + * [128581] Added the selectionChanged() signal which is emitted when + the selection changes. + * Introduced delayed item reindexing which greatly improves performance + when moving items. + * The BSP tree implementation has undergone several optimizations. + * Added new bspTreeDepth property for fixating the BSP tree depth. + * Optimization: Reduced the number of unnecessary index lookups. + * [146518] Added the selectionArea() function. + +- QGraphicsSceneWheelEvent + * [146864] Added wheel orientation. + +- QGraphicsView + * [136173] Hit-tests are now greatly improved for thin items. + * [133680] The scroll bars are now shown at their maximum extents + instead of overflowing when the transformed scene is larger than + the maximum allowed integer range. + * [129946] Changing the viewport no longer resets the acceptsDrops() + property. + * [139752] ScrollHandDrag is now allowed also in non-interactive mode. + * [128226] Fixed rubber band rendering bugs (flicker and transparency). + * [144276] The selection is no longer reset by scroll-dragging. + * Added support for QTransform. + * [137027] Added new viewportUpdateMode() property for better control + over how QGraphicsView schedules updates. + * Several convenience functions have been added. + * [146517] Added rubberBandSelectionMode() for controlling how items are + selected with the rubber band. + * [150344] Fixed the scroll bar ranges to prevent the scroll bars from + hiding parts of the scene. + * [150321] Added new optimizationFlags() property, allowing individual + features to be disabled in order to speed up rendering. + * The level of detail algorithm has been changed to improve support for + transformations that change the view's aspect ratio. + * [154942] Fixed background rendering in render(). + * [156922] render() now properly supports all transformations, source + and target rectangles. + * [158245] Calling setScene(0) now implicitly calls update(). + * [149317] Added NoViewportUpdate to the set of modes that can be set + for updating a view. + +- QGridLayout + * [156497] Fix a one-off error that could cause the bottom button in + a QDialogButtonBox to be cropped. + +- QHeaderView + * This widget now uses Qt::NoFocus as its default focus policy. + * [99569] Improved performance, providing up to a 2x speed increase for + some cases. + * [146292] Fixed bug that made it impossible to resize the last section + under certain circumstances. + * [144452] Fixed bug that caused setDefaultAlignment() to have no + effect. + * [156453] Fixed column resizing bug that could cause branches in one + column to be drawn in the next. + * [142640] Ensured that the Qt::SizeHintRole is used when available. + * [142994] Hidden items are now restored to their original size when + shown. + * [127430] Added saveState() and restoreState(). + * [105635] Added support for drag selecting. + +- QHostInfo + * [141946] No longer stops working after QCoreApplication is destroyed. + * [152805] Now periodically reinitializes DNS settings on Unix. + +- QHttp + * [139575] Fixed state for servers that use the "100 Continue" response. + * Added support for the HTTPS protocol. + * Improved proxy support. + * Added support for server and proxy authentication. + +- QIcon + * Added cacheKey() as a replacement for serialNumber(). + * Fixed the streaming operators. + +- QImage + * [157549] Fixed a crash that could occur when calling copy() with + negative coordinates. + * Added cacheKey() as a replacement for serialNumber(). + * [131852] Optimized rotations by 90 and 270 degrees. + * [158986] Fixed painting onto an images with the Format_RGB16 image + format. + * Fixed rotations by 90 and 270 degrees for images with the Format_RGB16 + image format. + * [152850] Fixed bugs in text() and setText(). + * Fixed a crash that could occur when passing a 0 pointer to the + constructor that accepts XPM format image data. + * [150746] Added a constructor that accepts an existing memory buffer + with non-default stride (bytes per line). + +- QImageReader + * [141781] Fixed support for double byte PPM files (>256 colors). + +- QImageWriter + * Added support to enable compression if a plugin supports it. + +- QInputDialog + * [115565] Disabled OK button for non-acceptable text (getInteger() and + getDouble()). + * [90535] Input dialogs now have a size grip + +- QIntValidator, QDoubleValidator + * Validators now use the locale property to recognize numbers + formatted for various locales. + +- QItemDelegate + * [145142] Ensured that text is not drawn outside the bounds of a cell. + * [137198] Fixed handling of cases where the decoration position is set + to be at the bottom of an item to prevent the text from being + incorrectly positioned. + * [142593] Take word wrap into account when calculating an item's size + hint. + * [139160] Ensured that the focus rectangle is shown, even for empty + cells. + +- QItemSelectionModel + * Made optimizations for some common cases. + * [143383] Fixed incorrect behavior of hasSelection(). + +- QLabel + * [133589] Fixed performance problems with plain text labels. + * Fixed support for buddies with rich text labels. + * [136918] Fixed setText() to not turn off mouse tracking when the text + used is plain text. + * [143063] Ensured that the mouse cursor is reset when a link is + clicked. + * [156912] Fixed bug where the mouse cursor shape was changed to the + pointing hand cursor, but would not be correctly cleared afterwards. + +- QLayout + * Added new features to Qt's layout system to enable: + - independent values for all of the four margins, + - independent horizontal spacing and vertical spacing in QGridLayout, + - non-uniform spacing between layout items, + - layout items to occupy parts of the margin or spacing when required + by the application or style. + +- QLibrary + * Fixed bug that caused QLibrary::load() to discard the real error + message if the error was something else than ERROR_MOD_NOT_FOUND. + (Win32) + * Fixed bug that prevented QLibrary::load() from loading a library with + no suffix (because LoadLibrary automagically appended the .dll suffix + on Win32). + * Corrected behavior of fileName() to ensure that, if we loaded a + library without specifying a suffix and the file found had the .dll + suffix, the fileName found is returned instead of the fileName + searched for (as was previously the case). + * [156276] Fixed behavior of unload() to return true only if the library + could be unloaded. + +- QLineEdit + * [156104] Ensured that input methods are disabled when not in the + Normal edit mode. + * [157355] Fixed drag and drop bug on Mac OS X that could occur when + dragging inside the widget. + * [151328] Ensured that the caret is removed when text is selected on + Mac OS X. + * [136919] Ensured that fewer non-printable characters are replaced + with spaces. + +- QList + * Fixed a race-condition in QList::detach() which could cause an + assertion in debug mode. + +- QListView + * [136614] Fixed the behavior of Batched mode to ensure that the last + item of the batch is displayed. + * Fixed some issues with jerky scrolling in ScrollPerItem mode if the + grid size was different to the delegate's size hint. + * [113437] Prevent noticeable flicker on slow systems in Batched mode + by laying out the first batch immediately. + * [114473] Added a new property to QListView: selectionRectVisible. + * Fixed a bug that could cause too many items to be selected. + * Fixed issue that could cause list views to have incorrect scroll bar + ranges if their grid sizes differed from their item sizes. + * [144378] Improved navigation for cases where an item is taller than + the viewport. + * [148846] Fixed an issue that prevented scroll bars from being updated + correctly when items were moved programmatically. + * [143306] Improved support for keyboard navigation and selection. + * [137917] Shift-click extended mode selection in icon mode now selects + the correct items. + * [138411] Fixed bug where hidden items would cause drawing problems + when pressing Ctrl+A. + +- QListWidget + * [146284] Ensured that the effect of SingleSelection mode is also taken + into account when setSelected() is called on items. + * [151211] Added removeCellWidget() and removeItemWidget() functions. + +- QLocale + * Updated the locale database to CLDR 1.4: more locales supported; + numerous fixes to existing locales. + +- QMacStyle + * [159270] Fixed drawing of icons on buttons with no text. + * [146364] Fixed drawing of multi-line text for items in a QToolBar. + * [145346] Removed unwanted wrapping of text in a QPushButton. + * Fixed drawing of "Flat" group boxes. + * [113472] Fixed drawing of text on vertical headers when resizing. + * [148509] Ensured that the correct font is used for buttons and labels + when the application is not configured to use the desktop settings. + * [106100] Improved the look of push buttons with menus. + * Made fixes to Qt's layout system that enable more native-looking + forms. + * [151739] Buttons with an icon are now centered correctly. + * [142672] Fixed font size bug on the drop down box for QComboBox. + * [148832] The button on a combo box is now showing as pressed when the + drop down menu is shown. + * [147377] Ensured that combo boxes now scale correctly on Mac OS X. + * [143901] Fixed the highlight color for widgets such as QComboBox so + that it follows the system settings on Mac OS X. + * [151852] Fixed size calculation for QPushButton with an icon. + * [133263] Removed the coupling of text size and button kind, enabling + them to be set independently. + * [133263] Ensured that QPushButton respects calls to setFont(). + * [141980] Text with small font sizes is now centered vertically correct + inside push buttons. + * [149631] Ensure that beveled button types are chosen if text doesn't + fit inside a button instead of cutting the text. + * [151500] Fixed incorrect QPushButton text clipping behavior. + * [147653] Fixed bug that caused the sort indicator to be drawn on top + of the text in QHeaderView. + * [139149] Fixed issues with CE_SizeGrip in right-to-left mode. + * [139311] Improved drawing of the title in QGroupBox. + * [128713] Ensured that drawing of the focus frame now follows pixel + metrics. + * [142274] Made QSlider tickmark drawing more like Cocoa. + * focusRectPolicy() is now obsolete. This is now controlled by the + Qt::WA_MacShowFocusRect attribute. + * widgetSizePolicy() is now obsolete. This is now controlled by the + Qt::WA_Mac*Size attribute. + * [129503] Ensured that a group box without a title no longer allocates + space for it. + * Ensured that a more appropriate width is used for push buttons. + * [132674] Ensured that tab bar drawing is correct when the tab's font + isn't as tall as the default. + * [126214] Ensured that the QSizeGrip is drawn correctly in brushed + metal windows. + * Improved styling of docked QDockWidgets. + +- QMainWindow + * [145493] Fixed a crash that could occur when calling setMainWindow(0) + on X11. + * [137013, 158094] Fixed bugs relating to the handling of size hints, + minimum/maximum sizes and size policies of QDockWidgets in main + windows. + * [147964] Animated tool bar areas adjust dynamically when a QToolBar is + dragged over them. + * Added the dockOptions property. This makes it possible to: + - specify that tabbed dock areas should have vertical tab bars, + - disable tabbed docking altogether, + - force tabbed docking, disallowing the placement of dock widgets + next to each other. + * Fixed bugs in saving and restoring main window state. + * [143026] Fixed support for hiding and showing toolbars on Mac OS X. + * [131695] Add unified toolbar support on Mac OS X. + +- QMdiArea +- QMdiSubWindow + * New classes. QMdiArea is a replacement for QWorkspace. + +- QMenu + * The addAction() overloads that accept a slot argument now honor the + slot's bool argument correctly. + * [129289] Added support for handling context menus from within a menu. + * [144054] Fixed scrolling logic. + * [132524] Allow setVisible() of separator items on Mac OS X native + menu items. + * [131408] Torn-off menus now have fixed sizes to prevent the window + system from resizing them. + * [113989] Added some fuzziness to the "snap to" detection. + * [155030] Do not disable command actions when merge is disabled. + * [131702] Tear-off menus no longer appear only once. + * [138464] Ensured that, if a popup menu does not fit on the right-hand + side of the screen, it is aligned with the right side of the parent + widget instead of the left side. + * [130343] Ensured that only the left mouse button triggers menu actions + on Windows. + * [139332] Fixed an issue that caused submenus to close when moving the + mouse over a separator. + * [157218] Ensured that torn-off menus are not closed when Alt is + pressed. + * [135193] Ensured that the size hint, maximum size and minimum size are + taken into account for each QWidgetAction. + * [133232] Improved handling of menus that are opened at specified + positions. + * [141856] Fixed bug where exec() would return NULL if the user pressed + a mnemonic shortcut. + * [133633] Fixed focus problem with keyboard navigation between menus + and widget actions. + * [134560] Fixed bug that prevented status tips from being shown for + actions in tool button menus. + * [150545] Fixed memory leak on Mac OS X. + * [138331] Fixed bug that could cause menus to stay highlighted after + the closing of a dialog. + * Menu shortcuts are now cleared if the corresponding QAction is cleared + on Mac OS X. + * Fixed bug that could cause changes to shortcut to not take effect on + Mac OS X. + * [12536] Don't allow Tab to be used to navigate menus on Mac OS X. + * [108509] Prevented shortcuts from stealing keyboard navigation keys. + * [134190] Added support for Shift+Tab to enable backwards navigation. + +- QMenuBar + * [135320] Make show() a no-op on Mac OS X to prevent the menu bar from + being visible at the same time as a native Mac menu bar. + * [115471] Fixed torn-off menu behavior to ensure that mouse events + are propagated correctly on second level tear-offs. + * [126856] Fixed an issue that could cause several menus to be open at + the same time. + * [47589] The position of the menu is now shifted horizontally when + there is not enough space (neither above nor below) to display it. + * [131010] Fixed bug where adding an action and setting its menu would + prevent the action from being triggered through its shortcut. + * [142749] Fixed bug where setEnabled(false) had no effect on Mac OS X. + * [141255] Made it possible to make an existing menu bar an application- + wide menu bar with setParent(0) on Mac OS X. + +- QMessageBox + * [119777] Ensured that pressing Ctrl+C in message boxes on Windows + copies text to the clipboard. + * Added setDefaultButton(StandardButton) and + setEscapeButton(StandardButton) functions. + +- QMetaObject + * Optimized invokeMethod() to avoid calling type() unnecessarily. + +- QMetaType + * [143011] Fixed isRegistered() to return false when the type ID does + not correspond to a user-registered type. + +- QModelIndex + * [144919] Added more rigorous identity tests for model indexes. + +- QMotifStyle + * [38624] Fixed the behavior when clicking on a menu bar item a + second time; the menu will now close in the same way that native + Motif menus do. + +- QMutex + * [106089] Added tryLock(int timeout), which allows a thread to specify + the maximum amount of time to wait for the mutex to become available. + * [137309] Fixed a rare deadlock that was caused by compiling with + optimizations enabled. + * Optimized recursive locking to avoid two unnecessary atomic operations + when the current thread already owns the lock. + * Optimized non-recursive mutexes by avoiding a call to pthread_self() + on Unix. + +- QNetworkInterface + * [146834] Now properly generates broadcast addresses on Windows XP. + +- QNetworkProxy + * Added support for transparent HTTP CONNECT client proxying. + * Added support for complex authenticators through QAuthenticator. + +- QObject + * Added a compile time check to ensure that the objects passed to + qobject_cast contain a Q_OBJECT macro. + * [133901] Improved the run time warnings from setParent() that is + output when trying to set a new parent that is in a different thread. + * [140106] Fixed a deadlock that could occur when deleting a QObject + from the destructor of a QEvent subclass. + * [133739] Fixed compiler warnings from g++ in findChildren<T>(). + * Documented the QEvent::ThreadChange that is sent by moveToThread(). + * [130367] Improved the run time warning that is output when creating + a QObject with a parent from a different thread. + * [114049] Made dumpObjectInfo() also dump connection information. + +- QPageSetupDialog + * [136041] Margins are now saved and used properly when printing. + +- QPainter + * Fixed stroking of non-closed polygons with non-cosmetic pens in the + OpenGL paint engine. + * [133980] Fixed stroking bug for RoundJoin and MiterJoin with paths + containing successive line segments with a 180 degree angle between + them. + * [141826] Fixed stroking with MiterJoin of paths with duplicated + control points. + * [139454, 139209] Fixed problem with SmoothTransformation that caused + images to fade out toward the edges in raster paint engine. + * Added the HighQualityAntialiasing render hint to enable pixel shaders + for anti-aliasing in the OpenGL paint engine. + * [143503] Fixed broken painting when using a QPainter on a + non-top-level widget where the world matrix is disabled then + re-enabled. + * [142471] Fixed dashed line drawing of lines that are clipped against + the device rectangle. + * [147001] Fixed bug with drawing of polygons with more than 65536 + points in the raster paint engine. + * [157639] Calling drawPolygon() from multiple threads no longer causes + an assertion. + * Optimized line and rectangle drawing in the raster paint engine. + * [159047] Fixed case where fillRect() would ignore the brush origin. + * [143119] Fixed bug where drawing a scaled image on another image would + cause black lines to appear on the edges of the scaled image. + * [159894] Fixed X11 errors when using brush patterns on multiple + screens. + * [148524] Fixed X11 errors when drawing bitmaps containing a color + table with alpha values. + * [141871] Optimized and fixed drawing of extremely large polygons. + * [140952] Fixed transformed text drawing on X11 setups that used + fontconfig without Xrender. + * [139611] Fixed smooth transformation of pixmaps for X11. + * [132837] Fixed text drawing on images with certain fonts on Mac OS X. + * [147911] Use font anti-aliasing when rotating small fonts on Windows. + * [127901] Optimized gradient calculations. + * [139705, 151562] Optimized clipping algorithms in the raster paint + engine. + * Optimized blending operations in the raster paint engine using MMX, + 3DNOW and SSE2. + * Optimized fillRect() for opaque brushes. + * Made general speed optimizations, especially in the OpenGL and raster + paint engines. + +- QPainterPath + * [136924] Correctly convert Traditional Chinese fonts (e.g., MingLiu) + to painter paths. + +- QPicture + * [142703] QPicture now correctly preserves composition mode changes. + * Fixed QPicture text size handling on devices with non-default DPI. + * [133727] Fixed text alignment handling when drawing right-to-left + formatted text into a QPicture. + * [154088] Fixed bugs that could occur when reading QPicture files + generated with Qt 3. + +- QPixmap + * Added cacheKey() as a replacement for serialNumber(). + * [97426] Added a way to invert masks created with createMaskFromColor(). + * Fixed a crash that could occur when passing a 0 pointer to the + constructor that accepts XPM format image data. + +- QPixmapCache + * [144319] Reinserting a pixmap now moves it to the top of the Least + Recently Used list. + +- QPlastiqueStyle + * [133220] Fixed QProgressBar rendering bugs. + +- QPrintDialog + * [128964] Made "Print" the default button. + * [138924] Ensured that the file name is shown in the file dialog when + printing to a file + * [141486] Ensured that setPrintRange() correctly updates the print + dialog on X11. + * [154690] Ensured that "Print last page first" updates the QPrinter + instance on X11. + * [149991] Added support for more text encodings in the PPD subdialog. + * [158824] Disable the OK button in the dialog if no printers are + installed. + * [128990] X11: Don't immediately create an output file when a file name + is entered in the print dialog. + * [143804] Ensured that the default printer is set to the one specified + by the PRINTER environment variable. + +- QPrinter + * Added the supportedPaperSources() function. + * [153735] Significantly speeded up generation of PDF documents with Asian + characters. + * [140759] Documented that the orientation cannot be changed on an active + printer on Mac OS X (native format). + * [136242] PostScript generator: Don't generate huge PostScript files for + pattern brushes. + * [139566] Added support for alpha blending when printing on Windows. + * [151495] Fixed image scaling problems when printing on Windows. + * [146788] Optimized drawTiledPixmap() on Windows. + * [152637] PDF generator: Ensured that the pageRect property is set up + correctly. + * [152222] PDF generator: Fixed bug that lead to fonts being too small on + Mac OS X. + * [151126] Ensured that ScreenResolution is respected on Mac OS X. + * [151141] PDF generator: Make PDFs using the default font on Mac OS X + searchable. + * [129297, 140555] PS/PDF generator: Drastically reduced the sizes of + generated files and speeded up generation when using simple pens. + * [143803] Correctly set the default printer name on X11. + * [134204] PDF generator: Ensured that the correct output is generated + when drawing 1-bit images + * [152068] PS generator: Ensured that the correct PostScript is generated + when embedding TrueType fonts with broken POST tables. + * [143270] X11: Ensure that sigpipe is ignored when printing to an + invalid printer using the PDF generator. + +- QProcess + * [97517] Added suport for specifying the working directory of detached + processes as well as retrieving the PID of such processes. + * [138770] Greatly improved the performance of stdin and stdout handling + on Windows. + * [154135] Fixed crashes and lock-ups due to use of non-signal-safe + functions on Unix. + * [144728] Fixed race conditions on Windows that would occur when + calling bytesWritten() while using the waitFor...() functions. + * [152838] Ensured that finished() is no longer emitted if a process + could not start. + +- QProgressBar + * [146855] Ensured that setFormat() now calls update() if the format + changes. + * [152227] Improved support for wide ranges across the entire integer + range. + * The setRange() function is now a slot. + * [137020] Ensured setValue() forces a repaint for %v. + +- QProgressDialog + * The setRange() function is now a slot. + * [123199] Ensured that the Escape key closes dialog even when the + cancel text is empty. + +- QPushButton + * [114245] Fixed some styling issues for push buttons with popup menus. + * [158951] Buttons with icons now center their content to be more + consistent with buttons that do not have icons in most styles. + * [132211] Fixed setDefault() behavior. + +- QReadWriteLock + * [106089] Added the tryLockForRead(int) and tryLockForWrite(int) + functions which allow a thread to specify the maximum amount of time + to wait for the lock to become available. + * [131880] Added support for recursive write locking. + +- QRectF + * [143550] Added the QRectF(topRight,bottomLeft) constructor. + +- QRegion + * Added several optimizations for common operations on X11 and Qtopia + Core. + +- QResource + * Allow a QByteArray to be used for run time resource registration. + +- QScrollArea + * [140603] Fixed flickering when the scroll widget is right-aligned. + +- QSemaphore + * Add the tryAcquire(int n, int timeout) function which allows a thread + to specify the maximum amount of time to wait for the semaphore to + become available. + +- QSettings + * [153758] Fixed various bugs that could occur when writing to and + reading from the Windows registry. + +- QSizeGrip + * Added support for size grips in TopLeftCorner/TopRightCorner on Windows. + * Added support for size grips on subwindows. + * [150109] Fixed bug where the position could change during resize. + * [156114] Fixed incorrect size grip orientation on X11. + +- QSlider + * Prevent the widget from getting into infinite loops when extreme + values are used. + +- QSocketNotifier + * [148472] Mac OS X now prevents the file descriptor from being closed + when a socket notifier is deregistered. + * [140018] Mac OS X will now invalidate the backing native socket + notifier upon deregistration. + * Optimized performance by avoiding some debugging code in release + builds. + +- QSortFilterProxyModel + * [151352] Ensured that the dataChanged() signal is emitted when + sorting. + * [154075] Added support to handle the insertion of rows in the source + model. + * [140152] Added a property to force the proxy model to use QString's + locale-aware compare method. + +- QSpinBox + * [141569] Disallow typing -0 in a QSpinBox with a positive range. + * [158445] Add the keyboardTracking property. When set to false, don't + send valueChanged() with every key press. + * [143504] Made undo/redo work correctly. + * [131165] Fixed highlighting according to the native look on Mac OS X. + +- QSplashScreen + * [38269] Added support for rich text. + +- QSplitter + * [139262] Fixed bug that caused the splitter to snap back and forth in + certain situations. + +- QSql + * Added NumericalPrecisionPolicy to allow numbers to be retrieved as + double or float. + +- QSqlDriver + * [128671] Added SimpleLocking to DriverFeature. + +- QSqlQueryModel + * [155402] Fixed bug where the rowsAboutToBeRemoved() and rowsRemoved() + signals were emitted when setQuery() was called on an already empty + model. + * [149491] Fixed bug where blank rows were inserted into the model if + the database driver didn't support the QuerySize feature and the + result set contained more than 256 rows. + +- QSqlRelationalTableModel + * [142865] Fixed support for Interbase and Firebird by not using 'AS' in + generated SQL statements. + +- QSqlTableModel + * [128671] Ensured that the model has no read locks on a table before + updating it. Fixes parallel access for in-process databases like + SQLite. + * [140210] Fixed bug where setting a sort order for a column caused no + rows to be selected with PostgreSQL and Oracle databases due to + missing escape identifiers in the generated SQL statement. + * [118547] Don't issue asserts when inserting records before calling + select() on the model. + * [118547] Improved error reporting. + +- QSslCertificate +- QSslCipher +- QSslError +- QSslKey +- QSslSocket + * New classes. Added support for SSL to QtNetwork. + +- QStandardItemModel + * Reduced the construction time when rows and columns are given. + * [133449] Improve the speed of setData() + * [153238] Moving an item will no longer cause that item to lose its + flags. + * [143073] Calling setItemData() now triggers the emission of the + dataChanged() signal. + +- QStatusbar + * [131558] Increased text margin and fixed a look and feel issue on + Windows. + +- QString + * fromUtf8() now discards UTF-8 encoded byte order marks just like the + UTF-8 QTextCodec. + * [154454] Fixed several UTF-8 decoder compliance problems (also affects + the UTF-8 QTextCodec). + * Removed old compatibility hack in fromUtf8()/toUtf8() to allow round + trip conversions of invalid UTF-8 text. + * Added support for full Unicode case mappings to toUpper() and + toLower(). + * Correctly implemented case folding with the foldCase() method. (Also + for QChar.) + * [54399] Added more overloads (taking up to 9 arguments) for arg(). + +- QStringListModel + * Made it possible for items to be dropped below the other visible items + on a view with a QStringListModel. + +- QStyle + * Added the SP_DirHomeIcon standard pixmap to provide the native icon + for the home directory. + * Added documentation to indicate that pixel metrics are not necessarily + followed for all styles. + * standardPixmap() has been obsoleted. Use standardIcon() instead. + * Added SP_VistaShield to support Vista UAC prompts on Windows Vista. + * [103150] Added SH_FocusFrame_AboveWidget to allow the focus frame to + be stacked above the widget it has focus on. + * The default password character is now a Unicode circle, the asterisk + is still used for QMotifStyle and its subclasses. + * [127454] CE_ToolBoxTab now draws two parts, CE_ToolBoxTabShape and + CE_ToolBoxTabLabel. This should make QToolBox more styleable. + * [242107] Added a QStyleOptionToolBoxV2 with tab position and selected + position enums. + +- QStyleOption + * [86988] Added an initializeFromStyleOption() function for the many + widgets that need to create a QStyleOption subclass for style-related + calls. + +- QSyntaxHighligher + * [151831] Fixed bug where calling rehighlight() caused highlighBlock() + to be called twice for each block of text. + +- QSystemTrayIcon + * [131892] Added support to allow messages to be reported via AppleScript + on Mac OS X. + * [151666] Increased the maximum tool tip size to 128 characters on the + Windows platforms that support it. + * [135645] Fixed an issue preventing system tray messages from working + on some Windows platforms. + * Addded the geometry() function to allow the global position of the + tray icon to be obtained. + +- QTabBar + * [126438] Added the tabAt(const QPoint &pos) function. + * [143760] Fixed a bug where scroll buttons were shown even when + disabled. + * [130089] Ensured that the tool tip help is shown on disabled tabs. + * [118712] Enabled auto-repeat on scroll buttons. + * [146903] Ensured that the currentChanged() signal is emitted when a + tab is removed + * Ensured that corner widgets are taken into account when calculating + tab position in the case where the tab bar is centered. + * [132091] Re-introduced the Qt 3 behavior for backwards scrolling of + tabs. + * [132074] Ensured that currentChanged() is always emitted when the + current tab is deleted. + +- QTableView + * No longer allow invalid spans to be created. + * [145446] Fixed bug where setting minimum height on horizontal header + caused the the table to be rendered incorrectly. + * [131388] Fixed case where information set using setRowHeight() was + lost on a subsequent call to insertRow(). + * [141750] Fixed issue where spanned table items were painted twice per + paint event. + * [150683] Added property for enabling/disabling the corner button. + * [135727] Added the wordWrap property. + * [158096] resizeColumnToContents(int i) now has the same behavior that + resizeColumnsToContents() uses for individual columns. + +- QTableWidget + * [125285] Ensured that dataChanged() is only emitted once when + setItemData() is used to set data for more than one role. + * [151211] Added removeCellWidget() and removeItemWidget(). + * [140186] Fixed bug where calling setAutoScroll(false) would have no + effect. + +- QTabWidget + * Tab widgets now take ownership of their corner widgets and allow + corner widgets to be unset. + * [142464] Fixed incorrect navigation behavior that previously made it + possible to navigate to disabled tabs. + * [124987] Ensured that a re-layout occurs when a corner widget is set. + * [111672] Added the clear() function. + +- QtAlgorithms + * [140027] Improved the performance of qStableSort() on large data sets. + +- QTcpSocket + * Added several fixes to improve connection reliability on Windows. + * Made a number of optimizations. + * Improved detection of ConnectionRefusedError on Windows and older + Unixes. + * Added support for proxy authentication. + +- QTemporaryFile + * [150770] Fixed large file support on Unix. + +- QTextBrowser + * [126914] Fixed drawing of the focus indicator when activating links. + * [82277] Added the openLinks property to prevent QTextBrowser from + automatically opening any links that are activated. + +- QTextCodec + * Improved the UTF-8 codec's handling of large, rare codepoints. + * [154932] The UTF-8 codec now keeps correct state for sequence + f0 90 80 80 f4 8f bf bd. + * [154454] Fixed several UTF-8 decoder compliance problems also + affecting QString::fromUtf8(). + * Fixed the UTF-8 codec's handling of incomplete trailing UTF sequences + to be the same as QString::fromUtf8(). + +- QTextCursor + * The definition of the block character format (obtained using the + blockCharFormat() and QTextBlock::charFormat() functions) has been + changed to be the format used only when inserting text into an empty + block. + If a QTextCursor is positioned at the beginning of a block and the + text block is not empty then the character format to the right of the + cursor (the first character in the block) is returned. + If the block is empty, the block character format is returned. + List markers are now also drawn with the character format of the first + character in a block instead of the invisible block character format. + +- QTextDecoder + * Added the hasFailure() function to indicate whether input was + correctly encoded. + +- QTextDocument + * [152692] Ensured that the print() function uses the document's default + font size. + * Added the defaultTextOption property. + * Setting a maximum block count implicitly now causes the undo/redo + history to be disabled. + * Made numerous fixes and speed-ups to the HTML import. + * [143296] Fixed HTML import bug where adding a <br> tag after a table + would cause two empty lines to be inserted instead of one. + * [144637, 144653] Ensured that the user state property of QTextBlock is + now preserved. + * [140147] Fixed layout bug where the document size would not be updated + properly. + * [151526] Fixed problem where the margins of an empty paragraph above a + table would be ignored. + * [136013] The "id" tag can now be used to specify anchors. + * [144129] Root frame properties are now properly exported/imported. + +- QTextDocumentFragment + * QTextDocumentFragment no longer stores the root frame properties, + the document title or the document default font when it is created + from a document or from HTML. Use QTextDocument's toHtml() and + setHtml() function if you want to propagate these properties to and + from HTML. + +- QTextEdit + * [152208] Ensured that the undo/redo enabled state is preserved across + setPlainText() and setHtml() calls. + * [125177] Added a print() convenience function that makes it possible + to support QPrinter::Selection as selection range. + * [126422] Fixed bug in copy/paste which could cause the background + color of pasted text to differ from that of the copied text. + * [147603] Fixed various cases where parts of a text document would be + inaccessible or hidden by the scroll bars. + * [148739] Fixed bug where setting the ensureCursorVisible property + would not result in a visible cursor. + * [152065] Fixed cases where currentCharFormatChanged() would not be + emitted. + * [154151] The undoAvailable() and redoAvailable() signals are no longer + emitted too many times when entering or pasting text. + * [137706] Made the semantics of the selectionChanged() signal more like + QLineEdit::selectionChanged(). + +- QTextFormat + * [156343] Fixed crash that could occur when streaming QTextFormat + instances. + +- QTextLayout + * Fixed support for justified Arabic text. + * [152248] Fixed assert in sub/superscript handling of fonts specified + in pixel sizes. + * Optimized text layout handling for pure Latin text. + * Ensured that OpenType processing is skipped altogether if a font does + not contain OpenType tables. + * Fixed some issues in the shaper for Indic languages. + * Upgraded the line breaking algorithm to the newest version + (http://www.unicode.org/reports/tr14/tr14-19.html). + * [140165] Changed boundingRect() to report the actual position of the + top left line instead of incorrectly reporting (0, 0) for the top-left + corner in every case. + * Fixed various problems with text kerning. + +- QTextStream + * [141391] Fixed bug that could occur when reusing a text stream with + the setString() method. + * [133063] atEnd() now works properly with stdin. + * [152819] Added support for reading and writing NaN and Inf. + * [125496] Ensured that uppercasebase and uppercasedigits work as + expected. + +- QTextTable + * [138905] Fixed bug where merging cells in a QTextTable would cause + text to end up in the wrong cells. + * [139074] Fixed incorrect export of cell widths to HTML when exporting + tables containing column spans. + * [137236] Fixed bug where a text table would ignore page breaks. + * [96765] Improved handling of page breaks for table rows spanning + several pages. + * [144291] Fixed crash that could occur when using setFormat() with an + old format after inserting or removing columns. + * [143501] Added support for vertical alignment of table cells. + * [136397, 144320, 144322] Various border styles and border brushes are + now properly supported. + * [139052] Made sure that empty text table cells get a visible + selection. + +- QtGlobal + * Added Q_FUNC_INFO, a macro that expands to a string describing the + function it is used in. + * [132145] Fixed Q_FOREACH to protect against for-scoping compiler bugs. + * Fixed a race condition in the internal Q_GLOBAL_STATIC() macro. + * [123910] Fixed crashes on some systems when passing 0 as the + message to qDebug(), qWarning(), and qFatal(). + +- QThread + * [140734] Fixed a bug that prevented exec() from being called more than + once per thread. + * Optimized the currentThread() function on Unix. + * Added the idealThreadCount() function, which returns the ideal number + of threads that can be run on the system. + +- QThreadStorage + * [131944] Refactored to allow an arbitrary number of instances to be + created (not just 256 as in previous versions). + * Updated documentation, as many caveats have been removed in Qt 4.2 and + Qt 4.3. + +- QTimeEdit + * [136043] Fixed the USER properties. + +- QTimeLine + * [145592] Fixed the time line state after finished() has been emitted. + * [125135] Added the resume() function to allow time lines to be resumed + as well as restarted. + * [153425] Fixed support for cases where loopCount >= 2. + +- QTimer + * Added the active property to determine if the timer is active. + +- QToolBar + * [128156, 138908] Added an animation for the case where a tool bar is + expanded to display all its actions when its extension button is + pressed. + +- QToolBox + * [107787] Fixed rendering bugs in reversed mode. + +- QToolButton + * [127814] Ensured that the popup delay respects style changes. + * [130358] Ensured that Hover events are sent to the associated QAction + when the cursor enters a button. + * [106760] Fixed bug where the button was drawn as pressed when using + MenuButtonPopup as its popup mode. + +- QToolTip + * [135988] Allow tool tips to be shown immediately below the cursor + * [148546] The usage of tool tip fading now adheres to the user settings + on Mac OS X. + * [145458] Tool tip fading now looks native on Mac OS X (fading out + rather than in). + * [145557] Fixed bug that caused tool tips to remain visible if the + cursor left the application quickly enough on Mac OS X. + * [143701] Fixed bug that caused tool tips to hide behind stay-on-top + windows on Mac OS X. + * [158794] Fixed bug on Mac OS X where isVisible() returned true even + if the tool tip was hidden. + +- QTreeView + * [158096] Added checks to prevent items from being dropped on their own + children. + * [113800] When dragging an item over an item that has child items, + QTreeView will now automatically expand after a set time. + * [107766] Added a style option (enabled in the Windows style) to + select the first child when the right arrow key is pressed. + * [157790] It was possible to get in a state where clicking on a branch + (+/- in some styles) to expand an item didn't do anything until + another location in the view was clicked. + * Made it possible to create a selection with a rectangle of negative + width or height. + * [153238] Ensured that drops on branches are interpreted as drops onto + the root node. + * [152868] Fixed setSelection() so that it works with negative + y-coordinates. + * [156522] Fixed repaint errors for selections in reversed mode. + * [155449] Prevented the tree from having huge columns when setting the + alignment before it is shown. + * [151686] Hidden rows are now filtered out of the user selection range. + * [146468] Fixed bug where the indexRowSizeHint could be incorrect in + the case where columns were moved. + * [138938] Fixed an infinite loop when calling expandAll() with no + column. + * [142074] Scroll bars are no longer shown when there are no items. + * [143127] Fixed bug that prevented the collapsed() signal from being + emitted when the animated property was set to true. + * [145199] Fixed crash that could occur when column 0 with expanded + items was removed and inserted. + * [151165] Added the indexRowHeight(const QModelIndex &index) function. + * [151156] Add support for hover appearance. + * [140377] Add the expandTo(int depth) function. + * Clicking in the empty area no longer selects all items. + * [135727] Added the wordWrap property. + * [121646] setSelection() now selects the item within the given + rectangle. + * Added the setRowSpanning(int row, const QModelIndex &parent) and + isRowSpanning(int row, const QModelIndex &parent) functions. + +- QTreeWidget + * [159078] Fixed drag and drop bug on Mac OS X that could occur when + dragging inside the widget. + * [159726] Fixed crash that could occur when dragging a QTreeWidgetItem + object with an empty last column. + * [154092] Fixed case where the drag pixmap could get the wrong position + when dragging many items quickly. + * [152970] Hidden items are no longer returned as selected from the + selectedItems() function. + * [151211] Added the removeCellWidget() and removeItemWidget() + functions. + * [151149] Made the header text left-aligned instead of center-aligned + by default. + * [131234] Made it possible to do lazy population by introducing the + QTreeWidgetItem::ChildIndicatorPolicy enum. + * [134194] Added the itemAbove() and itemBelow() functions. + * [128935] The disabled state of an item is now propagated to its + children. + * [103421] Added the QTreeWidgetItem::setExpandable() function. + * [134138] Added the QTreeWidgetItem::removeChild() function. + * [153361] Ensured that items exist before emitting itemChanged(). + * [155700] Fixed a crash in QTreeWidget where deleted items could still + be referenced by a selection model. + +- QUdpSocket + * [142853] Now continues to emit readyRead() if the peer temporarily + disappears. + * [154913] Now detects datagrams even when the sender's port is invalid. + +- QUndoStack + * [142276] Added the undoLimit property which controls the maximum + number of commands on the stack. + +- QUrl + * [134604] Fixed the behavior of the obsolete dirPath() function on + Windows. + +- QValidator + * [34933] Added support for scientific notation. + +- QVariant + * [127225] Unloading a GUI plugin will no longer cause a crash in + QVariant in a pure QtCore application. + +- QWaitCondition + * [126007] Made the behavior of wakeOne() consistent between Windows and + Unix in the case where wakeOne() is called twice when exactly 2 + threads are waiting (the correct behavior is to wake up both threads). + +- QWidget + * [139359] Added the locale property to make it easy to customize how + individual widgets display dates and numbers. + * [155100] Fixed a regression that could cause Qt::FramelessWindowHint + to be ignored for frameless windows. + * [137190] Ensured that windows with masks are now rendered correctly + with respect to window shadows on Mac OS X. + * [139182] Added the render() function to allow the widget to be + rendered onto another QPaintDevice. + * [131917] Fixed bug where minimum and maximum sizes were not respected + when using X11BypassWindowManagerHint. + * [117896] Fixed setGeometry() to be more consistent across Mac OS X, + Windows, X11 and Qtopia Core. + * [132827] Allow the focus to be given to a hidden widget; it will + receive the focus when shown. + * Reduced the overhead of repainting a widget with lots of children. + * Clarified the documentation for the Qt::WA_AlwaysShowToolTips widget + attribute. + * [154634] Ensured that the Qt::WA_AlwaysShowToolTips widget attribute + is respected for all widgets. + * [151858] Improved the approximation returned by visibleRegion(). + * [129486] Ensured that calling setLayout() on a visible widget causes + its children to be shown, making its behavior consistent with the + QLayout::addWidget() behavior. + +- QWindowsStyle + * [110784] Scroll bar and spin box arrows now scale with the widget size. + * Given certain panel and button frames a more native appearance. + * [142599] Ensured that a QDockWidget subclass is not required when + using the style to draw a CE_DockWidgetTitle. + +- QWindowsXPStyle + * [150579] Fixed the use of the wrong background color for QSlider. + * [133517] Fixed styling of the unused area in header sections. + * [48387] Fixed styling of MDI/Workspace controls. + * [109317] Fixed a rendering issue with tab widgets in the Silver color + scheme. + * [114120] Ensured that the frame property for combo boxes is respected. + * [138444] Fixed crash that could occur when passing 0 as the widget + argument to drawComplexControl(). + +- QWizard +- QWizardPage + * New classes. Based on QtWizard and QtWizardPage in Qt 4 Solutions. + Redesign of QWizard from Qt 3. + +- QXmlParseException + * [137998] Fixed incorrect behavior where systemId/publicId was never + reported. + +- QXmlSimpleReader + * QXmlSimpleReader no longer reads entire files into memory, allowing + it to handle large XML files. + +- Q3DateEdit + * [131577] Fix a bug that could occur when entering out-of-range years + in a Q3DateEdit. + +- Q3DockWindow + * [125117] Fixed some style issues with Windows XP and Plastique styles. + +- Q3GroupBox + * Added FrameShape, FrameShadow, lineWidth, and midLineWidth properties. + +- Q3ListView + * [150781] Fixed a crash in setOpen() (previously fixed in Qt 3). + +- Q3ScrollView + * [125149] Mouse events should not be delivered if the Q3ScrollView is + disabled. + This fixed the case where items were still selectable when Q3ListView + was disabled using the setEnabled() function. + +- Q3SqlCursor + * [117996] Improved support for tables and views that have fields with + whitespace in their names. + +- Q3TextEdit + * [136214] Fixed invalid memory reads when using undo/redo + functionality. + +**************************************************************************** +* Database Drivers * +**************************************************************************** + +- Interbase driver + + * [127724] Added support for OUT values from stored procedures. (See the + SQL Database Drivers documentation for details.) + * [159123] Fixed crash that could occur when fetching data from + Interbase 2007 databases. + * [143474] Added support for SQL security-based roles. + * [134608] Fixed bug where queries in some cases returned empty VARCHAR + fields if they contained non-ASCII characters. + * [143471] Fixed bug that caused fetching of multisegment BLOB fields to + fail in some cases. + * [125053] Fixed bugs where NUMERIC fields were corrupted or returned as + the wrong type in some cases. + +- MySQL driver + * [156342] Fixed bug where BINARY and VARBINARY fields were returned as + QString instead of QByteArray. + * [144331] Fixed bug where a query would become unusable after executing + a stored procedure that returns multiple result sets. + +- OCI driver + + * Added support for low-precision retrieval of floating point numbers. + * [124834] Fixed bug where the binding strings failed on certain + configurations. + * [154518] Fixed bug where connections were not properly terminated, + which lead to resource leaks and connection failures. + +- ODBC driver + + * Increased performance for iterating a query backwards. + * [89844] Added support for fetching multiple error messages from an + ODBC driver. + * [114440] Fixed bug where binding strings longer that 127 characters + failed with Microsoft Access databases. + * [139891] Fixed bug where unsigned ints were returned as ints. + +- SQLite driver + * [130799] Improved support for attatched databases when used with + QSqlTableModel. + * [142374] Improved error reporting in cases where fetching a row fails. + * [144572] Fixed the implementation of escapeIdentifier() to improve + support for identifiers containing whitespace and reserved words when + used with the model classes. + +- PostgreSQL driver + + * [135403] Properly quote schemas in table names ("schema"."tablename"). + * [138424] Fixed resource leak that occurred after failed connection + attempts. + +- DB2 driver + + * [110259] Fixed bug where random characters were prepended to BLOB + fields when fetched. + * [91441] Fixed bug where binding strings resulted in only parts of the + strings being stored. + +**************************************************************************** +* QTestLib * +**************************************************************************** + + * [138388] Floating point numbers are now printed in printf's "%g" format. + * [145643] QEXPECT_FAIL does not copy or take ownership of "comment" + pointer. + * [156346] Gracefully handle calls to qFatal(). + * [154013] Don't count skips as passes. + * [145208] Display QByteArrays in convenient ways. + * Output well-formed XML. + +**************************************************************************** +* QDBus * +**************************************************************************** + +- Library + + * Added support for QList<QDBusObjectPath> and QList<QDBusSignature> + to allow them to be used without first having to register the types. + + * Added support for using QtDBus from multiple threads. + + * Made it possible to marshal custom types into QDBusArgument. + + * qdbuscpp2xml: + * [153102] Ensure that Q_NOREPLY is ignored. + * [144663] Fixed problems with executing qdbuscpp2xml on Windows. + * Don't require moc to be on a path listed in the PATH environment + variable. + + * QDBusInterface: + * Changed asserts in the QDBusInterface constructor to QDBusErrors. + * QDBusConnection: + * Added a separate slot for delivering errors when calling + callWithCallback(). + + +- Viewer + + * Moved QDBusViewer from demos to QDBus tools. + * Added ability to get and set properties. + * Added support for demarshalling D-Bus variants. + * Added a property dialog for entering arguments. + * Made QDBusObjectPath clickable in the output pane. + +**************************************************************************** +* Platform Specific Changes * +**************************************************************************** + +X11 +--- + * [153346] Ensured that tablet events are not delivered while a drag and + drop operation is in progress. + * [141756] Ensured that the Plastique or Cleanlooks styles are not used + as default styles when Xrender is not available. + * [139455] Fixed QX11EmbedContainer race causing sudden unembedding of + clients. + * [96507] Added support for using _POSIX_MONOTONIC_CLOCK as the + timer source (also affects Qtopia Core). + * [128118] Fixed garbage output when calling QPixmap::grabWindow() + on a window on a non-default screen. + * [133119] Ensured that X11 color names are detected in the + RESOURCE_MANAGER property. + * [56319] Added support for _NET_WM_MOVERESIZE to QSizeGrip, which + cooperates with the window manager to do the resizing. + * Fixed QWidget::isMaximized() to return false when the window is + only maximized in a single direction. + * [67263] Fixed a bug that could cause applications to freeze while + querying the clipboard for data. + * [89224] Fixed the behavior of minimized Qt applications to show the + correct icon (instead of the standard OpenWindows icon) on Solaris. + * [116080] Ensured that the TIMESTAMP clipboard property is set using + XA_INTEGER (as defined in the ICCCM). + * [127556] Refactored timer accounting code to be more efficient and + less cumbersome to maintain. + * [132241] Add support for DirectColor visuals. Qt will now create and + initialize a colormap when using such visuals. + * [140737] Fixed QEventDispatcherGlib::versionSupported() to be much + simpler. + * Fixed a bug where QWidget::windowFlags() would not include + Qt::X11BypassWindowManagerHint for Qt::ToolTip and Qt::Popup windows. + * [146472] Fixed a bug where QWidget::setWindowFlags() would disable + drag and drop operations from outside Qt applications. + * [150352] Fixed painting errors after show(), hide(), then show() + under GNOME. + * [150348] Fixed a bug that would incorrectly set the Qt::WA_SetCursor + attribute on top-level windows. + * [135054] Fixed system palette detection code to use contrast that is + more similar to the desktop settings. + * [124689] Documented potential QDrag::setHotSpot() inefficiency on X11. + * [121547] Fixed QWidget::underMouse() to ensure that the value it + returns is correctly updated after the mouse button is released. + * [151742] Improved robustness when executing in an X11-SECURITY + reduced ssh-forwarded session. + * [142009] Fixed a bug that caused an application using the Qt Motif + Extension to freeze when trying to copy text into a QTextEdit. + * [124723] Fixed PseudoColor detection to correctly handle cases where + the colormap is not sequential. + * [140484] Don't use the GLib event dispatcher if GLib version is too + old. + * Fixed a bug where a window would get an incorrect size after the + second call to show(). + * [153379] Fixed shortcuts where the modifier also includes Mode_switch + in the modifier mask; for example, Alt+F on HP-UX. + * [154369] Fixed drag and drop to work properly after re-creating a + window ID. + * [151778] Fixed mouse enter/leave event platform inconsistencies. + * [153155] Added the QT_NO_THREADED_GLIB environment variable, which + tells Qt to use Glib only for the GUI thread. + * Fixed restoreGeometry() to ensure that full-screen windows are moved + to the correct position. + * [155083] Don't use legacy xlfd fonts if we have fontconfig available + on Solaris. + * [150348] Fixed bug where setCursor() would not work properly after a + setParent() call. + * Made Plastique the default style on X11. + +Windows +------- + * Added an experimental DirectX-based paint engine. + * [141503] Ensured that clicks inside tool windows won't cause them to + be activated if there is no child widget to take focus. + * [153315] Improved handling of Synaptic touchpad wheel messages. + * [150639] Added support for CF_DIBV5 format and improved support for + transparent images on the clipboard. + * [146862] Improved readability of progress bar text when shown in + the Highlight palette color. + * [146928] Fixed issue where shortcut events were discarded when auto- + repeat was disabled. + * [141079] Ensured that wheel events contain button information. + * [149367] Ensured that QMimeData::formats() returns all the available + formats in the object. + * [135417] Ensured that WM_SYSCOLORCHANGE does not trigger resetting of + fonts. + * [137023] Fixed a crash that could occur while translating mouse + events. + * [138349] Fixed incorrect focus handling with multiple top-level + widgets. + * [111211] Ensured that tool windows don't steal focus from their + parents while opening. + * [143812] Fixed a bug which can break the widget's ability to maximize + after saving and restoring its state. + * [111501] Ensured that SPI_SETWORKAREA messages trigger calls to + QDesktopWidget::workAreaResized(). + * [141633] Fixed command line parsing for GUI applications. + * [134984] Ensured that SockAct events are not triggered from + processEvents(ExcludeSocketNotifiers). + * [134164] Ensured that top-level widgets configured with + MSWindowsFixedSizeDialogHint are centered properly. + * [145270] Fixed mapFromGlobal() and mapToGlobal() for minimized or + invisible widgets. + * [132695] Fixed a potential crash that could occur when changing the + application style after the system theme had been changed. + * [103739] Workspace title bars now respect custom title bar heights in + the Windows XP style. + * [48770] Improved size grip behavior in top-level widgets. + * [113739] Fixed an issue that could occur when using QWidget::scroll() + with on-screen painting. + * [129589] Added support for moving the mouse cursor to the default + button in dialogs. + * [139120] Added support for resolving native file icons through + QFileIconProvider. + * [129927] Added the QWindowsVista style to support native look and feel + on Windows Vista. + * [106437] Removed the Windows XP style from the list of keys supplied + by QStyleFactory::keys() on platforms where it is not available. + * [109814] Improved UNC path support. + * [157261] Fixed crash that could occur when using Alt keycodes with + text handling widgets. + * [116307] Ensured that QEvent::WindowActivate is sent for tool windows. + * [150346] Fixed a bug that would cause an application to exit when its + last window (a modal dialog) was closed and a new window shown + immediately afterwards. + * [90144] Fixed a bug that caused QApplication::keyboardModifiers() to + return modifiers even after they had been released. + * [142767] Fixed a bug that allowed a QPushButton to become pressed even + though its mousePressEvent() handler function was never called. + * [151199] Usage of blocking QProcess API in a thread no longer hangs + the desktop. + * [144430] Made the shortcut system distinguish between Key_Return and + Key_Enter. + * [144663] Made sure qdbuscpp2xml can parse moc output on Windows. + * [126332] Made QDBus compile on Windows platforms. + * [133823, 160131] Fixed bug in the QWidget::scroll() overload that + accepts a rectangle argument. + +- ActiveQt + * Ensured that, when loading a typelib file to obtain information about + a control, the typelib is processed correctly. + * [158990] Ambient property change events are now emitted regardless of + the container's state. + * [150327] ActiveQt based controls will now return the correct Extents + depending on the size restrictions set on the widget. + * [141296] Ensured that the ActiveQt DLL is unloaded from the same + thread which loaded it. + +- Qt Style Sheets + * Added support for background clipping using the border-radius + property. + * Almost all widgets are now styleable using style sheets. + * Added support for the -stylesheet command line option to QApplication. + * Added support for styling through SVG. + * Added support to allow colors and brushes to be specified as + gradients. + +Mac OS X +-------- + + * qtconfig is no longer available on Mac OS X. All settings are read + from the system's configuration. + * [156965] Always offers a 'TEXT' type flavor for non-Pasteboard-aware + Mac Application pastes. + * [158087] Fixed various mouse event propagation bugs. + * Introduced Q_WS_MAC32/Q_WS_MAC64 for 64 vs. 32-bit detection compile + time infrastructure. + * [156431] Introduced WA_MacAlwaysShowToolWindow to allow windows to + behave as utility windows as opposed to floating windows. + * [155651] Qt will now follow the HIView focus chain to allow wrapped + HIViewRef's to take focus when appropriate. + * [149753] Qt will not deliver mouse release events to widgets that do + not process mouse press events (including widgets with the + WA_MacNoClickThrough attribute set). + * Introduced support for 64-bit Mac OS X builds. Only available on + Mac OS X 10.5 (Leopard). + * [145166] Ensured that CoreGraphics high quality interpolation is used + when using SmoothPixmapTransform. + * [134873] Ensured that the widget hierarchy is used to find a widget + with a cursor rather than using the frontmost widget. + * [132178] Enforced the requirement for double click detection that the + second click must be near the previous click to prevent false double + clicks being reported. + * [131327] Fixed mouse propagation for top-level widgets with the + WA_MacNoClickThrough attribute set. + * Now entirely QuickDraw clean. + * [155540] Ensured that asymmetic scales work with cosmetic pens. + * [141300] Fixed an issue that prevented QFontDatabase/QFontDialog from + showing all fonts installed on the system. + * Fixed writing system detection in QFontDatabase. + * [148876] Fixed bug that caused characters to be committed twice in the + Chinese Input method. + * Removed the use of an extra setFocus() in the event loop when a window + is activated. + * [152224] Fixed bug in QWidget's window state. + * [156431] Added the WA_MacAlwaysShowToolWindow widget attribute to + allow Mac users to create utility-window-style applications. + * [144110] Fixed resizing of sheets on Panther. + * [140014] Made it possible to drag QUrls on Panther. + * [155312] Fixed bug that could occur when dragging several URLs to + Finder and certain other applications. + * [155244] Fixed bug that could occur when dragging a URL to Finder. + * [153413] Fixed bug that could occur when dragging URLs between Qt applications. + * [152450] Fixed bug that could occur when dragging URLs to applications + such as the trash can. + * [151158] Fixed an issue that prevented widgets from receiving drag + events if a move event was ignored. + * [145876] Ensured that a drag move event is always received directly + after a drag enter event (according to the documentation). + * [156365] Fixed event bug when dragging URLs to receivers that only + refer to a drop location. + * [119251] Tool tips and dialogs no longer cause full-screen windows to + show their menu bar and the dock. + * [147640] Fixed QScrollArea scrolling behavior when showing regions + with dimensions between 2^15 and 2^16 pixels. + * [158988] Ensured that a mouse enter event is now sent before a mouse + press event upon window activation. + * [157313] Fixed hanging bug that could occur if the system clock was + adjusted backwards while using sockets. + * [151411] Fixed window switching bug (Cmd + ~) that could occur when + showing a modal dialog with a popup. + * Ensured that changing a shortcut containing a cursor movement key now + works correctly. + * [143912] Fixed focus problem caused by mouse hovering over widgets + with modal sheets. + * [141456] Fixed activation bug exhibited by minimized windows upon + being shown. + * [155394] Fixed issue where a widget's move and resize state were not + set correctly upon widget initialization. + * [254325] Fixed sheet transparency bug. + * [152481] Fixed crash that could occur when clicking in a window when a + modal print dialog is showing. + * [143835] Removed unnecessary window updates for active windows. + * [145552] A mouse up event is now sent when a window drag has finished + after a mouse press. + * [146443] Ensure that, if a window is moved before it is shown for the + first time, it is placed correctly when it is shown. + * [141387] Fixed bug that caused two near-simultaneous mouse presses on + different widgets to be interpreted as a single click. + * [139087] Fixed activation for some types of shortcuts, such as + QKeySequence(Qt::CTRL | Qt::Key_Plus). + * Only use Roman for determining with System Fonts since Mac OS X will + perform the necessary translation. + * When using OpenGL, ensured that the 32-bit accumulation buffer is used + in preference to the 64-bit accumulation buffer by default. + * [123467] Fixed bug where the event loop would spin and not emit + aboutToBlock() when popup menus were shown. + * [137677] QString::localAwareCompare() now respects the sorting order + set in the system preferences. + * [139658] Mac OS X accessibility no longer requires that + QApplication::exec() is called. + * [118814, 126253, 105525] Fixed several QCombobox look and feel issues. + * [145075] Fixed aliased line drawing bug. + * [122826] Fixed QScrollBar painting error. + * [131794] PixelTool and QWidget::grabWindow() now work on non-primary + monitors. + * [160228] The Quartz 2D-based paint engine now respects the font style + strategy. + * Made miscellaneous changes to make wrapping non-Qt HIViews easier. + * Qt is now built with MACOSX_DEPLOYMENT_TARGET set to 10.3 (since Qt + can only be run on Mac OS X 10.3 and above). + * QSound now uses NSSound for its implementation instead of the + deprecated C QuickTime API. This means that the QtGui library is no + longer dependant on the QuickTime framework. + * Added a -dwarf-2 configure option to allow people to turn on DWARF2 + debugging symbols when that is not the default. + The ability to use DWARF2 debugging symbols was added in later version + of the Xcode 2.x series. + * Fixed many assertions when running against Carbon_debug. + * Renamed the Qt::WA_MacMetalStyle attribute to WA_MacBrushedMetal. + * Changing the Qt::WA_MacBrushedMetal attribute will now cause a + StyleChange event to be sent. + * The Qt translations and Qt Linguist phrase books have been added to + the binary package. + * [134630] Fixed loading of plugins in the case where universal plugins + are used but the wrong architecture is accidentally read first, + instead of returning an architecture mismatch. + * QCursor now uses NSCursor internally instead of the deprecated + QuickDraw functions. + * Corrected the encoding and decoding functions for QFile to handle + different Unicode normalization forms. + +Qtopia Core +----------- + + - New font system + * A new font subsystem has been implemented that, by default, allows + glyphs rendered at run time to be shared between applications. A new + pre-rendered font format (QPF2) has also been implemented together + with a new "makeqpf" tool to generate them. + * Support for custom font engine plugins has been added through + QAbstractFontEngine and QFontEnginePlugin. + * The default font family has been changed to DejaVu Sans. + +- OpenGL ES + * [126421, 126424] Added QGLWindowSurface and QGLScreen framework for + OpenGLES (and others) on Qtopia Core. A sample implementation can be + found in the examples/qtopiacore directory. + + - Accelerated graphics API + * [150564] API changes in QWSWindowSurface. New functions include + QWSWindowSurface::move() to enable accelerated movement of top-level + windows. + * [152755] API clarification: The windowIndex parameter to + exposeRegion() now always refers to the window that is being changed. + * [150569, 139550] Made API additions to QWSWindow to give QScreen + information about the window state, window flags, and window dirty + region + * [150746] Added QScreen::pixelFormat() and QScreen::setPixelFormat() to + enable drawing optimizations for some formats. + + - General fixes + * Improved support for compiling a LSB (Linux Standard Base) compliant + Qtopia Core library. + * [133365] Added the QWSServer::setScreenSaverBlockLevel() function to + make it possible to block the key/mouse event that stops the screen + saver at a particular level. + * Fixed QFontDatabase::addApplicationFont() for Qtopia Core. + * [131714] Fixed performance problems with drag and drop operations. + * [96507] Added support for using _POSIX_MONOTONIC_CLOCK as the timer + source (also effects Qt/X11). + * [132346] Fixed a performance bug causing unnecessary screen copies + when using a hardware cursor. + * [121496] Made lots of performance improvements in the VNC driver. + * [138615] Fixed color conversion for cases where the VNC server is + running on a big-endian machine. + * [131321] Optimized text drawing. + * [136282] Fixed a bug preventing QWidget::setCursor() and + QWidget::unsetCursor() from taking effect immediately. + * [139318] Fixed a performance bug that would cause non-visible regions + to receive paint events. + * [139858] Implemented acceleration for the 'pc' mouse handler. + * [140705, 140760] Improved release of used resources (e.g, shared + memory and hardware resources) when the application exits + unexpectedly. + * [144245] Fixed a problem with some cross-compilers triggered by using + math.h functions taking a double argument when using float data. + * Optimized QSocketNotifier activation. + * [156511] Implemented QDirectPainter::ReservedSynchronous which makes + a QDirectPainter object behave as a QDirectPainter region allocated + using the static functions. + * [94856] Fixed console switching when using the Tty keyboard driver. + * [157705] Ensured that device parameters are passed to keyboard and + mouse plugins. + * [156704] Fixed QPixmap::grabWindow() for 18 and 24-bit screens. + * [154689] Fixed the -no-gfx-multiscreen configure script option. + * [160404] Fixed 4-bit grayscale support in QVFb and QScreen. + * Optimized QCop communication. + * Fixed bug in QWidget::setMask() for visible widgets. + * [152738] Allow transparent windows to be shown on top of unbuffered + windows. + * [154244] Fixed bug where a client process would not terminate when + server closed. + * [152234] No longer send key events for one client to other client + processes for security and performance reasons. + * [148996] Added checks in the server to avoid buffer overruns if + clients send malformed commands + * [154203] Fixed mouse calibration bug with mirrored/180-degree-rotated + touch screens. + +**************************************************************************** +* Compiler Specific Changes * +**************************************************************************** + +- MinGW + * [119777] Removed the dependency on mingwm.dll when compiled with the + -no-exceptions option. + +**************************************************************************** +* Tools * +**************************************************************************** + +- Build System + * Auto-detect Xoreax IncrediBuild with XGE technology, and enable + distribution of moc and uic. + * Shadow builds are now supported by nmake/mingw-make of the Qt build + system. + * [151184] Separated the -make options for demos and examples + * [150610] Fixed the build system to take into account that fvisibility + requires gcc on Unix builds. + * [77152] Ensured that, at "make install" time, all meta-information + files will be cleaned up to remove reference to source code path. + * [139399] Ensured that the environment CC/CXX on Unix are taken into + account when running the build tests. + * [145344] Ensured that "make confclean" will remove all files + generated by configure. + * [145659] Added ability to disable SSE. + * Added DWARF2 detection and support into the build system to reduce + the debug library size. + * Added macx-g++-64 meta-spec for Qt configuration purposes. + * [127840] The pkgconfig files (.pc) are now placed into lib/pkgconfig. + * [135547] Allow Windows line endings on UNIX and vice versa in + .qt-license files. + * [133068] GIF support is now enabled by default. + * [137728] Fixed failed build on Mac OS X and Solaris when using the + -separate-debug-info command line option for the configure script. + * [137819] Added support for precompiled headers with the Intel C++ + Compiler for Linux. + * Re-used qplatformdefs.h from linux-g++ in the linux-icc mkspec. + * [121633] Added linux-icc-64 mkspec which is needed for building on + some 64-bit hosts. + * Removed cd_change_global from win32-msvc's qmake.conf file. + * [116532] Keep intermediate manifest file in object directory instead + of the destination directory. + * Added a configuration type to qconfig.pri on Windows. + * Corrected paths in Makefile generation when configuring with the + -fast command line option. + * Added tests to auto-detect a suitable TIFF library. + * [152252] Fixed auto-detection of MSVC.NET 2005 Express Edition in + configure.exe. + * [151267] Ensured that the manifest tool does not get forward slashes + when writing paths to manifest files. + * [153711] Ensured that the directory separators used in .qmake.cache + are correct for normal MinGW and Cygwin MinGW. + * [154192] Fixed a problem with configure.exe executing non-existing + scripts. + * [128667] Added a confclean build target on Windows for the top-level + project file. + + +- Assistant + * [99923] Added a context menu for the tabs in the tab bar. Right click + on a tab to get a list of common options. + * Assistant now uses the "unified toolbar" look on Mac OS X. + +- Designer + * [151376] Added a context menu to the tab order editor. + * [39163] Added a tab order editor shortcut - using Ctrl with the left + mouse button makes it possible to start ordering from the selected + widget. + * [159129] Fixed a crash in the tab order editor. + * Improved snapping behavior for multi-selections and negative + positions. + * [126671] Made it possible to move widgets by using the cursor keys + without modifiers. The Shift modifier enables resizing, the Control + modifier enables snapping behavior. + * [111093] Added a file tool bar. + * [156225] Fixed the delete widget command for cases where the deleted + widget is a child of a QSplitter widget. + * [101420] Improved the WYSIWYG properties of forms with respect to the + background colors used. + * [112034] Enabled Ctrl + drag as a shortcut for copying actions in + menus and tool bars. + * [128334] Double clicking on a widget now invokes the default action + from its task menu. + * [129473] Fixed bug in the handling of default tab orders. + * [131994] Made it possible to set the tab order for checkable group + boxes. + * Added new cursor shapes. + * [137879] Improved the editor for key sequence properties. + * [150634] Improved refreshing behavior of all properties after property + changes. + * [147655] Fixed shadow build issues. + * [151567, 149966] Ensured that object names are unique. + * [80270] Fixed bug with saving icons taken from resources which are + specified with aliases. + * [152417] Fixed loading/saving of header labels of Q3Table widgets. + * Added the QColumnView widget to the widget box. + * Added support for new margin (left, top, right and bottom) and spacing + (horizontal and vertical) properties of the layout classes. + * [146337] Ensure that the margin and spacing properties are not saved + if they have the default values. + * Fixed layout handling in Q3GroupBox + * [124680] Ensured that the correct pages are displayed when selecting a + QStackedWidget page in the object inspector. + * [88264] Ensured that breaking a nested layout doesn't break the parent + container's layout. + * [129477] Added support for dynamic properties via the context menu in + the property editor. + * [101166] Added an "Add separator" action to the standard context menu. + * [132238] Added a "Recent files" button to the New Form dialog. + * [107934] Updated the font anti-aliasing property from a boolean + property to a property with 3 values. + * [155464] Added a German translation. + * [146953] Enabled support to allow widgets to be dragged onto the + object inspector. + * [152475] Ensured that the widget box saves and restores its state. + * [111092] Added support to allow images to be dragged from the resource + editor and dropped onto the action editor or icon properties in the + property editor. + * [111091] By default, icon dialogs now open to show the resource + browser. + * [152475] Added a button to load newly found custom widget plugins to + the plugin dialog. + * [151122] Added warnings for custom widget plugin issues such as load + failures and class name mismatches. + * [138645] Improved the form preview on Mac OS X, provided a close + button and a menu entry. + * [103801] Made buddy editing possible for custom widgets derived from + QLabel. + * [148677] Added a font chooser for tool windows. + * [107233] Made the grid customizable, provided default and per-form + grid settings. + * [149325] Provided a form editor context menu in the object inspector. + * [147174] Changed the elide mode and improved column resizing behavior + of property editor and object inspector. + * [147317] Improved handling for switching user interface modes, + preventing the geometries of form window from being changed. + Made 'Bring to front' deiconify windows. + * [146629] Fixed never ending loop on Linux triggered by scrolling + quickly through the pages of a QStackedWidget. + * [145806] Enabled KDialog to be used as a template. + * [142723] Enabled the pages of QStackedWidget, QTabWidget and QToolBox + to be promoted. + * [105916] Enabled QMenuBar to be promoted. + * [147317] Improved the New Form dialog. + * [95038] Fixed handling of layout defaults. + * [103326] Made it possible to make connections to form signals. + * [145954] Added a new dialog for promoted widgets with the ability to + specify global include files. + Added promotion candidates to the form's context menu. + * [127232] Ensured that global include files returned by + QDesignerCustomWidgetInterface::includeFile() are handled correctly. + * [139985] Improved handling of layouts for custom widgets. + * [99129] Made custom implementations of QDesignerMemberSheetExtension + work correctly. + * [87181] Added support for setting properties on items in a multi- + selection. + Added support for sub-properties. For example, changing the font size + of a multi-selection does not overwrite other font settings. + Added undo-support for property comments. + * [135360] Added tooltips to the property editor, action editor and + object inspector. + * [103215] Added handling of escaped newline characters for text + properties. + Added support for validators and syntax highlighting for style sheets. + * [135468] Added support for tool bar breaks. + * [135620] Fixed several issues concerning handling of properties of + promoted widgets. + * [109077] Provided multi-selection support in the object inspector. + * [133907] Made in-place editing of plain label texts possible. + * [134657] Fixed table widget editor. + * [90085] Made the resource editor consume a little less horizontal + screen real estate. + * [105671] Added support to allow main windows to be maximized while + being previewed. + * Added a style sheet editor. + +- Linguist + * Translations can be exported to and imported from XLIFF files. + * [136633] Fixed "Find" so that it searches in comments. + * [129163] Fixed bug that prevented "Next Unfinished" from working if + there was no selected item. + * [125131] Made the translation loading behavior consistent with + Assistant and Designer. + * [125130] Added the -resourceDir command line argument for consistency + with Assistant and Designer, to allow the path of translation files + to be specified. + * [124932] XML files (.ts and .xlf) are now written with platform- + specific line endings. + * [128081] Ensure that the tree view does not lose focus when the up + and down cursor keys are used for navigation. + Use Shift+Ctrl+K and Shift+Ctrl+L instead if you really want this + behavior. + * [139079] Added a DTD to document the TS file format. + +- lupdate + * Made some small improvements in lupdate's .pro file parser. + Fixed bug in inclusion of relative .pri files. + * [140581] Improved namespace/context parsing. + * [142373] Fixed bug when running lupdate on a SUBDIRS .pro file that + prevented TS files from being created. + * [135991] Ensure that .pro file comments are handled correctly when + they occur within a list of several variable assignments. + * [154553] Fixed bug with CODECFORTR that caused saving of incorrect + characters. + +- rcc + * [158522] By default compression is now set to the zlib default + (normally level 6). + * [133837] Allow absolute paths in .qrc files (accessible through the + original filesystem path). + * [146958] No longer returns error when a .qrc is empty. A (mostly) + empty file is generated instead. + +- moc + * [149054] Fixed parsing of old-style C enums. + * [145205] Ensured that a warning is given when a known interface + (marked with Q_DECLARE_INTERFACE) is subclassed that is not mentioned + in Q_INTERFACES. + * [97300] Allow @file to be given as the options input file to handle + command lines larger than allowed by the operating system. + +- uic + * [144383] Added checks to prevent generated code from calling + ensurePolished() before each constructor is finished. + * [138949] Ensured that font and size policy instances are reused in + generated code. + * [141350] Ensured that color brushes are reused in generated code. + * [141217] Improved handling of include files of Qt 3 classes. + * [144371] Ensure that each form's objectName property is not set in + setupUi() to avoid problems in cases where the name was already set. + * Added support for the QWidget::locale property. + * [141820] Fixed generation of connections in the form. + * [137520] Ensured that code to set toolTip, statusTip and whatsThis + properties is not generated when the corresponding QT_NO_* + preprocessor macros are defined. + * [128958] Ensured that static casts are not used in generated code. + * [116280] Added support for qulonglong and uint types. + +-uic3 + * [137915] Added functionality to extract images via the -extract + command line option. + * [129950] Added the -wrap command line option which specifies that a + wrapper class which is Qt 3 source compatible should be generated. + +- qmake + * [121965] Implemented DSW (Workspace files) generation for MSVC 6.0 + users. + * [132154] Added support for /bigobj option in the vcproj generator. + * Fixed crash with dependency analysis. + * Ensure that cleanup rules are not added for extra compilers with no + inputs. + * LEX/YACC support has been moved into .prf files. + * [156793] Introduced PRECOMPILED_DIR for PCH output (defaults to + OBJECTS_DIR). + * [257985] Fixed qmake location detection bug. + * Ensured that empty INCLUDEPATH definitions are stripped out. + * Allow QMAKE_UUID to override qmake deteremined UUID in the vcproj + generator. + * [151332] Ensured that .pc files are terminated with an extra carriage + return. + * [148535] Introduced QMAKE_FRAMEWORKPATH and used it internally. + * [127415] Fixed object_with_source. + * [127413] Introduced QMAKE_FILE_IN_PATH placeholder for extra + compilers. + * [95975] Replaced QMAKE_FILE_IN for custom build steps in DSP + generator. + * [141749] Added checks to prevent cyclical dependencies. + * [146368] Ensured that GNUmake .d files are removed upon distclean. + * Improved extensibility of the precompiled header support to allow icc + precompiled headers. + * [147142] Short-circuit previously seen library paths to avoid + cyclical .prl processing. + * [144492] Ensured that INSTALL_PROGRAM is set for INSTALLS in + macx-xcode projects. + * [143720] Extra compilers will now depend upon the input file + automatically. + * Introduced QMAKE_DISTCLEAN for extra files to be removed upon + invocation of "make distclean". + * [133518] Reduced the noise created by qmake warnings. + * [108012] Brought macx-xcode into line with macx-g++ with regards to + custom bundle types. + * [128759] Added support for spaces in paths to linked libraries. + * [83445] Made sure that "make distclean" in a library with a DESTDIR + really does remove the destination symbolic links. + * The subdir generator will now use - to separate target words and _ to + separate internally appended words. + * [125557] Fixed broken generation of dependencies for extra compilers. + * Ensured that the QMAKE_QMAKE variable is given a reasonable default + before parsing and evaluating project files. + * For Unix/Mac OS X, configure now has an -optimized-qmake option that + allows people to build qmake with optimizations. + This is disabled by default as older versions of some compilers take + a long time to build an optimized qmake. qmake is already built with + optimizations on Windows. + * [130979] Made the incremental link option case-insensitive. + * Ensured that paths for custom build steps in vcproj files have the + correct seperators. + * Avoid duplicate dependency paths, reduce file stats. + * [91313] Ensured that multiple commands in the DSP generator are + separated with \n\t characters. + * [108681] Added checks to avoid problems with uic3 files having + dependencies on themselves. + * [130977] Added support for non-flat output for vcproj files with + single configuration. + * [134971] Added support for more compiler and linker options for + vcproj files, and added catch-all cases which add options to + AdditionalOptions variables. + * [140548] Fixed escaping of the custom build step for image + collections. + * [114833] Ensured that paths in vcproj always have native filing + system separators. + * [144020] Only allow CONFIG+=staticlib for TEMPLATE==lib. + * [97300] Handle large number of include paths on Windows for moc by + using temporary files. (See moc changes.) + * [150519] Ensured that qmake is compiled with the correct mkspec on + Windows. + * [148724] Added manifest files to project clean up. + * [123501] Added /LIBPATH to AdditionalLibraryPaths in vcproj files. + * [80526] Made sure that extra compiler commands are not corrupted due + to path separator fixing. + * [109322] Moved hardcoded extra compilers, yacc and lex, into the PRF + (feature) system. + * [101783] Added a _DEBUG to Resource Tool for debug builds on Windows. + * [145074] Added a custom build step on input files, for extra compiler + files with built-in compilers for the output files. + * [150961] Added support for QMAKE_PRE_LINK in the DSP and VCPROJ + generators. + * Added checks to avoid double escaping of DESTDIR_TARGET file paths in + Windows Makefiles. + * Ensured that file paths for COPY_FILE and QMAKE_BUNDLE are escaped. + * [83765] Ensured that input files instead of output files are added to + extra compiler steps under certain conditions. + * [101482] Fixed relative path handling for RC_FILE. + +**************************************************************************** +* Plugins * +**************************************************************************** + +- QTiffPlugin + * [93364] Added support for the TIFF image format. |