dist/changes-3.0.1
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.0.1 is a bugfix release. It maintains both forward and backward
       
     2 compatibility (source and binary) with Qt 3.0.0
       
     3 
       
     4 
       
     5 ****************************************************************************
       
     6 *			    General					   *
       
     7 ****************************************************************************
       
     8 
       
     9 - Style Engine fixes
       
    10 	Qt 3.0 introduced a new and more flexibile style engine. This
       
    11 	release should fix most of the small visual flaws that the new
       
    12 	styles introduced. It also greatly improves appearance in
       
    13 	right-to-left mode.
       
    14 
       
    15 - MS-Windows XP
       
    16 	This is the first release to fully support Windows XP,
       
    17 	including the new themable GUI styles.
       
    18 	The Windows XP style can only be built as a plugin, which requires
       
    19 	Qt to be configured as a shared library. To build the plugin
       
    20 	you must install a Microsoft Platform SDK for October 2001
       
    21 	or later. Your INCLUDE and LIB environment variables must
       
    22 	point to the respective directories in the SDK installation.
       
    23 
       
    24 - Reverse (right-to-left) layouts
       
    25 	Many classes have improved support for right-to-left layouts.
       
    26 
       
    27 - Compile fixes 
       
    28 	Solaris 7 Intel, g++ version 2.8.1.
       
    29 
       
    30 - Documentation updates
       
    31 	Some new and improved diagrams and minor textual revisions.
       
    32 
       
    33 - Mac only: Drag'n'drop
       
    34 	Mac only: QDropEvents can decode HFS flavors.
       
    35 
       
    36 - X11 only: Multi-head (multi-screen) improvements
       
    37 	Support for different TrueColor depths on each head (screen).
       
    38 	Drag'n'drop support across multiple screens. Tooltips always
       
    39 	stay on the correct screen. Improved OpenGL support on
       
    40 	multiple screens. Qt 3.1 will support different color depths
       
    41 	on every screen (e.g. one TrueColor screen, one 8-bit
       
    42 	PseudoColor and one 8-bit GreyScale).
       
    43 
       
    44 
       
    45 ****************************************************************************
       
    46 *			   Library					   *
       
    47 ****************************************************************************
       
    48 
       
    49 - QAction
       
    50 	Fixed a memory leak in conjunction with action accelerators.
       
    51 	Turn toggle actions off when toggling is turned off with
       
    52 	setToggleAction(FALSE);
       
    53 
       
    54 - QApplication
       
    55 	Shared double buffers are cleaned up on destruction. 
       
    56 	Creating and using multiple QApplications in the same process
       
    57 	is supported.
       
    58 	- Solaris only: Default to the Interface System font (which is
       
    59 	  the default for the CDE)
       
    60 	- Win32 only: When WM_QUERYENDSESSION is received, _flushall
       
    61 	  is called to ensure that all open streams and buffers are
       
    62 	  flushed to disk (or to OS's buffers). 
       
    63 	  Better support for more input methods (e.g. Chinese). 
       
    64 	  Enter events are not propagated to modally blocked widgets. 
       
    65 	  Key_BackTab events are generated rather than Shift+Key_Tab.
       
    66 	  Floating toolbars are blocked when the application is modal. 
       
    67 	  Move and Resize are disabled in the system menu for
       
    68 	  maximized toplevel windows
       
    69 	- WinXP only: WM_THEMECHANGED messages are handled; widgets
       
    70 	  are repolished with the appropriate style.
       
    71 	- X11 only: Removed misleading warning message for main
       
    72 	  widgets on heads (screens) other than the default head.
       
    73 	  Input context: Solved a memory leak in Xlib, and saved a
       
    74 	  server round trip when updating the microfocushint. 
       
    75 	  Worked around some broken XmbLookupString implementations
       
    76 	  that do not report buffer overflows correctly. 
       
    77 	  Key events are never given to a widget after clearFocus()
       
    78 	  has been called for that widget; this is the same behavior
       
    79 	  as Windows.
       
    80 
       
    81 - QAquaStyle (MacOS X only)
       
    82 	More optimizations and several minor visual bugs fixed.
       
    83 
       
    84 - QCanvas
       
    85 	Erase any exposed empty space when shrinking the canvas.
       
    86 
       
    87 - QCanvasPixmapArray
       
    88 	Initialize the framecount to 0.
       
    89 
       
    90 - QCanvasView
       
    91 	Optimize background pixmaps: potentially they were drawn
       
    92 	twice, first untranslated then translated.
       
    93 
       
    94 - QClipboard (X11 only)
       
    95 	The race conditions that cause KDE to lock-up occasionally
       
    96 	should now be fixed.
       
    97 
       
    98 - QComboBox
       
    99 	Fixed behavior with non-selectable items. Fixed a crash when
       
   100 	calling setCurrentItem(-1). Fixed autoscrolling when dragging
       
   101 	the mouse directly after opening the dropdown.
       
   102 
       
   103 - QColor
       
   104 	Make invalid named colors return a non-valid QColor (as
       
   105 	documented).
       
   106 
       
   107 - QColorDialog (Win32 only)
       
   108 	Use WStyle_DialogBorder, since resizing this dialog does not
       
   109 	make much sense.
       
   110 
       
   111 - QCommonStyle
       
   112 	Respect QApplication::globalStrut() in scroll bars. Support
       
   113 	reverse layout in QTitleBar.
       
   114 
       
   115 - QCursor
       
   116 	Safer cleanup of cursor shapes (avoids possible free'd memory
       
   117 	read)
       
   118 	- Win32 only: fixed application override cursor with mouse
       
   119 	  grabbing.
       
   120 
       
   121 - QDate
       
   122 	Fixed some possible overflows.
       
   123 	- Win32 only: Improve locale support for short day and month
       
   124 	  names etc. Initialize milliseconds correctly.
       
   125 
       
   126 - QDateTimeEdit
       
   127 	Display AM/PM if set by locale. Improved sizeHint().
       
   128 
       
   129 - QDockAarea
       
   130 	More reliable sizeHint(). Better support for reverse layouts.
       
   131 
       
   132 - QDockWindow
       
   133 	Emit the placeChange() signal more reliably. Avoid floating
       
   134 	docks popping up everywhere before they have been positioned
       
   135 	and laid out.
       
   136 
       
   137 - QDesktopWidget
       
   138 	- X11 only: When using normal dualhead (not Xinerama), make
       
   139 	  sure we report the correct screen number.
       
   140 	- Win32 only: refresh on WM_DISPLAYCHANGE.
       
   141 
       
   142 - QFrame
       
   143 	New panel styles LineEditPanel and TabWidgetPanel. This was
       
   144 	required by the new for Windows XP support.
       
   145 
       
   146 - QFileDialog
       
   147 	Show unicode filenames to the user rather than encoded ASCII
       
   148 	(e.g. previously latin1 characters were shown as "%XX"
       
   149 	escapes).
       
   150 	Fixed multiple-selection of FTP files. 
       
   151 	Emit signal fileHighlighted in existingfile mode.
       
   152 	- Mac only: Fixed existingFolder(). Fixed window position so
       
   153 	  that it will never fall outside the screen.
       
   154 	- Win32 only: since files, directories and drives are not case
       
   155 	  sensitive, we don't add an extra entry in the paths box if
       
   156 	  the path already exists but with different case.
       
   157 
       
   158 - QFileInfo (Unix only) 
       
   159 	Make sure that symlinks pointing to invalid/non-existing
       
   160 	targets are reported as symlinks.
       
   161 
       
   162 - QFont
       
   163 	Ensure a rounded-off value is returned from pointSize().
       
   164 	- x11 only: improved line width calculation. Fixed off by one
       
   165 	  error in interpreting Xft font extents. Allow the use of
       
   166 	  both Xft and non Xft fonts in the same application. Make
       
   167 	  sure fonts are antialiased by default when using
       
   168 	  xftfreetype.
       
   169 
       
   170 - QFontDialog
       
   171 	Prevent re-laying out when the size of the preview label
       
   172 	changes.
       
   173 
       
   174 - QFtp
       
   175 	In parseDir(), do not compare English month names to
       
   176 	shortMonthName(), since the latter is localized.
       
   177 
       
   178 - QGList
       
   179 	Make self-assignments work.
       
   180 
       
   181 - QGLWidget
       
   182 	Fixed ARGB to RGBA conversion on BigEndian systems.
       
   183 	- Win32 only: fixed colormap for 8-bit RGBA GL mode.
       
   184 	- X11 only: multiple heads with different color depths fixes.
       
   185 
       
   186 - QHebrewCodec
       
   187 	Assume the bidi algorithm is a reversible operation for the
       
   188 	visual 8859-8 codec. This is not true for very complex strings
       
   189 	but should hold in most cases.
       
   190 
       
   191 - QIconSet
       
   192 	Fixed detach() to really detach the internal pixmaps. In case
       
   193 	no image formats are installed, show black pixmaps rather than
       
   194 	ASSERT.
       
   195 
       
   196 - QImage
       
   197 	Allow 16-bit DIBs. Allow > 32767 level PNMs. 
       
   198 	Fixed smoothscale() for the following bug: whenever 
       
   199 	(new_width / original_width * 4096) is not an integer the last
       
   200 	column of the scaled image is black.
       
   201 
       
   202 - QImageIO
       
   203 	Fixed plugin loading in cases where the image format is
       
   204 	explicitly defined.
       
   205 
       
   206 - QInputDialog
       
   207 	Disable the OK button when input is not Acceptable.
       
   208 	(See QValidator.)
       
   209 
       
   210 - QLabel
       
   211 	When showing rich text with tables (via QSimpleRichtext),
       
   212 	avoid drawing the table background.
       
   213 
       
   214 - QLayout
       
   215 	In reverse layout mode: fix off by one error when laying out
       
   216 	right to left or bottom to top.
       
   217 
       
   218 - QLineEdit
       
   219 	Fixed offset calculation for horizontal scrolling. Invoke
       
   220 	validator when the user presses Backspace or
       
   221 	Delete. Compression of the undo/redo stack fixed. Security: do
       
   222 	not reveal the position of spaces with Ctrl+RightArrow or
       
   223 	Ctrl+LeftArrow in password mode.
       
   224 
       
   225 - QListBox
       
   226 	Append items at the proper position even after sorting the
       
   227 	content. Made QWidget::setBackgroundMode() work correctly.
       
   228 
       
   229 - QListBoxPixmap
       
   230 	Use the function pixmap() when drawing the pixmap, so users
       
   231 	can reimplement QListBoxPixmap::pixmap().
       
   232 
       
   233 - QListView
       
   234 	Fix misalignment of checkbox click zone. Make the selected and
       
   235 	focus rectangles cover the entire column for QCheckListItems
       
   236 	if the listview root is not decorated. Make
       
   237 	QWidget::setBackgroundMode() on the viewport work correctly.
       
   238 	Comply with user interface guidelines: clear the selection
       
   239 	when a click is in an empty area unless the Ctrl key is down.
       
   240 	Fixed possible crash when starting a rename with a double
       
   241 	click. Smarter ensureItemVisible(). Draw listview background
       
   242 	in paintEmptyArea() with the current style. Ensure the
       
   243 	listview always has a current item.
       
   244 
       
   245 - QMainWindow
       
   246 	Better laying out of dockareas when they are all empty.
       
   247 	Otherwise an empty QMainWindow looks unappealing in a
       
   248 	workspace. Maintain the toplevel layout's resize mode.
       
   249 
       
   250 - QMessageBox
       
   251 	Avoid double deletion if the parent is destroyed while the
       
   252 	messagebox is open. Support y/n/c shortcuts without needing
       
   253 	the Alt key modifier.
       
   254 
       
   255 - QMovie
       
   256 	Allow pause() and restart() with MNG.
       
   257 
       
   258 - QMultiLineEdit
       
   259 	Remove internal trailing space when returning a textline with
       
   260 	textLine(int) and querying lineLength(int).
       
   261 
       
   262 - QPainter
       
   263 	The boundingRect() should now work properly for the
       
   264 	combination richtext, right-aligned and an empty initial rect.
       
   265 	Handle DontClip-flag in the painter's complex drawText()
       
   266 	function. Reset the cached composition matrix (and inverse)
       
   267 	when reinitialising a painter.
       
   268 
       
   269 - QPicture
       
   270 	Fixed the loading of binaries from older Qt versions.
       
   271 
       
   272 - QPixmap
       
   273 	grabWidget(): when the widget sets WRepaintNoErase it might
       
   274 	erase itself with the non-redirected QWidget::erase(); restore
       
   275 	those areas.
       
   276 	- X11 only: (with XRENDER extension) when copying a pixmap,
       
   277 	  bitBlt the entire data into the new pixmap instead of using
       
   278 	  alpha composition.
       
   279 
       
   280 - QPopupMenu
       
   281 	Fixed strange side effects with the menu effects. Support
       
   282 	minimumSize() for popups. Fixed a navigation issue where
       
   283 	Key_Right under certain circumstances was not propagated to
       
   284 	the menu bar. Speedups when disabling/enabling menu items
       
   285 	before showing them.
       
   286 	- X11 only: Fixed mouse and keyboard grabbing side effects
       
   287 	  with popup menu effects enabled.
       
   288 
       
   289 - QPrintDialog (built-in dialog)
       
   290 	Use the text in the lineedit for the file dialog.
       
   291 
       
   292 - QPrinter
       
   293 	Fixed crash when printing with incomplete combined unicode
       
   294 	fonts.
       
   295 	- Win32 only: fixed a very rare and mysterious crash.
       
   296 
       
   297 
       
   298 - QPSPrinter
       
   299 	Make sure the fontPath is read correctly by the postscript
       
   300 	driver, and the qtconfig program. Small memory leaks closed.
       
   301 	Better support for Asian printing. Limit line length of
       
   302 	Postscript DSC comments to 255 chars (as per the postscript
       
   303 	specification).
       
   304 
       
   305 -  QRichText
       
   306 	Fixed handling of &nbsp. Support both <qt title="..."> and
       
   307 	<title>. Avoid painting \n at the end of lines (these
       
   308 	sometimes appeared as an empty unicode box). Fixed find() in
       
   309 	"whole words only" mode. Fixed unicode auto alignment. Made
       
   310 	cursor movement in BiDi paragraphs compliant with MS-Windows.
       
   311 	Fixed paragraph right and center alignments when using <br>
       
   312 	tags. Fixed superscript/subscript confusion.
       
   313 
       
   314 - QScrollBar
       
   315 	Allow scrolling with modifier keys pressed.
       
   316 
       
   317 - QScrollView
       
   318 	Made autoscrolling work with drag and drop. Never generate
       
   319 	paintevents that are outside the visible area.
       
   320 
       
   321 - QSettings
       
   322 	- Unix only: search paths are valid for individual objects,
       
   323 	  NOT every object (windows behavior). When reading files,
       
   324 	  don't replace the old groups with contents of the new
       
   325 	  groups; merge them instead. Properly escape backslashes and
       
   326 	  newlines.
       
   327 	- win32 only: improved error handling. Fixed subKeyList() and
       
   328 	  entryList() for empty paths.
       
   329 
       
   330 - QSimpleRichText
       
   331 	Correctly transform clipping rectangle.
       
   332 
       
   333 - QSizeGrip
       
   334 	Reverted sizeHint() to the old size to avoid making the
       
   335 	statusbar a tiny bit too big. Support right-to-left layout.
       
   336 
       
   337 
       
   338 - QSgiStyle
       
   339 	Made the combobox arrow look nicer. Fixed disabled combobox
       
   340 	drawing.
       
   341 
       
   342 - QSlider
       
   343 	Fixed click handling for reverse layouts.
       
   344 
       
   345 - QSpinBox
       
   346 	Usability fix: when changing a value with the up/down arrow
       
   347 	keys or with the arrow buttons, select the new value.
       
   348 
       
   349 - QSplitter
       
   350 	Use the actual QSplitter pointer as documented (and not a
       
   351 	QSplitterHandle pointer) as the parameter to the
       
   352 	QStyle::sizeForContents() call. Fixed reverse layouts when
       
   353 	splitter movement is constrained.
       
   354 
       
   355 - QSqlRecord
       
   356 	Fixed double increment of the iterator in certain
       
   357 	circumstances.
       
   358 
       
   359 - QString
       
   360 	Fixed QString::setLatin1() when the length parameter is 0.
       
   361 	- Unix only: Use strcoll() in QString::localeAwareSorting().
       
   362 	- Mac only: clarify that local8Bit() is always utf8().
       
   363 
       
   364 - QStyle
       
   365 	New frame styles for tab widgets, window frames and line edit
       
   366 	controls. This was required by the new support for Windows XP.
       
   367 	Added SH_ScrollBar_StopMouseOverSlider style hint so that one can
       
   368 	turn on (or off) the ability to stop pageup/pagedown when the
       
   369 	slider hits the mouse (this is needed for Aqua on MacOS X).
       
   370 
       
   371 - QSvgDevice
       
   372 	Many fixes for saving and restoring attributes that are not
       
   373 	part of QPainter. Processing of 'tspan' elements. Now uses
       
   374 	double instead of int for internal 'path' arithmetic for
       
   375 	better scaling results. Supports QPicture's coordinate
       
   376 	transformations.
       
   377 
       
   378 - QTabBar
       
   379 	Fixed the focus rectangles and spacing with icons and label
       
   380 	texts.
       
   381 
       
   382 - QTable
       
   383 	Improved layout in right-to-left mode. Fixed adjustRow() when
       
   384 	using header items with icon sets. Do not let hidden
       
   385 	columns/rows re-appear when adjusting. Update header correctly
       
   386 	when changing a table's dimensions. Correctly reset the
       
   387 	updatesEnabled flag in sortColumn(). Fixed modifying the
       
   388 	contents of a combobox or checkbox table item while it is the
       
   389 	current cell.
       
   390 
       
   391 - QTableItem
       
   392 	Make sure an item cannot span over a table's maximum number of
       
   393 	rows and columns.
       
   394 
       
   395 - QTabWidget
       
   396 	Constrain the sizehint to avoid having oversized dialogs.
       
   397 
       
   398 - QTextCode
       
   399 	Rename iso8859-6-I to to 8859-6. The old name is still
       
   400 	supported for backwards compatibility.
       
   401 	- Win32: implemented locale().
       
   402 	- Mac: implemented locale().
       
   403 
       
   404 - QTextDrag (Win32 only)
       
   405 	Performance improvements in encodedData().
       
   406 
       
   407 - QTextEdit
       
   408 	Fixed HTML output. New property tabStopWidth. Fixed append()
       
   409 	and made it smarter: it only scrolls to the end if the view
       
   410 	was scrolled to the end before. Proper reformatting when
       
   411 	switching word wrap policies. Do not blink the cursor when the
       
   412 	textedit is disabled. Make isModified() return the new value
       
   413 	in slots connected to the modificationChanged() signal.
       
   414 	- X11 only: middle mouse selection pasting sets the cursor
       
   415 	  position.
       
   416 
       
   417 - QTextStream
       
   418 	Faster string output in latin1 mode.
       
   419 
       
   420 - QThread
       
   421 	- Unix only: initialize threads in non-GUI mode as well.
       
   422 	- Win32 only: fixed the initial value of QThread::running().
       
   423 
       
   424 - QToolButton
       
   425 	Fixed unwanted occurences of delayed popup menus.
       
   426 
       
   427 - QUrlOperator
       
   428 	Fixed the cache, so that QUrlInfo::name() is set correctly for
       
   429 	renamed files. This bug also affected QFileDialog. More
       
   430 	careful check whether a file is writable before renaming or
       
   431 	deleting it.
       
   432 
       
   433 - QValueVector
       
   434 	Make operator==() const. Fixed some sharing issues.
       
   435 
       
   436 - QVariant
       
   437 	Fixed a few memory leaks when casting complex values to simple
       
   438 	types. Faster operator==().
       
   439 
       
   440 - QWaitCondition (Win32 only)
       
   441 	Fixed wakeAll().
       
   442 
       
   443 - QWhatsThis
       
   444 	Make QWidget::customWhatsThis() work with menu accelerators.
       
   445 	Avoid infinite loops with menu effects.
       
   446 
       
   447 - QWidget
       
   448 	Fix default focus so that setTabOrder( X, Y ); setTabOrder( Y,
       
   449 	Z ); gives focus to X, not Y or Z. Closing a modal dialog with
       
   450 	a double click on a widget could result in a mouse release
       
   451 	event being delivered to the widget underneath; this has been
       
   452 	fixed.
       
   453 	Set/Reset WState_HasMouse on DragEnter/DragLeave.
       
   454 	- Win32 only: obey WPaintUnclipped. Make reparent() with 0,0
       
   455 	  positions do the requested positioning.
       
   456 	- X11 only: when reparenting widgets to/from toplevel, make
       
   457 	  sure the XdndAware property is set. Make input methods work
       
   458 	  with servers other than kinput2. More fixes for 4Dwm's
       
   459 	  incompliance with ICCCM 4.1.5 regarding geometry handling.
       
   460 	  When hiding toplevel windows, we call XFlush() to avoid
       
   461 	  having popup menus hanging around grabbing the mouse and
       
   462 	  keyboard while the application is busy. Obey the 'erase'
       
   463 	  value in repaint(const QRegion& reg, bool erase).
       
   464 
       
   465 - QWindowsStyle
       
   466 	Various visual fixes, including fixes for right-to-left
       
   467 	mode. Most significantly the light source now comes from the
       
   468 	top left also in reverse layout the same as modern versions of
       
   469 	Windows.
       
   470 
       
   471 - QWorkspace
       
   472 	Support document windows without title bars. Scroll to top
       
   473 	left corner when cascading/tiling a scrolled workspace. Define
       
   474 	a proper baseSize() for workspace children. Fix some side
       
   475 	effects with the workspace's maximize controls on Windows
       
   476 	style. Don't raise windows over scrollbars. Clients can now
       
   477 	call adjustSize() on the workspace when their sizeHint()
       
   478 	changes. When showing two scrollbars, maintain a solid corner.
       
   479 	Obey a document window's maximum size when tiling.
       
   480 
       
   481 ****************************************************************************
       
   482 *			   Extensions					   *
       
   483 ****************************************************************************
       
   484 
       
   485 NO CHANGES
       
   486 
       
   487 ****************************************************************************
       
   488 *			      Other					   *
       
   489 ****************************************************************************
       
   490 
       
   491 - qtconfig (X11 only)
       
   492 	It is now possible to turn Xft on and off, as well as turning
       
   493 	antialiasing-by-default on and off. This is necessary since
       
   494 	Xft doesn't work on dual head.
       
   495 
       
   496 - moc
       
   497 	Q_PROPERTY: Support QMap<QString, QVariant> and
       
   498 	QValueList<QVariant> as "QMap" and "QValueList". Support
       
   499 	parameters of nested template types, for example
       
   500 	QValueVector<QValueVector<double> >, as well as
       
   501 	Foo<const int>.
       
   502 
       
   503 - uic
       
   504 	Fix uic-generated code for QWizard with both "font" and
       
   505 	"titleFont" properties set. Put local includes after global
       
   506 	includes in generated files.
       
   507 
       
   508 - lupdate
       
   509 	Allow translation of menubar items generated with Qt Designer
       
   510 	(e.g. "&File", "&Edit", etc.).
       
   511 
       
   512 - libMNG
       
   513 	Updated to version 1.0.3.
       
   514 
       
   515 - libPNG
       
   516 	Updated to version 1.0.12.
       
   517 
       
   518 - Translations
       
   519 	Added Hebrew translations for Qt and the demo application.
       
   520 
       
   521 - Qt Designer
       
   522 	Support 'Ignored' size policy. Support properties of type
       
   523 	'double'. Fixed saving of custom widgets in toolbars. Various
       
   524 	smaller usability improvements.
       
   525 
       
   526 - Qt Assistant
       
   527 	When users starts Qt Assistant themselves, always make a new
       
   528 	instance. Only use the unique-instance feature when invoking
       
   529 	from Qt Designer.
       
   530 
       
   531 - QMsDev
       
   532 	Invoke Qt Linguist when opening a .ts file in Visual Studio.
       
   533 
       
   534 
       
   535 
       
   536 ****************************************************************************
       
   537 *		    Qt/Embedded-specific changes		           *
       
   538 ****************************************************************************
       
   539 
       
   540 NO CHANGES