Qt 3.0 Beta4 is not binary compatible with Beta3; any programs linked against Beta3 must be recompiled. Below you will find a description of general changes in the Qt Library and Qt Designer followed by a detailed list of changes in the API. The Qt Library ======================================== Documentation ------------- The extensive revision of the documentation is almost complete. We have added new navigation options, including a shorter list of classes entitled Main Classes. Translations ------------ Qt now includes French and German translations of the Qt library, as well as a template for translating Qt. These files are found in the translations directory of Qt, in both .ts and .qm formats. Style Fixes ----------- Qt 3.0.0 beta2 introduced a new QStyle API. This new API has changed between beta3 and beta4. These changes will affect both widget writers and style writers. The QStyle entry below explains what has changed. Beta4 also introduces some fixes for bugs introduced during the port to the new API in various widgets, notably QComboBox and QSlider. LiveConnect Plugin ------------------ A few bugs were fixed in the LiveConnect Plugin so that the grapher example works again on Windows. Qt Designer ======================================== - General usability improvements and bug fixes, and improved file and project handling. - Updated designer manual to cover the .ui.h mechanism. - New auto-indentation algorithm in the code editor. Qt Assistant ======================================== - Added a Settings dialog and made more features customizable. - Sessions are now saved and restored. - A brief introduction to using Qt Assistant is now included. Qt Linguist ======================================== - Phrase books are now provided in tools/linguist/phrasebooks. - Added support for Qt Designer's .ui.h mechanism to lupdate. - Support for a larger subset of .pro file syntax in lupdate and lrelease. Qt Functions ======================================== QApplication ------------ - Ignore drag-and-drop events for disabled widgets. - Always send ChildRemoved events, even if no ChildInserted event was sent. - Mouse events for popup menus are now sent to event filters. QCanvasItem ----------- - The functions visible(), selected() and active() have been renamed setVisible(), setSelected() and setActive(). New functions: bool isVisible() const; bool isSelected() const; bool isActive() const; Removed functions: bool visible() const; bool selected() const; bool active() const; QCanvasText ----------- - Fixed alignment flags. QChar ----- New function: bool isSymbol() const; QCheckBox --------- - Fixed a bug in pixmap caching which could result in using the wrong pixmap. QCheckListItem -------------- - After a mouse click, the list view ignores the following double click as in Windows XP. QClipboard ---------- - Made clipboard operations faster on X11. QColorDialog ------------ - Never show scrollbars in the color array. QComboBox --------- - Comboboxes are now drawn correctly in all styles. - Fixed bug with auto completion. There was undefined behavior with non-editable comboboxes when changing focus. New function: virtual void setCurrentText( const QString& ); New property: QString currentText QDataBrowser ------------ - The setCursor() function is obsolete and will be removed for Qt 3 release due to the incompatibility with some compilers. Use setSqlCursor() instead. QDataTable ---------- - Dates and times in tables can now be displayed in different display formats. - The setCursor() function is obsolete and will be removed for Qt 3 release due to the incompatibility with some compilers. Use setSqlCursor() instead. QDateEdit --------- - The default separator and the day-month-year order respect the user's settings. - Pressing the separator key now skips to the next section. - Fixed a usability flaw related to some months being longer than others. New functions: QString separator() const; virtual void setSeparator( const QString& s ); QDateTime --------- - Always initialize the tm struct completely. This fixes a problem on some versions of Unix. QDir ---- - QDir::homeDirectory() now always returns an existing directory on Windows. QDockWindows ------------ - Fixed dockwindows created in non-dock areas. - Fixed constructor if InDock and the parent is a QMainWindow. QDom... ------- - Fixes in the conversion of the DOM tree to a string. QDomNodeList ------------ - Fixed a crash. QFileDialog ----------- - Select contents of the line edit at startup (if any) so that the user can overwrite the provided file name right away. QFileInfo --------- - In adition to lastModified() and lastRead(), provide created(). New function: QDateTime created() const; QFont ----- - Provide more correct font metrics under X11. - Worked around X11 limits on length of strings to draw and on coordinate sizes. - Fixed sone point vs. pixel size issues under X11. - Added PreferAntialias and NoAntialias flags to StyleStrategy enum type. QFtp ---- - Fixed a QSocket bug that made QFtp crash if the connection was refused. - Fixed operationRename() and operationRemove(). - Set the right state when finished. QGIFFormat ---------- - Support GIF files with broken logical screen size. QHeader ------- - Added support for '\n' in header labels. - Improved placement of icon. QHttp ----- - If the status code of the reply is an error code, it is now also reflected in the status of the network operation. The error handling in general was improved. QImageIO -------- - Allow gamma correction to be set programmatically. New functions: void setGamma( float gamma ); float gamma() const; QKeyEvent --------- - Worked around an X11 bug in isAutoRepeat(). QKeySequence ------------ A new class that encapsulates a key sequence as used by accelerators. QLabel ------ - Made the WordBreak alignment property work with rich text labels in addition to plain text labels. QLayout ------- - Fixed crashes with deleting widgets managed by the layout. - Fixed problems with reparenting widgets managed by the layout. - Respect maximumHeight() of items in heightForWidth(). QLibrary -------- - Plugins now return the version number, threading model and debug vs. release mode of the Qt library used in ucm_initialize(). If there is any kind of incompatibility, cancel the loading. QLineEdit --------- - Update the "edited" flag and the accessibility data better than before. - Fixed setMaxLength(). - Fixed context menu problem on Windows. New functions: bool isUndoAvailable() const; bool isRedoAvailable() const; QListViewItem ------------- - Fixed setVisible(TRUE) which triggered an update too soon. QMenuBar -------- - Cancel alt-activation of menubar on mouse press/release. - On wheel events, all popup menus are now closed instead of hidden. Hiding popup menus confused QMenuBar. QObject ------- - Have QObject dispatch events to customEvents(). QPainter -------- - Renamed the enum type ClipMode to CoordinateMode. The enum values ClipDevice and ClipPainter are now called CoordDevice and CoordPainter. - Fixed escaping of ampersand character, so "&&", "&&&", etc., now work as they did in Qt 2.x. New functions: void drawPixmap( const QRect& r, const QPixmap& pm ); void drawImage( const QRect& r, const QImage& img ); QPicture -------- - Respect the size of a loaded SVG document. - Solved a replay-transformed-picture problem. - Fixed format version number. QPluginManager -------------- - Fixed crash when loading a plugin fails. QPopupMenu ---------- - Custom menu items that are separators now see their size hint respected. - Fixed crash when drawing an empty popup menu. QPrinter -------- - Better printing in different resolutions under both Windows and X11. - Support for collation under Windows and X11. - Correct bounding rectangles for texts in all printer modes. - Fixed pixmap printing on Windows. - Fixed PostScript font names for fonts with foundries. - Support for PostScript printing of scaled images. New functions: bool collateCopiesEnabled() const; void setCollateCopiesEnabled( bool enable ) const; bool collateCopies() const; void setCollateCopies( bool on ); int winPageSize() const; /* Windows only */ QProcess -------- - The function hangUp() was renamed to tryTerminate() to make the purpose more clear. Furthermore, under Unix, the signal that is sent was changed from SIGHUP to SIGTERM. - The function kill() and the function tryTerminate() (formerly hangUp()) were made slots. New slots: void tryTerminate(); void kill(); Removed functions: void hangUp(); void kill(); QProgressBar ------------ - Draw the progress bar correctly with respect to the properties "percentageVisible", "indicatorFollowsStyle" and "centerIndicator". QPtrVector ---------- - Support null items without triggering an assert. QPushButton ----------- - Fixed the sizeHint() of buttons with an icon. QRegExp ------- - Fixed a subtle bug in regular expressions mixing anchors and alternation. QRegion ------- - Don't crash when creating a QRegion from an empty point array. QRichText --------- - Improved alignment support, including nested alignments. - Improved table margin support. - Improved page break algorithm. - Do not eat '\n' in preformatted items. - Do not draw the internal trailing space at the end of a paragraph. - Fixed link underlining in table cells and other subdocuments. - Use larger vertical margin between paragraphs. - Display paragraph spacing even when printing. - Support vertical table cell alignment. - Fix for floating items and table cell size calculation. - Improved allignment handling. - Offset fixes for tabs. - Better