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