diff -r 000000000000 -r 1918ee327afb dist/changes-3.1.0 --- /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 ***************************************