mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2024-11-30 07:46:51 +08:00
541 lines
18 KiB
Groff
541 lines
18 KiB
Groff
|
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
|