Revision control

++ 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 ***************************************