Changes 3.0.6
Qt 3.0.6 is a bugfix release. It maintains both forward and backward
compatibility (source and binary) with Qt 3.0.5
****************************************************************************
* General *
****************************************************************************
BINARY COMPATIBILITY WARNING: Qt 3.0.6 is backward and forward binary
compatible with Qt 3.0.5, and is planned to be binary compatible with
Qt 3.1. Unfortunately Qt 3.0.5 is not 100% backward binary compatible
with Qt 3.0.4 (a class got a few bytes smaller), meaning executables
compiled with 3.0.5 may not run properly when linked dynamically to
3.0.4. at runtime. Due to its wide distributed in various GNU/Linux
distributions, we have decided to stick with 3.0.5's ABI. If you ship
dynamically linked executables, we suggest putting a QT_REQUIRE_VERSION
macro at the beginning of your main function:
...
#include <qmessagebox.h>
...
int main( int argc, char **argv )
{
QT_REQUIRE_VERSION( argc, argv, "3.0.5" )
...
}
The macro will show a message box with a warning message and then
abort the application gracefully with exit(1).
****************************************************************************
* Library *
****************************************************************************
- QAccessible
Windows only: No sound for message boxes without icons.
- QAction:
Implemented resetting QAction's iconSet property, if a
null-iconset is passed as argument. Don't update when nothing
has changed.
- QActionGroup:
Synchronize comboboxes correctly for groups with separators.
Set the initial currentItem of comboboxes to the action that
is on when adding the group. Emit the activated signal for
non-toggle actions selected from a combobox. Apply the state
of the action group for new widgets.
- QApplication:
Windows only: Reserve more space for very long application
filenames.
- QAquaStyle:
Mac only: Eliminate drawing artifacts for lineedits. Fixed
painting headers.
- QCanvas:
setBackgroundPixmap( QPixmap() ) now clears the background
pixmap.
- QCheckBox:
Fixed sizeHint() to be wide enough when showing a pixmap.
- QCheckTableItem:
Implemented sizeHint(). Use the colorgroup passed in for the
background color instead of the viewport's colorgroup.
- QColor:
Make empty names invalid in setNamedColor().
Windows only: Fixed palette allocation and ManyColor mode.
- QComboTableItem:
Implemented sizeHint().
- QDataTable:
Fixed cancelling inserts/updates with the Esc key. Windows
only: If confirmation is switched on and the user cancels an
update by clicking in a different field, don't change the
current row. Made QDataTable respect read-only columns. Made
adjustColumn() work properly.
- QDateTime:
QDate::fromString( date.toString(Qt::TextDate), Qt::TextDate )
now works for locales where weekdays aren't three letters
(e.g. Dutch).
- QDesktopWidget:
Windows only: Allow explicit creation of QDesktopWidgets.
- QDir:
Windows only: Reset the directory list before returning from
the floppy-drive-case. Return a backslash from QDir::separator.
- QDockWindow:
Fixed getting the coordinates right when moving dockwindows
when there are toplevel dock areas. Don't pass window
activation around unnecessarily when the activation is ignored
anyway (this fixes repaint errors when dragging dock windows
on Windows). Remove floating windows from internal lists when
deleting.
- QDomDocument:
The indent argument of the QDomNode::save() function now works
properly for recursive subnodes as well.
- QFileDialog:
Windows only: Improved population speed. Works properly with
network paths.
- QFileInfo:
Windows only: Fix crash when calling doStat() with a null file
name. Lookup file permissions for the current user, not for
the owner.
- QFtp/QUrlOperator
Files of size 0 can now be uploaded.
- QGLContext:
Added a workaround to get overlays to work on ATi FireGL cards.
Windows only: If the current context was swapped without Qt's
knowledge it was impossible to actually reset the context
properly.
- QHeader:
Draw the sort arrow at the right position with multi-line
header labels. Respect the orientation in
sizeHint(). Repainting fixes.
- QIconView:
Improved Key_Up/Key_Down navigation. Optimize updates on
focus/window activation changes. Prevent double insertion, and
reset iconview to zero when taking out an item.
- QLibrary:
Unix only: Compile for a.out platforms.
Windows only: Only append ".dll" extension if no extension has
been provided.
- QLineEdit:
Fixed undo redo when selecting text and replacing it with
new text. Allow AlignHCenter and AlignRight for Password'ed
lineedits. Don't ignore changes of alignment after setting it
to AlignJustify once. Fixed background.
X11 only: Clear line edit with CTRL+U.
- QListBox:
Don't call ensureCurrentVisible() in resizeEvent unless the
current item was visible when you started resizing. Fixed
contextMenuRequested() signal emission (the item parameter was
sometimes wrong). Don't select items that are not selectable.
- QListView:
Emit expanded() and collapsed() _after_ the items have been
expanded or collapsed and all calculations have beed
done. Don't call cancelRename() when the rename was
OK'd. Don't paint contents when columns() == 0. When showing a
tooltip make sure it's only for that column and not for the
whole item. Set sorting to dirty after renaming an item.
- QMainWindow:
Emit dockWindowPositionChanged() from moveDockWindow(). Close
all the main window's floating dockwindows in the close event.
- QMultiLineEdit:
Fixed cursorPoint().y().
- QMYSQLDriver:
Prevent warnings to be emitted when dealing with date/time
fields that have NULL values.
- QOCIDriver:
Fixed a memory leak. The environment, error and service
handles were only released if a connection to a database was
made.
- QODBCDriver:
Fixed two memory leaks. Fixed support for reading/writing
BLOBs through ODBC. Added support for connecting to a file
DSN. Added a workaround that makes the QODBC driver work with
Informix ODBC under unixODBC. Made the PostgreSQL ODBC driver
work properly.
- QPixmap:
X11 only: Allow QPixmap::grabWindow to work on a screen other
than the default one.
Windows only: Fixed grabWindow() which grabbed one pixel too
many. Fixed the rendering and formatting of centered text that
ended with a newline.
- QPopupMenu:
Added Shift+Key combination to auto accelerators. Draw submenu
items disabled if the submenu is disabled.
- QProcess:
Unix only: Avoid zombie processes if you try to start a
non-existent program. Don't eat the file descriptors if a lot
of processes (with short runtimes) are started immediately
one after the other.
Windows only: make the tryTerminate() function work for
windows applications (it still does not work for console
applications, though).
- QPrinter:
Windows only: Fixed printing 32-bit images.
- QPSQLDriver:
Prevent warnings to be emitted when dealing with date/time
fields that have NULL values.
Windows only: Make the driver compile with the standard
PostgreSQL source distribution under Windows.
- QRadioButton:
Fixed sizeHint() to be wide enough when showing a pixmap.
- QSettings:
Correct documentation for removeEntry.
Windows only: Fixed off-by-one for keys ending with a slash.
- QSocket:
Fixed crash when readBlock() returns 0.
- QTable:
Less flicker in table headers. Fixed emitting
selectionChanged() when selecting cells with the mouse. Crash
fix. Fixed adjustRow() and adjustColumn() for multi-span
cells. Don't allow the current row/column to be larger than
the number of rows/columns in a table. Set the table of the
item in insertItem() correctly. Reset table pointer to zero
when taking item out of the table. Fixed Tab/BackTab handling.
- QTextEdit:
Return a useful default in paper(). Support
paletteBackgroundColor properly. Fixed ensureCursorVisible()
if the text is not completly formatted yet. Crash fix when
word wrapping, backspacing and adding a new paragraph. Fixed
repaint problems.
Windows only: CTRL+Key_A (select all) now also works in a read
only text edit.
- QThread:
Windows only: Avoid unnecessary call to TerminateThread.
- QToolButton:
Toolbuttons with popups that have a margin align the popup
correctly.
- QToolTip:
Make sure the tooltip is displayed on the correct screen (i.e.
on multi-head systems) for big widgets.
- QTranslator:
Better error checking when loading .qm files.
- QUrl:
Recognize Windows drive letters not only in the form of "c:/"
but also in the form "c:", (i.e. without the '/').
- QVariant:
QDate can convert to QDateTime.
- QWidget:
Pass the old activation state to
windowActivationChange(). Avoid endless loops when a popup
widget refuses to close.
- QWindowsStyle:
Made the Windows style use the system's scrollbar width.
- Richtext Engine:
append() starts a fresh new paragraph and clears list item and
depth properties. Parse all entities up to 8
characters. Optimized text drawing speed. Many rendering fixes
and improvements. Parsing fixes.