Revision control
++ Qt 3.0.1 is a bugfix release. It maintains both forward and backward
++ compatibility (source and binary) with Qt 3.0.0
++
++
++ ****************************************************************************
++ * General *
++ ****************************************************************************
++
++ - Style Engine fixes
++ Qt 3.0 introduced a new and more flexibile style engine. This
++ release should fix most of the small visual flaws that the new
++ styles introduced. It also greatly improves appearance in
++ right-to-left mode.
++
++ - MS-Windows XP
++ This is the first release to fully support Windows XP,
++ including the new themable GUI styles.
++ The Windows XP style can only be built as a plugin, which requires
++ Qt to be configured as a shared library. To build the plugin
++ you must install a Microsoft Platform SDK for October 2001
++ or later. Your INCLUDE and LIB environment variables must
++ point to the respective directories in the SDK installation.
++
++ - Reverse (right-to-left) layouts
++ Many classes have improved support for right-to-left layouts.
++
++ - Compile fixes
++ Solaris 7 Intel, g++ version 2.8.1.
++
++ - Documentation updates
++ Some new and improved diagrams and minor textual revisions.
++
++ - Mac only: Drag'n'drop
++ Mac only: QDropEvents can decode HFS flavors.
++
++ - X11 only: Multi-head (multi-screen) improvements
++ Support for different TrueColor depths on each head (screen).
++ Drag'n'drop support across multiple screens. Tooltips always
++ stay on the correct screen. Improved OpenGL support on
++ multiple screens. Qt 3.1 will support different color depths
++ on every screen (e.g. one TrueColor screen, one 8-bit
++ PseudoColor and one 8-bit GreyScale).
++
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ - QAction
++ Fixed a memory leak in conjunction with action accelerators.
++ Turn toggle actions off when toggling is turned off with
++ setToggleAction(FALSE);
++
++ - QApplication
++ Shared double buffers are cleaned up on destruction.
++ Creating and using multiple QApplications in the same process
++ is supported.
++ - Solaris only: Default to the Interface System font (which is
++ the default for the CDE)
++ - Win32 only: When WM_QUERYENDSESSION is received, _flushall
++ is called to ensure that all open streams and buffers are
++ flushed to disk (or to OS's buffers).
++ Better support for more input methods (e.g. Chinese).
++ Enter events are not propagated to modally blocked widgets.
++ Key_BackTab events are generated rather than Shift+Key_Tab.
++ Floating toolbars are blocked when the application is modal.
++ Move and Resize are disabled in the system menu for
++ maximized toplevel windows
++ - WinXP only: WM_THEMECHANGED messages are handled; widgets
++ are repolished with the appropriate style.
++ - X11 only: Removed misleading warning message for main
++ widgets on heads (screens) other than the default head.
++ Input context: Solved a memory leak in Xlib, and saved a
++ server round trip when updating the microfocushint.
++ Worked around some broken XmbLookupString implementations
++ that do not report buffer overflows correctly.
++ Key events are never given to a widget after clearFocus()
++ has been called for that widget; this is the same behavior
++ as Windows.
++
++ - QAquaStyle (MacOS X only)
++ More optimizations and several minor visual bugs fixed.
++
++ - QCanvas
++ Erase any exposed empty space when shrinking the canvas.
++
++ - QCanvasPixmapArray
++ Initialize the framecount to 0.
++
++ - QCanvasView
++ Optimize background pixmaps: potentially they were drawn
++ twice, first untranslated then translated.
++
++ - QClipboard (X11 only)
++ The race conditions that cause KDE to lock-up occasionally
++ should now be fixed.
++
++ - QComboBox
++ Fixed behavior with non-selectable items. Fixed a crash when
++ calling setCurrentItem(-1). Fixed autoscrolling when dragging
++ the mouse directly after opening the dropdown.
++
++ - QColor
++ Make invalid named colors return a non-valid QColor (as
++ documented).
++
++ - QColorDialog (Win32 only)
++ Use WStyle_DialogBorder, since resizing this dialog does not
++ make much sense.
++
++ - QCommonStyle
++ Respect QApplication::globalStrut() in scroll bars. Support
++ reverse layout in QTitleBar.
++
++ - QCursor
++ Safer cleanup of cursor shapes (avoids possible free'd memory
++ read)
++ - Win32 only: fixed application override cursor with mouse
++ grabbing.
++
++ - QDate
++ Fixed some possible overflows.
++ - Win32 only: Improve locale support for short day and month
++ names etc. Initialize milliseconds correctly.
++
++ - QDateTimeEdit
++ Display AM/PM if set by locale. Improved sizeHint().
++
++ - QDockAarea
++ More reliable sizeHint(). Better support for reverse layouts.
++
++ - QDockWindow
++ Emit the placeChange() signal more reliably. Avoid floating
++ docks popping up everywhere before they have been positioned
++ and laid out.
++
++ - QDesktopWidget
++ - X11 only: When using normal dualhead (not Xinerama), make
++ sure we report the correct screen number.
++ - Win32 only: refresh on WM_DISPLAYCHANGE.
++
++ - QFrame
++ New panel styles LineEditPanel and TabWidgetPanel. This was
++ required by the new for Windows XP support.
++
++ - QFileDialog
++ Show unicode filenames to the user rather than encoded ASCII
++ (e.g. previously latin1 characters were shown as "%XX"
++ escapes).
++ Fixed multiple-selection of FTP files.
++ Emit signal fileHighlighted in existingfile mode.
++ - Mac only: Fixed existingFolder(). Fixed window position so
++ that it will never fall outside the screen.
++ - Win32 only: since files, directories and drives are not case
++ sensitive, we don't add an extra entry in the paths box if
++ the path already exists but with different case.
++
++ - QFileInfo (Unix only)
++ Make sure that symlinks pointing to invalid/non-existing
++ targets are reported as symlinks.
++
++ - QFont
++ Ensure a rounded-off value is returned from pointSize().
++ - x11 only: improved line width calculation. Fixed off by one
++ error in interpreting Xft font extents. Allow the use of
++ both Xft and non Xft fonts in the same application. Make
++ sure fonts are antialiased by default when using
++ xftfreetype.
++
++ - QFontDialog
++ Prevent re-laying out when the size of the preview label
++ changes.
++
++ - QFtp
++ In parseDir(), do not compare English month names to
++ shortMonthName(), since the latter is localized.
++
++ - QGList
++ Make self-assignments work.
++
++ - QGLWidget
++ Fixed ARGB to RGBA conversion on BigEndian systems.
++ - Win32 only: fixed colormap for 8-bit RGBA GL mode.
++ - X11 only: multiple heads with different color depths fixes.
++
++ - QHebrewCodec
++ Assume the bidi algorithm is a reversible operation for the
++ visual 8859-8 codec. This is not true for very complex strings
++ but should hold in most cases.
++
++ - QIconSet
++ Fixed detach() to really detach the internal pixmaps. In case
++ no image formats are installed, show black pixmaps rather than
++ ASSERT.
++
++ - QImage
++ Allow 16-bit DIBs. Allow > 32767 level PNMs.
++ Fixed smoothscale() for the following bug: whenever
++ (new_width / original_width * 4096) is not an integer the last
++ column of the scaled image is black.
++
++ - QImageIO
++ Fixed plugin loading in cases where the image format is
++ explicitly defined.
++
++ - QInputDialog
++ Disable the OK button when input is not Acceptable.
++ (See QValidator.)
++
++ - QLabel
++ When showing rich text with tables (via QSimpleRichtext),
++ avoid drawing the table background.
++
++ - QLayout
++ In reverse layout mode: fix off by one error when laying out
++ right to left or bottom to top.
++
++ - QLineEdit
++ Fixed offset calculation for horizontal scrolling. Invoke
++ validator when the user presses Backspace or
++ Delete. Compression of the undo/redo stack fixed. Security: do
++ not reveal the position of spaces with Ctrl+RightArrow or
++ Ctrl+LeftArrow in password mode.
++
++ - QListBox
++ Append items at the proper position even after sorting the
++ content. Made QWidget::setBackgroundMode() work correctly.
++
++ - QListBoxPixmap
++ Use the function pixmap() when drawing the pixmap, so users
++ can reimplement QListBoxPixmap::pixmap().
++
++ - QListView
++ Fix misalignment of checkbox click zone. Make the selected and
++ focus rectangles cover the entire column for QCheckListItems
++ if the listview root is not decorated. Make
++ QWidget::setBackgroundMode() on the viewport work correctly.
++ Comply with user interface guidelines: clear the selection
++ when a click is in an empty area unless the Ctrl key is down.
++ Fixed possible crash when starting a rename with a double
++ click. Smarter ensureItemVisible(). Draw listview background
++ in paintEmptyArea() with the current style. Ensure the
++ listview always has a current item.
++
++ - QMainWindow
++ Better laying out of dockareas when they are all empty.
++ Otherwise an empty QMainWindow looks unappealing in a
++ workspace. Maintain the toplevel layout's resize mode.
++
++ - QMessageBox
++ Avoid double deletion if the parent is destroyed while the
++ messagebox is open. Support y/n/c shortcuts without needing
++ the Alt key modifier.
++
++ - QMovie
++ Allow pause() and restart() with MNG.
++
++ - QMultiLineEdit
++ Remove internal trailing space when returning a textline with
++ textLine(int) and querying lineLength(int).
++
++ - QPainter
++ The boundingRect() should now work properly for the
++ combination richtext, right-aligned and an empty initial rect.
++ Handle DontClip-flag in the painter's complex drawText()
++ function. Reset the cached composition matrix (and inverse)
++ when reinitialising a painter.
++
++ - QPicture
++ Fixed the loading of binaries from older Qt versions.
++
++ - QPixmap
++ grabWidget(): when the widget sets WRepaintNoErase it might
++ erase itself with the non-redirected QWidget::erase(); restore
++ those areas.
++ - X11 only: (with XRENDER extension) when copying a pixmap,
++ bitBlt the entire data into the new pixmap instead of using
++ alpha composition.
++
++ - QPopupMenu
++ Fixed strange side effects with the menu effects. Support
++ minimumSize() for popups. Fixed a navigation issue where
++ Key_Right under certain circumstances was not propagated to
++ the menu bar. Speedups when disabling/enabling menu items
++ before showing them.
++ - X11 only: Fixed mouse and keyboard grabbing side effects
++ with popup menu effects enabled.
++
++ - QPrintDialog (built-in dialog)
++ Use the text in the lineedit for the file dialog.
++
++ - QPrinter
++ Fixed crash when printing with incomplete combined unicode
++ fonts.
++ - Win32 only: fixed a very rare and mysterious crash.
++
++
++ - QPSPrinter
++ Make sure the fontPath is read correctly by the postscript
++ driver, and the qtconfig program. Small memory leaks closed.
++ Better support for Asian printing. Limit line length of
++ Postscript DSC comments to 255 chars (as per the postscript
++ specification).
++
++ - QRichText
++ Fixed handling of  . Support both <qt title="..."> and
++ <title>. Avoid painting \n at the end of lines (these
++ sometimes appeared as an empty unicode box). Fixed find() in
++ "whole words only" mode. Fixed unicode auto alignment. Made
++ cursor movement in BiDi paragraphs compliant with MS-Windows.
++ Fixed paragraph right and center alignments when using <br>
++ tags. Fixed superscript/subscript confusion.
++
++ - QScrollBar
++ Allow scrolling with modifier keys pressed.
++
++ - QScrollView
++ Made autoscrolling work with drag and drop. Never generate
++ paintevents that are outside the visible area.
++
++ - QSettings
++ - Unix only: search paths are valid for individual objects,
++ NOT every object (windows behavior). When reading files,
++ don't replace the old groups with contents of the new
++ groups; merge them instead. Properly escape backslashes and
++ newlines.
++ - win32 only: improved error handling. Fixed subKeyList() and
++ entryList() for empty paths.
++
++ - QSimpleRichText
++ Correctly transform clipping rectangle.
++
++ - QSizeGrip
++ Reverted sizeHint() to the old size to avoid making the
++ statusbar a tiny bit too big. Support right-to-left layout.
++
++
++ - QSgiStyle
++ Made the combobox arrow look nicer. Fixed disabled combobox
++ drawing.
++
++ - QSlider
++ Fixed click handling for reverse layouts.
++
++ - QSpinBox
++ Usability fix: when changing a value with the up/down arrow
++ keys or with the arrow buttons, select the new value.
++
++ - QSplitter
++ Use the actual QSplitter pointer as documented (and not a
++ QSplitterHandle pointer) as the parameter to the
++ QStyle::sizeForContents() call. Fixed reverse layouts when
++ splitter movement is constrained.
++
++ - QSqlRecord
++ Fixed double increment of the iterator in certain
++ circumstances.
++
++ - QString
++ Fixed QString::setLatin1() when the length parameter is 0.
++ - Unix only: Use strcoll() in QString::localeAwareSorting().
++ - Mac only: clarify that local8Bit() is always utf8().
++
++ - QStyle
++ New frame styles for tab widgets, window frames and line edit
++ controls. This was required by the new support for Windows XP.
++ Added SH_ScrollBar_StopMouseOverSlider style hint so that one can
++ turn on (or off) the ability to stop pageup/pagedown when the
++ slider hits the mouse (this is needed for Aqua on MacOS X).
++
++ - QSvgDevice
++ Many fixes for saving and restoring attributes that are not
++ part of QPainter. Processing of 'tspan' elements. Now uses
++ double instead of int for internal 'path' arithmetic for
++ better scaling results. Supports QPicture's coordinate
++ transformations.
++
++ - QTabBar
++ Fixed the focus rectangles and spacing with icons and label
++ texts.
++
++ - QTable
++ Improved layout in right-to-left mode. Fixed adjustRow() when
++ using header items with icon sets. Do not let hidden
++ columns/rows re-appear when adjusting. Update header correctly
++ when changing a table's dimensions. Correctly reset the
++ updatesEnabled flag in sortColumn(). Fixed modifying the
++ contents of a combobox or checkbox table item while it is the
++ current cell.
++
++ - QTableItem
++ Make sure an item cannot span over a table's maximum number of
++ rows and columns.
++
++ - QTabWidget
++ Constrain the sizehint to avoid having oversized dialogs.
++
++ - QTextCode
++ Rename iso8859-6-I to to 8859-6. The old name is still
++ supported for backwards compatibility.
++ - Win32: implemented locale().
++ - Mac: implemented locale().
++
++ - QTextDrag (Win32 only)
++ Performance improvements in encodedData().
++
++ - QTextEdit
++ Fixed HTML output. New property tabStopWidth. Fixed append()
++ and made it smarter: it only scrolls to the end if the view
++ was scrolled to the end before. Proper reformatting when
++ switching word wrap policies. Do not blink the cursor when the
++ textedit is disabled. Make isModified() return the new value
++ in slots connected to the modificationChanged() signal.
++ - X11 only: middle mouse selection pasting sets the cursor
++ position.
++
++ - QTextStream
++ Faster string output in latin1 mode.
++
++ - QThread
++ - Unix only: initialize threads in non-GUI mode as well.
++ - Win32 only: fixed the initial value of QThread::running().
++
++ - QToolButton
++ Fixed unwanted occurences of delayed popup menus.
++
++ - QUrlOperator
++ Fixed the cache, so that QUrlInfo::name() is set correctly for
++ renamed files. This bug also affected QFileDialog. More
++ careful check whether a file is writable before renaming or
++ deleting it.
++
++ - QValueVector
++ Make operator==() const. Fixed some sharing issues.
++
++ - QVariant
++ Fixed a few memory leaks when casting complex values to simple
++ types. Faster operator==().
++
++ - QWaitCondition (Win32 only)
++ Fixed wakeAll().
++
++ - QWhatsThis
++ Make QWidget::customWhatsThis() work with menu accelerators.
++ Avoid infinite loops with menu effects.
++
++ - QWidget
++ Fix default focus so that setTabOrder( X, Y ); setTabOrder( Y,
++ Z ); gives focus to X, not Y or Z. Closing a modal dialog with
++ a double click on a widget could result in a mouse release
++ event being delivered to the widget underneath; this has been
++ fixed.
++ Set/Reset WState_HasMouse on DragEnter/DragLeave.
++ - Win32 only: obey WPaintUnclipped. Make reparent() with 0,0
++ positions do the requested positioning.
++ - X11 only: when reparenting widgets to/from toplevel, make
++ sure the XdndAware property is set. Make input methods work
++ with servers other than kinput2. More fixes for 4Dwm's
++ incompliance with ICCCM 4.1.5 regarding geometry handling.
++ When hiding toplevel windows, we call XFlush() to avoid
++ having popup menus hanging around grabbing the mouse and
++ keyboard while the application is busy. Obey the 'erase'
++ value in repaint(const QRegion& reg, bool erase).
++
++ - QWindowsStyle
++ Various visual fixes, including fixes for right-to-left
++ mode. Most significantly the light source now comes from the
++ top left also in reverse layout the same as modern versions of
++ Windows.
++
++ - QWorkspace
++ Support document windows without title bars. Scroll to top
++ left corner when cascading/tiling a scrolled workspace. Define
++ a proper baseSize() for workspace children. Fix some side
++ effects with the workspace's maximize controls on Windows
++ style. Don't raise windows over scrollbars. Clients can now
++ call adjustSize() on the workspace when their sizeHint()
++ changes. When showing two scrollbars, maintain a solid corner.
++ Obey a document window's maximum size when tiling.
++
++ ****************************************************************************
++ * Extensions *
++ ****************************************************************************
++
++ NO CHANGES
++
++ ****************************************************************************
++ * Other *
++ ****************************************************************************
++
++ - qtconfig (X11 only)
++ It is now possible to turn Xft on and off, as well as turning
++ antialiasing-by-default on and off. This is necessary since
++ Xft doesn't work on dual head.
++
++ - moc
++ Q_PROPERTY: Support QMap<QString, QVariant> and
++ QValueList<QVariant> as "QMap" and "QValueList". Support
++ parameters of nested template types, for example
++ QValueVector<QValueVector<double> >, as well as
++ Foo<const int>.
++
++ - uic
++ Fix uic-generated code for QWizard with both "font" and
++ "titleFont" properties set. Put local includes after global
++ includes in generated files.
++
++ - lupdate
++ Allow translation of menubar items generated with Qt Designer
++ (e.g. "&File", "&Edit", etc.).
++
++ - libMNG
++ Updated to version 1.0.3.
++
++ - libPNG
++ Updated to version 1.0.12.
++
++ - Translations
++ Added Hebrew translations for Qt and the demo application.
++
++ - Qt Designer
++ Support 'Ignored' size policy. Support properties of type
++ 'double'. Fixed saving of custom widgets in toolbars. Various
++ smaller usability improvements.
++
++ - Qt Assistant
++ When users starts Qt Assistant themselves, always make a new
++ instance. Only use the unique-instance feature when invoking
++ from Qt Designer.
++
++ - QMsDev
++ Invoke Qt Linguist when opening a .ts file in Visual Studio.
++
++
++
++ ****************************************************************************
++ * Qt/Embedded-specific changes *
++ ****************************************************************************
++
++ NO CHANGES