Revision control

++ 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 <div> support.
++ - Fixed <br> tag.
++ - Fix for the <center> tag and centering tables.
++ - Fixed &nbsp; and <nobr>.
++ - Fixed off-by-one bug in gotoWordLeft() and gotoWordRight().
++ - Better positioning of super- and subscripts.
++ - Faster printing of large tables by using a clipping rectangle.
++ - Improved high-resolution printing.
++ - Correct sizes for images when printing.
++ - Fixed list painting when printing.
++ - Use right background for printing.
++
++ QScrollBar
++ ----------
++
++ - Made setValue() a slot.
++
++ New slot:
++ void setValue( int );
++
++ Removed function:
++ void setValue( int );
++
++ QSettings
++ ---------
++
++ - Added support for QStringLists without requiring a distinct
++ separator.
++ - Added support for null strings, empty lists and null strings in
++ lists.
++ - Fixed bug with values ending with a backslash.
++ - On Unix, don't overwrite files if the user doesn't have permission.
++
++ QSimpleRichText
++ ---------------
++
++ - Implemented vertical breaks and floating elememts.
++ - Fixed bug with borders and clipping in printing.
++ - Fixed bug in adjustSize() cache.
++
++ QSizePolicy
++ -----------
++
++ - Stretch factors were added to QSizePolicy.
++ - Added a new size policy: Ignored.
++
++ New functions:
++ uint horStretch() const;
++ uint verStretch() const;
++ void setHorStretch( uchar sf );
++ void setVerStretch( uchar sf );
++
++ QSpinBox
++ --------
++
++ New slot:
++ virtual void selectAll();
++
++ QSqlDatabase
++ ------------
++
++ - QSqlDatabase now provides access to meta-data. Meta-data is stored
++ in two new classes, QSqlFieldInfo and QSqlRecordInfo. See the
++ class documentation for details.
++
++ New Functions:
++ QSqlRecordInfo recordInfo ( const QString & tablename ) const
++ QSqlRecordInfo recordInfo ( const QSqlQuery & query ) const
++
++
++ QSqlFieldInfo
++ -------------
++
++ A new class that stores meta data associated with a SQL field.
++
++ QSqlRecordInfo
++ --------------
++
++ A new class that is keeping a set of QSqlFieldInfo objects.
++
++ QStatusBar
++ ----------
++
++ - Don't cut off the bottom line of the border of the status bar.
++ - Respect maximumHeight() of items in the status bar.
++
++ QString
++ -------
++
++ - QString now provides section(), a function that parses simple
++ fields.
++ - The function similarityWith() has been removed from the API. If
++ you need it, write to qt-bugs@trolltech.com.
++
++ New functions:
++ QString section( QChar sep, int start, int end,
++ int flags = SectionDefault ) const;
++ QString section( char sep, int start, int end = 0xffffffff,
++ int flags = SectionDefault ) const;
++ QString section( const char *substr, int start, int end = 0xffffffff,
++ int flags = SectionDefault ) const;
++ QString section( QString substr, int start, int end = 0xffffffff,
++ int flags = SectionDefault ) const;
++ QString section( const QRegExp &regxp, int start, int end = 0xffffffff,
++ int flags = SectionDefault ) const;
++
++ Removed function:
++ int similarityWith( const QString& target ) const;
++
++ QStyle
++ ------
++
++ - Changed "void **" technique to QStyleOption technique. This
++ affects the interface of most of the QStyle member functions.
++ Please read the QStyle class documentation for details.
++
++ QStyleOption
++ ------------
++
++ A new class that encapsulates extra data sent to the style API.
++
++ QTabBar
++ -------
++
++ - The accelerators are now working correctly after changing a tab.
++
++ QTable
++ ------
++
++ - Fixed crash related to popup menu and cell edition.
++ - Fixed not-drawing hidden cells.
++
++ QTextCodec
++ ----------
++
++ - Added MIME names for codecs.
++ - Improved locale detection.
++ - Fixed the ISO 8859-6.8x (Arabic) font encoding.
++
++ New function:
++ const char *mimeName() const;
++
++ QTextStream
++ -----------
++
++ - Fixed bug with stateful QTextEncoders.
++
++ QTextEdit
++ ---------
++
++ - Respect disabling updates.
++ - Fixed link underlining in table cells and other subdocuments.
++ - Draw cursor on focus in.
++ - Emit cursorPositionChanged() where it previously was missing.
++ - Fixed sync().
++
++ New functions:
++ bool isUndoAvailable() const;
++ bool isRedoAvailable() const;
++ bool isUndoRedoEnabled() const;
++ virtual void setUndoRedoEnabled( bool enabled ) const;
++
++ New property:
++ bool undoRedoEnabled
++
++ QThread
++ -------
++
++ - Fixed QThread::sleep() on Unix.
++
++ QTime
++ -----
++
++ - fromString() with format Qt::ISODate now recognizes milliseconds
++ if they are specified.
++ - Make elapsed() a const function.
++
++ QTimeEdit
++ ---------
++
++ - The default time separator respects the user's settings.
++ - Pressing the separator key now skips to the next section.
++
++ New functions:
++ QString separator() const;
++ virtual void setSeparator( const QString& s );
++
++ QTooltip
++ --------
++
++ - Hide active tooltips when the user switches to another application.
++ - Fixed tooltips with Windows effects enabled.
++
++ QUrl
++ ----
++
++ - Fixed password encoding.
++
++ New function:
++ bool hasPort() const;
++
++ QValidator
++ ----------
++
++ - Let QValidator, QIntValidator, QDoubleValidator and
++ QRegExpValidator have QObject parents rather than only QWidget
++ parents.
++
++ QVariant
++ --------
++
++ - Added QBitArray support.
++ - The QDateTime type now supports asDate() and asTime().
++ - The QByteArray type now supports toString().
++
++ New functions:
++ QVariant( const QBitArray& );
++ const QBitArray toBitArray() const;
++ QBitArray& asBitArray();
++
++ QWhatsThis
++ ----------
++
++ - Added support for hyperlinks in "What's This?" help windows.
++
++ QWidget
++ -------
++
++ - Fixed crashes related to LayoutHint events.
++
++ QWizard
++ -------
++
++ - Made removePage() behave as documented.
++ - Fixed back() so that it skips irrelevant pages like next().
++
++ QWorkspace
++ ----------
++
++ - Make sure that the widget state is set before the first titlebar
++ painting is triggered.
++ - Use the right pixmap for titlebar.
++ - Respects widget flags better for titlebars in QCommonStyle.
++ - Fixed move and resize in the system menu bar of workspace
++ children.
++
++ QXml
++ ----
++
++ - Made the "prefix" xmlns map to the namespace name
++ - Fixed default namespaces.
++
++ QXmlAttributes
++ --------------
++
++ - Added count() as equivalent to length() to be consistent with Qt
++ conventions.
++
++ New function:
++ int count() const;