| **************************************************************************** |
| * Important Notices * |
| **************************************************************************** |
| |
| Meta-Object System |
| ------------------ |
| |
| Qt 4.0.0 introduced a change to the way type names outside the current |
| scope were handled in signals and slots declarations and connections |
| which differed from the behavior in Qt 3.x. |
| |
| Unfortunately, this could lead to signal-slot connections that were |
| potentially type-unsafe. Therefore, in Qt 4.0.1 type names must be fully |
| qualified in signal-slot declarations and connections. |
| |
| For example, in Qt 4.0.0, it was possible to write: |
| |
| connect(socket, SIGNAL(error(SocketError)), ...); |
| |
| In Qt 4.0.1, the above connection must be made in the following way: |
| |
| connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), ...); |
| |
| |
| Library |
| ------- |
| |
| Support for SGI Altix has been added for both gcc and Intel icc. |
| |
| |
| QX11EmbedContainer and QX11EmbedWidget are now exported classes. |
| |
| This change only affects developers using Qt/X11 with gcc >= 4.0 and |
| symbol visibility enabled. Applications built against Qt 4.0.1 that |
| use these classes cannot be linked against Qt 4.0.0. |
| |
| |
| **************************************************************************** |
| * Changes * |
| **************************************************************************** |
| |
| Qt Designer |
| ----------- |
| |
| Fixed crash in designer when using fonts in custom widgets that |
| don't have a point size set but use a pixel size instead. |
| |
| Fixed initial positions of the form windows in the MDI mode. |
| |
| Ensured that the object inspector is updated when a page is added |
| to a widget stack. |
| |
| Ensured that the SDK is installed and the library symbols are |
| exported. |
| |
| Fixed crash when breaking a layout after deleting all widgets within. |
| |
| Fixed handling of nested action groups. |
| |
| Fixed mouse handling to match user expectations on different |
| platforms. |
| |
| Don't change system setting for double click interval. |
| |
| Disabled the richtext editor for the "statusTip" property. |
| |
| Improved widget handling, loading and saving for QFrame, QTabWidget, |
| and Q3GroupBox. |
| |
| Added a platform-neutral mechanism for saving key sequences. |
| |
| Used Qt's list of supported image formats rather than an incomplete |
| static list. |
| |
| Provided a way for plugins to access to the layout of container |
| widgets. |
| |
| Added support for editable byte arrays. |
| |
| |
| Qt Linguist |
| ----------- |
| |
| Made lupdate handle cases where the compiler converts strings using |
| a different codec to that used by lupdate. |
| |
| Fixed bug in lupdate and lrelease's .pro file parser. |
| |
| Fixed lupdate's octal sequence handling. |
| |
| Fixed duplicate context when two contexts have the same hash value. |
| |
| |
| Qt 3 to 4 Porting Tool |
| ---------------------- |
| |
| Fixed connnect statement that did not work with the new stricter moc. |
| |
| Fixed incorrect porting of enum values in switch statements. |
| |
| Fixed header file name replacements in include directives. |
| |
| |
| Meta Object Compiler (moc) |
| -------------------------- |
| |
| Fixed VC6 compilation of moc generated code with namespaced |
| superclasses. |
| |
| Fixed parsing of functions that throw exceptions. |
| |
| Fixed compilation of moc generated code with VC6 when inheriting |
| from classes inside namespaces. |
| |
| Improved the efficiency of signals with default arguments. |
| |
| |
| Qt Assistant |
| ------------ |
| |
| Fixed the document list for full text search indexing. |
| |
| Fixed case sensitive completion in the find dialog combobox. |
| |
| Re-enabled the "add content file" option. |
| |
| Removed the "General" tab in the settings dialog. |
| |
| Fixed registry key handling and deletion of cache files. |
| |
| Made it possible to read titles in the tabs in assistant. |
| |
| Updated the QAssistantClient documentation. |
| |
| Added the QtAssistantClient headers to the other library headers |
| for installation. |
| |
| Fixed full text search for phrases. |
| |
| |
| General Fixes |
| ------------- |
| |
| - Dialogs |
| Removed hard-coded margin and spacing values from built-in |
| dialogs. |
| |
| - QAbstractItemModel |
| Fixed crash caused by removing an item with expanded children. |
| Added some more see also links and defined QModelIndexList. |
| |
| - QAbstractItemView |
| Fixed rendering and selection issues with MultiSelection |
| mode. |
| Improved handling of persistent editors. |
| Improved performance of item insertion. |
| Improved signal handling and emission. |
| |
| - QAbstractSlider |
| Ensured that no changes occur if the orientation doesn't |
| change in a call to setOrientation(). |
| Introduced better keyboard control for sliders. |
| Fixed sliderPressed() and sliderReleased() signal emissions. |
| |
| - QAbstractSocket |
| Fixed race condition in connectToHost(). |
| Made bytesAvailable() return the unget buffer size as well |
| as the size of any pending data. |
| Made NetworkLayerProtocol non-internal. |
| |
| - QAbstractSpinBox |
| Fixed problems with locale and the "." and "," separators. |
| Improved handling of extra whitespace at the beginning and |
| end of user input. |
| |
| - QApplication |
| Made closeAllWindows() respect windows that reject the close |
| event. |
| Fixed crash caused by calling QApplication::setStyle() |
| before a qApp was created. |
| Improved handling of the last open window for most cases. |
| Improved event handling. |
| |
| - QBezier |
| Used a new algorithm for offsetting curves. |
| Improved performance by using a more sophisticated |
| algorithm and by making QBezier a POD type. |
| |
| - QBrush |
| Improved radial gradient rendering. |
| |
| - QColorDialog |
| Process the return key correctly. |
| |
| - QComboBox |
| Fixed behaviour of setMaxItems() to enable new items to be |
| inserted within the range allowed. |
| |
| - QCommonStyle |
| Ensured that mnemonics are always shown for buttons. |
| Fixed position of right corner widget when used on its own. |
| |
| - QDateTimeEdit |
| Improved the range of input allowed for numbers. |
| |
| - QDial |
| Fixed valueChanged() signal emission. |
| |
| - QDialog |
| Fixed Lower QSizeGrip in QDialog instead of raising it. |
| |
| - QDir |
| Fixed relative path handling on Windows. |
| Reverted empty string matching behavior to match Qt 3's |
| behavior. |
| Restored API compatibility with Qt 3. |
| |
| - QDirModel |
| Fixed accidental deletion of directories in read-only mode. |
| |
| - QDockWidget |
| Ensured that the size of a floating dock widget is the same |
| regardless of how it was floated. |
| Reintroduced double-clicking behavior to float a dock |
| widget. |
| Fixed incorrect moving behavior for floating widgets. |
| Ensured that dock widgets display a close icon only if they |
| can be closed. |
| |
| - QDockWidgetLayout |
| See QMainWindow. |
| |
| - QDomNodeList |
| Fixed handling of out-of-range items. |
| |
| - QDoubleSpinBox |
| Improved decimals handling and rounding behavior in |
| QDoubleSpinBox. |
| |
| - QFile |
| Fixed problems with carriage return and line feed handling |
| in readLine(). |
| Ensured that pos() returns the correct value if the file |
| shrinks. |
| |
| - QFileDialog |
| Fixed incorrect behavior where the dialog would go to the |
| root directory if the user tried to enter a non-existent |
| directory. |
| Fixed sorting by type behavior. |
| |
| - QFontDatabase |
| Fixed loading of special fonts. |
| Fixed sample characters for Chinese scripts. |
| |
| - QFontDialog |
| Switched the locations of the OK and Cancel buttons. |
| Made items in the font dialog read-only. |
| Improved handling of the OK and Cancel buttons when the |
| dialog is in reverse layout mode. |
| |
| - QGifHandler |
| Reintroduced GIF plugin support. |
| |
| - QGridLayout |
| Improved default size handling. |
| |
| - QHeaderView |
| Fixed section hiding behavior. |
| Fixed Out of bounds error and improper calculation of last |
| column. |
| Improved mouse handling and widget updating. |
| Fixed crashes caused by moving or removing sections, or by |
| updating the current section. |
| Improved signal behavior for resized or removed sections. |
| |
| - QHttp |
| Fixed proxy authentication. |
| Fixed broken behavior when scheduling many requests to |
| different hosts. |
| Fixed socket object ownership issues with setSocket() that |
| could lead to a crash. |
| |
| - QImage |
| Fixed smooth scaling for image formats other than RGB and |
| ARGB32. |
| |
| - QImageReader |
| Fixed the default implementation of imageCount() to return a |
| valid number of images. |
| |
| - QInputDialog |
| Switched the locations of the OK and Cancel buttons. |
| |
| - QIODevice |
| Fixed problems with carriage return and line feed handling |
| in readLine(). |
| Made bytesAvailable() return the unget buffer size as well |
| as the size of any pending data. |
| Fixed error handling when reading lines with QFile. |
| Fixed seek() behavior with regard to the unget buffer. |
| |
| - QItemDelegate |
| Improved layout handling, redrawing, signal emission, |
| and mouse click behavior. |
| |
| - QKeySequence |
| Fixed accidental HTML escaping of ampersands. |
| |
| - QLayout |
| Print out object names in warnings. |
| |
| - QLineEdit |
| Enabled textChanged() signal emission when using input |
| methods. |
| Improved return key press handling for users of the |
| returnPressed() signal. |
| Fixed context menu action handling. |
| Fixed editingFinished() signal emission behavior. |
| Fixed Ctrl-K and Ctrl-U behavior to cut text rather than |
| just deleting it. |
| Fixed line edit selection behavior to maintain any current |
| selection when the widget receives the keyboard focus. |
| |
| - QListView |
| Improved handling of hidden rows. |
| Fixed rendering when used in reverse mode. |
| |
| - QListWidget |
| Fixed the size policy for laying out items in the list. |
| Improved sorting performance. |
| Fixed persistent index handling when sorting. |
| |
| - QMainWindow |
| Fixed problems with multiple connections from QMainWindow |
| signals to QToolBar slots. |
| Fixed dock widget handling (adding a widget to all dock |
| areas) and incorrect dock area splitting behavior that |
| could lead to crashes in QMainWindow. |
| Made QMainWindow's status bar have an "Ignored" horizontal |
| size policy. |
| |
| - QMetaObject |
| Fixed meta objects that reported far too many enums. |
| Fixed the behavior of sender() to return the correct value |
| during queued activation. |
| |
| - QMetaType |
| Fixed whitespace handling in template specialization. |
| Fixed missing qt_metatype_id implementation for <void *>. |
| Added more support for compilation with QT_NO_DATASTREAM. |
| |
| - QMenu |
| Fixed keyboard navigation when mouse navigation is also |
| being used. |
| Fixed menu bar merging behavior. |
| |
| - QMenuBar |
| Fixed Alt key navigation. |
| |
| - QObject |
| Fixed incorrect exception handling. |
| |
| - QPaintEngine |
| Suppressed warnings when drawing "empty" text. |
| Fixed rendering of Underline, Overline, and StrikeOut for |
| text drawn using outlines. |
| |
| - QPainter |
| Improved handling of clip regions when restore() is called. |
| Improved text drawing performance. |
| |
| - QPaintDevice |
| Allowed construction of QImage before QApplication. |
| |
| - QPainterPath |
| Improved performance and rendering accuracy. |
| |
| - QPen |
| Fixed missing detach in setWidth(). |
| |
| - QPixmap |
| Improved drawing speed and mask handling. |
| |
| - QPlastiqueStyle |
| Improved visual feedback for scrollbar page buttons and |
| slider handle. |
| Improved Plastique style on non-XRender-enabled displays. |
| |
| - QProcess |
| Fixed endless loop of signal being emitted if model dialog |
| is used in slot. |
| Made bytesAvailable() return the unget buffer size as well |
| as the size of any pending data. |
| |
| - QProxyModel |
| Improved signal handling for propagated signals. |
| |
| - QResource |
| Fixed Latin-1 string handling. |
| Fixed unloading of resources. |
| |
| - QScrollArea |
| Fixed widget resizing so that widgets that are smaller than |
| the viewport remain visible. |
| |
| - QSettings |
| Made it possible to store QImage/QPixmap settings. |
| Fixed race conditions in QSettings with INI files. |
| Improved handling of non-terminated strings in INI files. |
| |
| - QSizeGrip |
| Made the Qt 3-style constructor public. |
| |
| - QSpinBox |
| Fixed problems with out-of-range integers and doubles. |
| |
| - QSqlQueryModel |
| Fixed integration between QSqlTableModel and MS Access. |
| Fixed signal emissions for tables with only one row. |
| |
| - QSqlTableModel |
| Fixed problems with multiple record insertion. |
| |
| - QStatusBar |
| Fixed status bar height without size grip. |
| |
| - QTabBar |
| Fixed handling of the current page index when adding the |
| first page to QTabWidget. |
| Improved tab bar icon handling to enable icons to be updated |
| without redrawing the entire tab bar. |
| |
| - QTableView |
| Improved text cursor handling and support for keyboard |
| modifiers. |
| Fixed problems with disappearing headers. |
| Disallowed selection of hidden rows and columns. |
| Fixed crashes involving empty models and tables with headers |
| but no rows or columns. |
| |
| - QTableWidget |
| Improved sorting and signal emission behavior. |
| |
| - QTabWidget |
| Fixed handling of the current widget to keep the tab bar |
| updated. |
| |
| - QTextBrowser |
| Removed temporary visible text selection when activating |
| anchors with Shift-click. |
| |
| - QTextCursor |
| Fixed selection behavior for words at the beginning of lines. |
| Fixed incorrect use of character formats when calling |
| insertFragment(). |
| Fixed incorrect text insertion where line feeds and carriage |
| returns would not be transformed into Unicode block |
| separators. |
| |
| - QTextDocument |
| Added support for page breaking. |
| Added support for relative font sizes. |
| Added support for <hr /> tags. |
| Fixed clipboard handling and drag and drop of text frames. |
| Fixed handling of closing HTML </center> tags. |
| Fixed crash (failing assertion) on import of nested empty |
| HTML tables. |
| Fixed data corruption in fromPlainText(). |
| Corrected the handling of image tags inside anchors. |
| Fixed introduction of empty spaces or lines before and after |
| tables. |
| Fixed misrendering of some nested HTML tables with variable |
| sized columns. |
| Fixed crash in table drawing due to out-of-bounds access. |
| Added support for the pageCountChanged() signal. |
| Improved performance and size of PostScript images when |
| printing high resolution or scaled images. |
| |
| - QTextEdit |
| Improved layout and selection handling. |
| Added configuration support for non-blinking cursors. |
| Improved keyboard handling. |
| Improved text insertion handling. |
| |
| - QTextFormat |
| Added support for horizontal rules. |
| Improved font handling. |
| |
| - QTextLayout |
| Allow line breaking at tabs. |
| Improved reporting of line widths for lines ending with a |
| QChar::LineSeparator. |
| Fixed reporting of the minimum width for layouts that have |
| NoWrap/ManualWrap as their wrap policy. |
| |
| - QTextStream |
| Fixed locking behavior when reading from stdin. |
| Fixed seek() behavior. |
| Improved Latin-1 string handling. |
| |
| - QTextTable |
| Improved performance and selection handling. |
| |
| - QToolBar |
| Fixed toolbar resizing behavior to handle icon size changes. |
| |
| - QTreeView |
| Improved handling of hidden rows, columns, and child items. |
| Fixed repainting issues with newly inserted child items |
| and selections. |
| Improved scrolling behavior. |
| Fixed crashes involving column handling and empty views. |
| Fixed sorting indicator behavior. |
| |
| - QTreeWidget |
| Improved item insertion performance. |
| Fixed clone() and operator=() for QTreeWidgetItem. |
| Fixed crash when removing or deleting items with children. |
| Improved sorting performance. |
| Fixed sorting indicator behavior. |
| Fixed persistent index handling when sorting. |
| |
| - QUrl |
| Improved the performance of removeDots(). |
| |
| - QWidget |
| Fixed problems with adding an action multiple times. |
| |
| - QXmlInputSource |
| Improved heuristics for determining character encodings. |
| |
| - Q3FileDialog |
| Fixed file selection handling. |
| |
| |
| Platform-Specific Issues |
| ------------------------ |
| |
| Windows: |
| |
| - QApplication |
| Fixed Block modeless elements of client when ActiveX opens a |
| modal dialog |
| Enabled tablet support. |
| Improved event handling for popup widgets. |
| |
| - QAxWidget |
| Support a document site only if the COM object allows proper |
| initialization with a storage. |
| |
| - QFileDialog |
| Updated to use the latest native Windows dialogs. |
| |
| - QProcess |
| Fixed behavior of forwarded read channels. |
| |
| - QSettings |
| Fixed behavior of childKeys() with respect to the default |
| key. |
| |
| - QWindowsStyle |
| Fixed menu item size. |
| Improved drawing of default push buttons. |
| Fixed rendering of sliders to correctly differentiate |
| between those in enabled and disabled states. |
| |
| - QWindowsXPStyle |
| Fixed menu frame rendering. |
| Reduced the space allocate to menu items. |
| |
| |
| X11: |
| |
| - QApplication |
| Fixed incorrect initialization of screen and resolution. |
| Improved mouse button handling. |
| Fixed handling of withdrawn windows. |
| |
| - QBitmap |
| Fixed bitmap brush textures to ensure that they use the |
| correct color with XRender. |
| |
| - QFont |
| Fixed handle() to return useful values. |
| |
| - QFontDatabase |
| Fixed fonts for some writing systems not being loaded on X11 |
| |
| - QPaintEngine |
| Fixed multi-screen support. |
| Improved performance and rendering accuracy. |
| Fixed dot-dash patterns when drawing with large pen widths. |
| Improved text rendering on exported displays. |
| |
| - QWidget |
| Implemented support for window opacity. |
| Added support for widgets with 32 bit sizes. |
| Improved support for different active and inactive background |
| brushes. |
| Fixed window icons on X servers that have truecolor and |
| pseudocolor visuals with different depths. |
| Fixed text rendering on exported displays. |
| |
| - QXIMInputContext |
| Fixed crash in XIM code with newer x.org libraries. |
| Fixed support for switching input method styles. |
| |
| - QX11Embed |
| Exported QX11Embed (see the Important Changes section |
| above). |
| Improved handling of non-XEmbed clients. |
| Improved geometry and focus handling. |
| |
| |
| UNIX: |
| |
| - QPageSetupDialog |
| Reduced the size of the dialog. |
| |
| - QPrintDialog |
| Fixed initialization of color and grayscale radio buttons. |
| |
| - QProcess |
| Fixed incorrect notification of process termination on |
| Linux kernels up to and including the 2.4 series. |
| Made QProcess emit an error() when failing to launch a |
| program. |
| |
| |
| Mac OS X: |
| |
| - QApplication |
| Fixed widgetAt() to handle transparent widgets. |
| Handle keyboard events in the active window if no focus |
| window is available. |
| Changed wheel mouse scrolling speed to match that of |
| other applications. |
| |
| - QComboBox |
| Fixed rendering of combobox frames. |
| |
| - QDnD |
| Fixed URL handling. |
| |
| - QClipboard |
| Fixed Junk at end of pasted text on Qt/Mac. |
| |
| - QCursor |
| Fixed incorrect pixmap handling. |
| |
| - QFileDialog |
| Fixed sheet modality issues to prevent the dialog from being |
| hidden behind other windows. |
| |
| - QFont |
| Default to using the Geneva font. |
| Enable kerning and fix Arabic text handling. |
| |
| - QLibraryInfo |
| Fixed location of qt.conf in Mac OS X bundles. |
| |
| - QMacStyle |
| Improvements to rendering accuracy of comboboxes, tab bars, |
| workspace windows, tool buttons, and push buttons. |
| Fixed incorrect drawing of scrollbars with "inverted |
| appearance". |
| Fixed font-related crash for applications configured to |
| use the standard desktop settings. |
| |
| - QMenu |
| Improved menu bar handling on navigation dialogs. |
| |
| - QMenuBar |
| Improved menu bar hiding/wrapping behavior. |
| |
| - QPaintDevice |
| Removed byte order assumptions. |
| |
| - QPaintEngine |
| Improved brush handling, clipping, masking, and tiling |
| operations. |
| |
| - QPixmap |
| Improvements to pixmap copying and conversion, masking, and |
| alpha channel handling. |
| Removed byte order assumptions. |
| |
| - QPrintEngine |
| Made color printing the default behavior. |
| |
| - QSettings |
| Sync the application's setting on construction of a |
| QSettings object. |
| |
| - QSysInfo |
| Included enum values for Mac OS X codenames in the |
| MacVersion version enum. |
| |
| - QWidget |
| Improved mouse event handling. |
| Improved interoperability between modal widgets. |
| |
| |
| Tools |
| ----- |
| |
| - uic3 |
| Fixed class name handling when used in "-convert" mode. |
| Fixed vertical space issues with .ui files converted from |
| Qt 3 to Qt 4. |
| Improved support for Qt3Support widgets. |
| Improved support for deprecated enums. |
| Added a generator for dependencies in Qt 3 .ui files. |
| |
| - rcc |
| Added better error reporting. |
| |
| - uic |
| Added code generation for tab attributes. |
| Fixed text codec handling. |
| Used UTF-8 as the default enconding in .ui files. |
| Fixed code generation for QWizard. |
| |
| |
| Documentation |
| ------------- |
| |
| Porting: |
| |
| Removed QMovie from the list of implicitly shared classes that were |
| previously explicitly shared. |
| |
| Added .ui porting document to the 4.0.1 documentation. |
| |
| Added sections about QHBox, QVBox, and QGrid to the porting guide. |
| |
| Added QImageIO and QMovie to the porting guide. |
| |
| Added QRegExp and some QDir functions to the porting guide. |
| |
| Added QObject::objectTrees() to the porting guide. |
| |
| Added QPopupMenu to the porting guide. |
| |
| |
| General: |
| |
| Fix documentation of amortized container behavior. |
| |
| Added information about using specific compilers to build Qt. |
| |
| Removed QtMotif documentation because it is now part of Qt Solutions. |
| |
| Clarify parent-child relationship within QThreads. |
| |
| Documented potential file name clashes when using precompiled headers. |
| |
| Added a Windows XP gallery. |
| |
| Added pages to contain lists of classes for each Commercial Edition. |
| |
| Reintroduced the QAssistantClient documentation as part of the |
| QtAssistant module. |
| |
| Added missing Qt Designer API documentation. |
| |
| - QApplication |
| Documented correct use of QApplication::setStyle(). |
| |
| - QComboBox |
| Made removeItem() and setRootModelIndex() visible in the |
| documentation. |
| |
| - QMetaObject |
| Added missing documentation for QGenericArgument and |
| QGenericReturnArgument, making them visible in the |
| documentation, but not recommended for casual use. |
| |
| - QPainter |
| Make QPainter::setRedirected() visible and fix its |
| description. |
| |
| - QSqlDatabase |
| Document what happens when passing an existing connection |
| name to addDatabase(). |