1 ****************************************************************************
3 ****************************************************************************
8 Qt 4.0.0 introduced a change to the way type names outside the current
9 scope were handled in signals and slots declarations and connections
10 which differed from the behavior in Qt 3.x.
12 Unfortunately, this could lead to signal-slot connections that were
13 potentially type-unsafe. Therefore, in Qt 4.0.1 type names must be fully
14 qualified in signal-slot declarations and connections.
16 For example, in Qt 4.0.0, it was possible to write:
18 connect(socket, SIGNAL(error(SocketError)), ...);
20 In Qt 4.0.1, the above connection must be made in the following way:
22 connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), ...);
28 Support for SGI Altix has been added for both gcc and Intel icc.
31 QX11EmbedContainer and QX11EmbedWidget are now exported classes.
33 This change only affects developers using Qt/X11 with gcc >= 4.0 and
34 symbol visibility enabled. Applications built against Qt 4.0.1 that
35 use these classes cannot be linked against Qt 4.0.0.
38 ****************************************************************************
40 ****************************************************************************
45 Fixed crash in designer when using fonts in custom widgets that
46 don't have a point size set but use a pixel size instead.
48 Fixed initial positions of the form windows in the MDI mode.
50 Ensured that the object inspector is updated when a page is added
53 Ensured that the SDK is installed and the library symbols are
56 Fixed crash when breaking a layout after deleting all widgets within.
58 Fixed handling of nested action groups.
60 Fixed mouse handling to match user expectations on different
63 Don't change system setting for double click interval.
65 Disabled the richtext editor for the "statusTip" property.
67 Improved widget handling, loading and saving for QFrame, QTabWidget,
70 Added a platform-neutral mechanism for saving key sequences.
72 Used Qt's list of supported image formats rather than an incomplete
75 Provided a way for plugins to access to the layout of container
78 Added support for editable byte arrays.
84 Made lupdate handle cases where the compiler converts strings using
85 a different codec to that used by lupdate.
87 Fixed bug in lupdate and lrelease's .pro file parser.
89 Fixed lupdate's octal sequence handling.
91 Fixed duplicate context when two contexts have the same hash value.
94 Qt 3 to 4 Porting Tool
95 ----------------------
97 Fixed connnect statement that did not work with the new stricter moc.
99 Fixed incorrect porting of enum values in switch statements.
101 Fixed header file name replacements in include directives.
104 Meta Object Compiler (moc)
105 --------------------------
107 Fixed VC6 compilation of moc generated code with namespaced
110 Fixed parsing of functions that throw exceptions.
112 Fixed compilation of moc generated code with VC6 when inheriting
113 from classes inside namespaces.
115 Improved the efficiency of signals with default arguments.
121 Fixed the document list for full text search indexing.
123 Fixed case sensitive completion in the find dialog combobox.
125 Re-enabled the "add content file" option.
127 Removed the "General" tab in the settings dialog.
129 Fixed registry key handling and deletion of cache files.
131 Made it possible to read titles in the tabs in assistant.
133 Updated the QAssistantClient documentation.
135 Added the QtAssistantClient headers to the other library headers
138 Fixed full text search for phrases.
145 Removed hard-coded margin and spacing values from built-in
149 Fixed crash caused by removing an item with expanded children.
150 Added some more see also links and defined QModelIndexList.
153 Fixed rendering and selection issues with MultiSelection
155 Improved handling of persistent editors.
156 Improved performance of item insertion.
157 Improved signal handling and emission.
160 Ensured that no changes occur if the orientation doesn't
161 change in a call to setOrientation().
162 Introduced better keyboard control for sliders.
163 Fixed sliderPressed() and sliderReleased() signal emissions.
166 Fixed race condition in connectToHost().
167 Made bytesAvailable() return the unget buffer size as well
168 as the size of any pending data.
169 Made NetworkLayerProtocol non-internal.
172 Fixed problems with locale and the "." and "," separators.
173 Improved handling of extra whitespace at the beginning and
177 Made closeAllWindows() respect windows that reject the close
179 Fixed crash caused by calling QApplication::setStyle()
180 before a qApp was created.
181 Improved handling of the last open window for most cases.
182 Improved event handling.
185 Used a new algorithm for offsetting curves.
186 Improved performance by using a more sophisticated
187 algorithm and by making QBezier a POD type.
190 Improved radial gradient rendering.
193 Process the return key correctly.
196 Fixed behaviour of setMaxItems() to enable new items to be
197 inserted within the range allowed.
200 Ensured that mnemonics are always shown for buttons.
201 Fixed position of right corner widget when used on its own.
204 Improved the range of input allowed for numbers.
207 Fixed valueChanged() signal emission.
210 Fixed Lower QSizeGrip in QDialog instead of raising it.
213 Fixed relative path handling on Windows.
214 Reverted empty string matching behavior to match Qt 3's
216 Restored API compatibility with Qt 3.
219 Fixed accidental deletion of directories in read-only mode.
222 Ensured that the size of a floating dock widget is the same
223 regardless of how it was floated.
224 Reintroduced double-clicking behavior to float a dock
226 Fixed incorrect moving behavior for floating widgets.
227 Ensured that dock widgets display a close icon only if they
234 Fixed handling of out-of-range items.
237 Improved decimals handling and rounding behavior in
241 Fixed problems with carriage return and line feed handling
243 Ensured that pos() returns the correct value if the file
247 Fixed incorrect behavior where the dialog would go to the
248 root directory if the user tried to enter a non-existent
250 Fixed sorting by type behavior.
253 Fixed loading of special fonts.
254 Fixed sample characters for Chinese scripts.
257 Switched the locations of the OK and Cancel buttons.
258 Made items in the font dialog read-only.
259 Improved handling of the OK and Cancel buttons when the
260 dialog is in reverse layout mode.
263 Reintroduced GIF plugin support.
266 Improved default size handling.
269 Fixed section hiding behavior.
270 Fixed Out of bounds error and improper calculation of last
272 Improved mouse handling and widget updating.
273 Fixed crashes caused by moving or removing sections, or by
274 updating the current section.
275 Improved signal behavior for resized or removed sections.
278 Fixed proxy authentication.
279 Fixed broken behavior when scheduling many requests to
281 Fixed socket object ownership issues with setSocket() that
282 could lead to a crash.
285 Fixed smooth scaling for image formats other than RGB and
289 Fixed the default implementation of imageCount() to return a
290 valid number of images.
293 Switched the locations of the OK and Cancel buttons.
296 Fixed problems with carriage return and line feed handling
298 Made bytesAvailable() return the unget buffer size as well
299 as the size of any pending data.
300 Fixed error handling when reading lines with QFile.
301 Fixed seek() behavior with regard to the unget buffer.
304 Improved layout handling, redrawing, signal emission,
305 and mouse click behavior.
308 Fixed accidental HTML escaping of ampersands.
311 Print out object names in warnings.
314 Enabled textChanged() signal emission when using input
316 Improved return key press handling for users of the
317 returnPressed() signal.
318 Fixed context menu action handling.
319 Fixed editingFinished() signal emission behavior.
320 Fixed Ctrl-K and Ctrl-U behavior to cut text rather than
322 Fixed line edit selection behavior to maintain any current
323 selection when the widget receives the keyboard focus.
326 Improved handling of hidden rows.
327 Fixed rendering when used in reverse mode.
330 Fixed the size policy for laying out items in the list.
331 Improved sorting performance.
332 Fixed persistent index handling when sorting.
335 Fixed problems with multiple connections from QMainWindow
336 signals to QToolBar slots.
337 Fixed dock widget handling (adding a widget to all dock
338 areas) and incorrect dock area splitting behavior that
339 could lead to crashes in QMainWindow.
340 Made QMainWindow's status bar have an "Ignored" horizontal
344 Fixed meta objects that reported far too many enums.
345 Fixed the behavior of sender() to return the correct value
346 during queued activation.
349 Fixed whitespace handling in template specialization.
350 Fixed missing qt_metatype_id implementation for <void *>.
351 Added more support for compilation with QT_NO_DATASTREAM.
354 Fixed keyboard navigation when mouse navigation is also
356 Fixed menu bar merging behavior.
359 Fixed Alt key navigation.
362 Fixed incorrect exception handling.
365 Suppressed warnings when drawing "empty" text.
366 Fixed rendering of Underline, Overline, and StrikeOut for
367 text drawn using outlines.
370 Improved handling of clip regions when restore() is called.
371 Improved text drawing performance.
374 Allowed construction of QImage before QApplication.
377 Improved performance and rendering accuracy.
380 Fixed missing detach in setWidth().
383 Improved drawing speed and mask handling.
386 Improved visual feedback for scrollbar page buttons and
388 Improved Plastique style on non-XRender-enabled displays.
391 Fixed endless loop of signal being emitted if model dialog
393 Made bytesAvailable() return the unget buffer size as well
394 as the size of any pending data.
397 Improved signal handling for propagated signals.
400 Fixed Latin-1 string handling.
401 Fixed unloading of resources.
404 Fixed widget resizing so that widgets that are smaller than
405 the viewport remain visible.
408 Made it possible to store QImage/QPixmap settings.
409 Fixed race conditions in QSettings with INI files.
410 Improved handling of non-terminated strings in INI files.
413 Made the Qt 3-style constructor public.
416 Fixed problems with out-of-range integers and doubles.
419 Fixed integration between QSqlTableModel and MS Access.
420 Fixed signal emissions for tables with only one row.
423 Fixed problems with multiple record insertion.
426 Fixed status bar height without size grip.
429 Fixed handling of the current page index when adding the
430 first page to QTabWidget.
431 Improved tab bar icon handling to enable icons to be updated
432 without redrawing the entire tab bar.
435 Improved text cursor handling and support for keyboard
437 Fixed problems with disappearing headers.
438 Disallowed selection of hidden rows and columns.
439 Fixed crashes involving empty models and tables with headers
440 but no rows or columns.
443 Improved sorting and signal emission behavior.
446 Fixed handling of the current widget to keep the tab bar
450 Removed temporary visible text selection when activating
451 anchors with Shift-click.
454 Fixed selection behavior for words at the beginning of lines.
455 Fixed incorrect use of character formats when calling
457 Fixed incorrect text insertion where line feeds and carriage
458 returns would not be transformed into Unicode block
462 Added support for page breaking.
463 Added support for relative font sizes.
464 Added support for <hr /> tags.
465 Fixed clipboard handling and drag and drop of text frames.
466 Fixed handling of closing HTML </center> tags.
467 Fixed crash (failing assertion) on import of nested empty
469 Fixed data corruption in fromPlainText().
470 Corrected the handling of image tags inside anchors.
471 Fixed introduction of empty spaces or lines before and after
473 Fixed misrendering of some nested HTML tables with variable
475 Fixed crash in table drawing due to out-of-bounds access.
476 Added support for the pageCountChanged() signal.
477 Improved performance and size of PostScript images when
478 printing high resolution or scaled images.
481 Improved layout and selection handling.
482 Added configuration support for non-blinking cursors.
483 Improved keyboard handling.
484 Improved text insertion handling.
487 Added support for horizontal rules.
488 Improved font handling.
491 Allow line breaking at tabs.
492 Improved reporting of line widths for lines ending with a
493 QChar::LineSeparator.
494 Fixed reporting of the minimum width for layouts that have
495 NoWrap/ManualWrap as their wrap policy.
498 Fixed locking behavior when reading from stdin.
499 Fixed seek() behavior.
500 Improved Latin-1 string handling.
503 Improved performance and selection handling.
506 Fixed toolbar resizing behavior to handle icon size changes.
509 Improved handling of hidden rows, columns, and child items.
510 Fixed repainting issues with newly inserted child items
512 Improved scrolling behavior.
513 Fixed crashes involving column handling and empty views.
514 Fixed sorting indicator behavior.
517 Improved item insertion performance.
518 Fixed clone() and operator=() for QTreeWidgetItem.
519 Fixed crash when removing or deleting items with children.
520 Improved sorting performance.
521 Fixed sorting indicator behavior.
522 Fixed persistent index handling when sorting.
525 Improved the performance of removeDots().
528 Fixed problems with adding an action multiple times.
531 Improved heuristics for determining character encodings.
534 Fixed file selection handling.
537 Platform-Specific Issues
538 ------------------------
543 Fixed Block modeless elements of client when ActiveX opens a
545 Enabled tablet support.
546 Improved event handling for popup widgets.
549 Support a document site only if the COM object allows proper
550 initialization with a storage.
553 Updated to use the latest native Windows dialogs.
556 Fixed behavior of forwarded read channels.
559 Fixed behavior of childKeys() with respect to the default
563 Fixed menu item size.
564 Improved drawing of default push buttons.
565 Fixed rendering of sliders to correctly differentiate
566 between those in enabled and disabled states.
569 Fixed menu frame rendering.
570 Reduced the space allocate to menu items.
576 Fixed incorrect initialization of screen and resolution.
577 Improved mouse button handling.
578 Fixed handling of withdrawn windows.
581 Fixed bitmap brush textures to ensure that they use the
582 correct color with XRender.
585 Fixed handle() to return useful values.
588 Fixed fonts for some writing systems not being loaded on X11
591 Fixed multi-screen support.
592 Improved performance and rendering accuracy.
593 Fixed dot-dash patterns when drawing with large pen widths.
594 Improved text rendering on exported displays.
597 Implemented support for window opacity.
598 Added support for widgets with 32 bit sizes.
599 Improved support for different active and inactive background
601 Fixed window icons on X servers that have truecolor and
602 pseudocolor visuals with different depths.
603 Fixed text rendering on exported displays.
606 Fixed crash in XIM code with newer x.org libraries.
607 Fixed support for switching input method styles.
610 Exported QX11Embed (see the Important Changes section
612 Improved handling of non-XEmbed clients.
613 Improved geometry and focus handling.
619 Reduced the size of the dialog.
622 Fixed initialization of color and grayscale radio buttons.
625 Fixed incorrect notification of process termination on
626 Linux kernels up to and including the 2.4 series.
627 Made QProcess emit an error() when failing to launch a
634 Fixed widgetAt() to handle transparent widgets.
635 Handle keyboard events in the active window if no focus
637 Changed wheel mouse scrolling speed to match that of
641 Fixed rendering of combobox frames.
647 Fixed Junk at end of pasted text on Qt/Mac.
650 Fixed incorrect pixmap handling.
653 Fixed sheet modality issues to prevent the dialog from being
654 hidden behind other windows.
657 Default to using the Geneva font.
658 Enable kerning and fix Arabic text handling.
661 Fixed location of qt.conf in Mac OS X bundles.
664 Improvements to rendering accuracy of comboboxes, tab bars,
665 workspace windows, tool buttons, and push buttons.
666 Fixed incorrect drawing of scrollbars with "inverted
668 Fixed font-related crash for applications configured to
669 use the standard desktop settings.
672 Improved menu bar handling on navigation dialogs.
675 Improved menu bar hiding/wrapping behavior.
678 Removed byte order assumptions.
681 Improved brush handling, clipping, masking, and tiling
685 Improvements to pixmap copying and conversion, masking, and
686 alpha channel handling.
687 Removed byte order assumptions.
690 Made color printing the default behavior.
693 Sync the application's setting on construction of a
697 Included enum values for Mac OS X codenames in the
698 MacVersion version enum.
701 Improved mouse event handling.
702 Improved interoperability between modal widgets.
709 Fixed class name handling when used in "-convert" mode.
710 Fixed vertical space issues with .ui files converted from
712 Improved support for Qt3Support widgets.
713 Improved support for deprecated enums.
714 Added a generator for dependencies in Qt 3 .ui files.
717 Added better error reporting.
720 Added code generation for tab attributes.
721 Fixed text codec handling.
722 Used UTF-8 as the default enconding in .ui files.
723 Fixed code generation for QWizard.
731 Removed QMovie from the list of implicitly shared classes that were
732 previously explicitly shared.
734 Added .ui porting document to the 4.0.1 documentation.
736 Added sections about QHBox, QVBox, and QGrid to the porting guide.
738 Added QImageIO and QMovie to the porting guide.
740 Added QRegExp and some QDir functions to the porting guide.
742 Added QObject::objectTrees() to the porting guide.
744 Added QPopupMenu to the porting guide.
749 Fix documentation of amortized container behavior.
751 Added information about using specific compilers to build Qt.
753 Removed QtMotif documentation because it is now part of Qt Solutions.
755 Clarify parent-child relationship within QThreads.
757 Documented potential file name clashes when using precompiled headers.
759 Added a Windows XP gallery.
761 Added pages to contain lists of classes for each Commercial Edition.
763 Reintroduced the QAssistantClient documentation as part of the
766 Added missing Qt Designer API documentation.
769 Documented correct use of QApplication::setStyle().
772 Made removeItem() and setRootModelIndex() visible in the
776 Added missing documentation for QGenericArgument and
777 QGenericReturnArgument, making them visible in the
778 documentation, but not recommended for casual use.
781 Make QPainter::setRedirected() visible and fix its
785 Document what happens when passing an existing connection
786 name to addDatabase().