dist/changes-3.1.0
changeset 0 1918ee327afb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dist/changes-3.1.0	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,334 @@
+Qt 3.1 introduces many significant new features and many improvements
+over the 3.0.x series. This file provides an overview of the main
+changes since version 3.0.x. For further details see the online
+documentation which is included in this distribution, and also
+available at http://qt.nokia.com/doc/.
+
+The Qt version 3.1 series is binary compatible with the 3.0.x series:
+applications compiled for 3.0 will continue to run with 3.1.
+
+
+****************************************************************************
+*                                 General                                  *
+****************************************************************************
+
+Qt Script for Applications
+--------------------------
+Qt 3.1 is the first Qt release that can be used with Qt Script for
+Applications (QSA). QSA provides a scripting engine, an IDE for
+creating and editing scripts and script forms, and bindings to the Qt
+API. Script-enabling a Qt application is not difficult and the IDE
+makes it easy for resellers and end-users to write their own scripts.
+QSA is due for release after Qt 3.1.
+
+
+Qt Designer
+-----------
+Qt Designer, the visual GUI builder, has undergone several usability
+improvements. A new dialog for creating and editing signals and slots
+connections has been created: it is much easier to use and much faster
+for setting up multiple connections. The widgets are now presented in
+an easy-to-use toolbox rather than in toolbars (although you can still
+have the toolbars if you want). The property editor now handles common
+properties in multiple widgets simultaneously. By popular demand,
+WYSIWYG support for QWidgetStack has been added. Rich text is now
+supported with a rich text editor. And the code editor can be used for
+ordinary member functions as well as for slots.
+
+
+Qt Assistant
+------------
+Qt Assistant, the Qt documentation browser, can now be used with
+custom documentation sets. This new functionality combined with the
+new QAssistantClient class means that you can use Qt Assistant as a
+help browser for your own applications. Qt Assistant has also been
+enhanced by the addition of a fast full text search engine.
+
+
+Motif
+-----
+The general industry-wide move away from Motif is leaving more and
+more companies in need of a migration solution. But converting large
+legacy applications in one step is often impractical. To minimize
+risks and to manage the workload companies often want to port code on
+a module by module basis. Qt 3.1 includeds a completely new Motif
+module that supports hybrid applications in which Qt code and Motif
+code coexist. (This obsoletes the earlier rudimentary Qt Xt/Motif
+extension.)
+
+
+ActiveX
+-------
+With the release of Qt 3.1, customers who use Qt for Microsoft Windows
+development can now use Qt with ActiveX. The new ActiveQt module
+provides a simple API for COM and ActiveX. The module can be used to
+create applications which host ActiveX controls, and also to create
+applications that serve ActiveX controls (e.g. Internet Explorer
+plugins).
+
+
+Qt/Mac
+------
+The introduction of Qt/Mac, a Mac OS X port of Qt, with Qt 3.0 has
+proved a great success. This port has undergone many improvements in
+Qt 3.1, especially with respect to Appearance Manager, anti-aliased
+text and user settings. The Qt OpenGL support is greatly improved, and
+uses the hardware-accelerated drivers.
+
+
+Qt/Embedded
+-----------
+Graphics, mouse and keyboard drivers can now be compiled as plugins.
+
+
+Qt library
+----------
+In addition to the new additions and enhancements referred to above,
+as with all major Qt releases, Qt 3.1 includes hundreds of
+improvements in the existing class library. Here is a brief summary of
+the most significant changes:
+
+- QTextEdit has a new text format: LogText. This is a performance and
+  memory optimized format especially designed for the fast display of
+  large amounts of text. The format supports basic highlighting,
+  including bold and colored text.
+
+- The new QSyntaxHighlighter class makes it both easy and efficient to
+  add syntax highlighting capabilities to a QTextEdit.
+
+- QHttp and QFtp in earlier Qt's were implementations of the
+  QNetworkProtocol. Both have been extended to stand in their own
+  right. If you missed some flexibility in the network protocol
+  abstractions of earlier Qt's, the new QHttp and QFtp classes should
+  provide the solution.
+
+- QAccel, used to handle keyboard shortcuts, now gracefully copes with
+  shortcut clashes. If a clash occurs, a new signal,
+  activatedAmbiguously(), is emitted. Classes that use QAccel, like
+  QButton's subclasses and QPopupMenu, make use of this new
+  functionality. Futhermore QAccel can now handle multi-key sequences,
+  for example, Ctrl+X,Ctrl+F.
+
+- QClipboard has been extended to simplify data exchange between
+  programs.
+
+- Thread support: almost all methods in the tools classes have been
+  made reentrant. QApplication::postEvent() and a few other methods
+  are now thread-safe if Qt is compiled as a multi-threaded library.
+  (The documentation now states if a class or function is thread-safe
+  or reentrant.)
+
+- A QMutexLocker class has been added to simplify the locking and
+  unlocking of mutexes.
+
+- Input methods: A selectionLength() function has been added to
+  QIMEvent. Japanese compositions are now handled correctly. Support
+  for AIMM based input methods (those working on non-Asian versions of
+  Win95/98/Me) has been added.
+
+- Large File support: Qt's internals have been modified to support
+  Large Files (> 2GB). QFileDialog will now correctly display and
+  select large files.
+
+- SQL module: Support for prepared query execution and value binding
+  has been added. Among other benefits, this makes it possible to
+  write large BLOBs (> 2 KB) to Oracle databases, and to write Unicode
+  strings to SQL Server databases.
+
+- Support for XIM on Solaris.
+
+Build process
+-------------
+The build process has been improved:
+
+- The configure script does not need QTDIR to be set anymore.
+
+- Improved support for building Qt on MSVC.NET.
+
+
+****************************************************************************
+*			   Library					   *
+****************************************************************************
+
+- QAccel:
+	Corrected illegal accelerator state when using multiple
+	keysequences. (Resulted in no accelerator being triggered when
+	there's a partial match). Only triggers on enabled
+	accelerators and their enabled items. Eats all keys in a
+	keysequence, not just the first and last.
+
+- QCString:
+	Speed-optimized replace().
+
+- QDataStream:
+	Applies to printable data streams only: If the version number
+	of the device is less than 4, use the same streaming format
+	that was used in Qt 2.3 and earlier.
+
+- QDataTable:
+	Respect read-only columns. Make it possible to swap columns.
+
+- QDockWindow:
+	Added a standard widget constructor (taking a QWidget *parent,
+	const char *name and WFlags). Improved docking behavior.
+
+- QFileDialog:
+	Windows only: make Qt's filedialog work properly with network
+	paths.
+
+- QFontMetrics:
+	Windows only: Fixed QFontMetrics::boundingRect( QChar c ) to
+	work for non-TrueType fonts.
+
+- QHeader:
+	Optimized the sectionSizeHint() calculation, which in turn 
+	speeds up all QHeader size/label calculations.
+
+- QIconFactory:
+	Avoid infinite loops when recursively calling
+	QPixmap::pixmap().
+
+- QIconView:
+	Fixed navigation and selection with arrow keys. Some speedups
+	when repainting.
+
+- QKeySequence:
+	Treat Unicode characters in string defined sequences
+	correctly. So, now letters like Æ, Ø and Å should work as
+	accelerators, even through translation files.
+
+- QLayout:
+	alignmentRect() respects the layout's maximum size.
+
+- QLineEdit:
+	Added a lostFocus() signal. Double-clicking only uses spaces
+	as word bounderies for the selection now, not dots, commas,
+	etc. Support double-click+mousemove selection.
+
+- QListBox:
+	Fixed the item which is passed into the contextMenuRequested()
+	signal (this was sometimes wrong). Don't select items that are
+	not selectable.
+
+- QListView:
+	Shift selection in Extended mode now follows Windows
+	Shift-selection standard. Erase empty area when drawing
+	listviews without columns. Only drops on drop-enabled items
+	that accept drops.
+
+- QListViewItem:
+	Optimized size claculation for multi-line items.
+
+- QMainWindow:
+	Base the minimumSizeHint() on the sizeHint()s of the left hand
+	dock area (instead of the minimumSize()).
+
+- QMenuBar:
+	Fixed broken Alt release detection. Fixed flickering. Fixed
+	empty menubars resizing properly.
+
+- QObject:
+	Fixed return value of disconnect(). Fixed disconnect()ing
+	SIGNALs from SIGNALs and disconnect()ing multiple SLOTs with
+	the same name from a SIGNAL.
+
+- QProcess:
+	Unix only: Don't eat the file descriptors if a lot of
+	processes (with short runtimes) are started immediately after
+	each other.
+
+- QPSQLDriver:
+	Make the driver compile with the standard PostgreSQL source
+	distribution under Windows. Better handling of network,
+	datetime and geometrical datatypes.
+
+- QRegion:
+	Fixed setRects() to calculate the bounding rectangle
+	correctly.
+
+- QScrollView:
+	Doesn't reposition the view when the user is scrolling the
+	view.
+
+- QSpinBox:
+	Fixed setValue() so that any not-yet-interpreted input is
+	ignored when setting a new value.
+
+- QString:
+	Support QTextCodec::codecForCStrings(). Support
+	std::string<==>QString conversion when STL support is on.
+
+- QSyntaxHighlighter:
+	Added function rehighlight(). Improved internals to be more
+	efficient (less calls to highlightParagraph() necessary).
+
+- QTable:
+	Fixed Tab/BackTab handling to always work. Fixed
+	setColumnLabels() and setRowLabels().
+
+- QTableItem (and subclasses):
+	Now supports global struts. (See QApplication::globalStrut().)
+
+- QTDSDriver:
+	Added support for binary datatypes.
+
+- QTextCodec:
+	Added QTextCodec::codecForCStrings and QTextCodec::codecForTr.
+
+- QTextEdit:
+	Fixed a painting error which resulted in areas of the textedit
+	not being erased correctly. Make sure repainting is done after
+	changing the underline-links setting. Renamed 'allowTabs'
+	property to 'tabChangesFocus' (inverted value). Added a new
+	property 'autoFormatting'. When exporting HTML also quote
+	quotes. Fixed a background erasing bug which messed up the
+	view.
+
+- QUrl:
+	Recognize Windows drive letters not only in the form of "c:/"
+	but also in the form "c:" (without the '/').
+
+- QWidget:
+	Fixed some visibility issues.
+
+****************************************************************************
+*			   Qt Designer					   *
+****************************************************************************
+
+- Now displays the classname of "gray box" custom widgets in the gray
+  box on the form.
+
+- Accept tildes (~) in the project settings.
+
+- A new command line tool conv2ui (in qt/tools/designer/tools) has
+  been added, to convert dialog description files from different file
+  formats to .ui files without the need to invoke Qt Designer. This
+  tool uses the same plugins as Qt Designer for loading other dialog
+  description files.
+
+- An import filter for .kdevdlg files has been added.
+
+- Actions in the action editor are now sortable.
+
+- Improved usability of more dialogs (in-place renaming, drag'n'drop,
+  etc.)
+
+- Preserve creation order of forward declarations, variables, etc.
+
+- Save comments for actions.
+
+- uic: Fixed generating code for QStringList properties.
+
+****************************************************************************
+*			   Qt Assistant					   *
+****************************************************************************
+
+- Fixed some accelerator conflicts.
+
+****************************************************************************
+*			   Qt Linguist					   *
+****************************************************************************
+
+- Handle trailing backslash in strings correctly in lupdate.
+
+******************************** END ***************************************