dist/changes-3.1.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.1 introduces many significant new features and many improvements
       
     2 over the 3.0.x series. This file provides an overview of the main
       
     3 changes since version 3.0.x. For further details see the online
       
     4 documentation which is included in this distribution, and also
       
     5 available at http://qt.nokia.com/doc/.
       
     6 
       
     7 The Qt version 3.1 series is binary compatible with the 3.0.x series:
       
     8 applications compiled for 3.0 will continue to run with 3.1.
       
     9 
       
    10 
       
    11 ****************************************************************************
       
    12 *                                 General                                  *
       
    13 ****************************************************************************
       
    14 
       
    15 Qt Script for Applications
       
    16 --------------------------
       
    17 Qt 3.1 is the first Qt release that can be used with Qt Script for
       
    18 Applications (QSA). QSA provides a scripting engine, an IDE for
       
    19 creating and editing scripts and script forms, and bindings to the Qt
       
    20 API. Script-enabling a Qt application is not difficult and the IDE
       
    21 makes it easy for resellers and end-users to write their own scripts.
       
    22 QSA is due for release after Qt 3.1.
       
    23 
       
    24 
       
    25 Qt Designer
       
    26 -----------
       
    27 Qt Designer, the visual GUI builder, has undergone several usability
       
    28 improvements. A new dialog for creating and editing signals and slots
       
    29 connections has been created: it is much easier to use and much faster
       
    30 for setting up multiple connections. The widgets are now presented in
       
    31 an easy-to-use toolbox rather than in toolbars (although you can still
       
    32 have the toolbars if you want). The property editor now handles common
       
    33 properties in multiple widgets simultaneously. By popular demand,
       
    34 WYSIWYG support for QWidgetStack has been added. Rich text is now
       
    35 supported with a rich text editor. And the code editor can be used for
       
    36 ordinary member functions as well as for slots.
       
    37 
       
    38 
       
    39 Qt Assistant
       
    40 ------------
       
    41 Qt Assistant, the Qt documentation browser, can now be used with
       
    42 custom documentation sets. This new functionality combined with the
       
    43 new QAssistantClient class means that you can use Qt Assistant as a
       
    44 help browser for your own applications. Qt Assistant has also been
       
    45 enhanced by the addition of a fast full text search engine.
       
    46 
       
    47 
       
    48 Motif
       
    49 -----
       
    50 The general industry-wide move away from Motif is leaving more and
       
    51 more companies in need of a migration solution. But converting large
       
    52 legacy applications in one step is often impractical. To minimize
       
    53 risks and to manage the workload companies often want to port code on
       
    54 a module by module basis. Qt 3.1 includeds a completely new Motif
       
    55 module that supports hybrid applications in which Qt code and Motif
       
    56 code coexist. (This obsoletes the earlier rudimentary Qt Xt/Motif
       
    57 extension.)
       
    58 
       
    59 
       
    60 ActiveX
       
    61 -------
       
    62 With the release of Qt 3.1, customers who use Qt for Microsoft Windows
       
    63 development can now use Qt with ActiveX. The new ActiveQt module
       
    64 provides a simple API for COM and ActiveX. The module can be used to
       
    65 create applications which host ActiveX controls, and also to create
       
    66 applications that serve ActiveX controls (e.g. Internet Explorer
       
    67 plugins).
       
    68 
       
    69 
       
    70 Qt/Mac
       
    71 ------
       
    72 The introduction of Qt/Mac, a Mac OS X port of Qt, with Qt 3.0 has
       
    73 proved a great success. This port has undergone many improvements in
       
    74 Qt 3.1, especially with respect to Appearance Manager, anti-aliased
       
    75 text and user settings. The Qt OpenGL support is greatly improved, and
       
    76 uses the hardware-accelerated drivers.
       
    77 
       
    78 
       
    79 Qt/Embedded
       
    80 -----------
       
    81 Graphics, mouse and keyboard drivers can now be compiled as plugins.
       
    82 
       
    83 
       
    84 Qt library
       
    85 ----------
       
    86 In addition to the new additions and enhancements referred to above,
       
    87 as with all major Qt releases, Qt 3.1 includes hundreds of
       
    88 improvements in the existing class library. Here is a brief summary of
       
    89 the most significant changes:
       
    90 
       
    91 - QTextEdit has a new text format: LogText. This is a performance and
       
    92   memory optimized format especially designed for the fast display of
       
    93   large amounts of text. The format supports basic highlighting,
       
    94   including bold and colored text.
       
    95 
       
    96 - The new QSyntaxHighlighter class makes it both easy and efficient to
       
    97   add syntax highlighting capabilities to a QTextEdit.
       
    98 
       
    99 - QHttp and QFtp in earlier Qt's were implementations of the
       
   100   QNetworkProtocol. Both have been extended to stand in their own
       
   101   right. If you missed some flexibility in the network protocol
       
   102   abstractions of earlier Qt's, the new QHttp and QFtp classes should
       
   103   provide the solution.
       
   104 
       
   105 - QAccel, used to handle keyboard shortcuts, now gracefully copes with
       
   106   shortcut clashes. If a clash occurs, a new signal,
       
   107   activatedAmbiguously(), is emitted. Classes that use QAccel, like
       
   108   QButton's subclasses and QPopupMenu, make use of this new
       
   109   functionality. Futhermore QAccel can now handle multi-key sequences,
       
   110   for example, Ctrl+X,Ctrl+F.
       
   111 
       
   112 - QClipboard has been extended to simplify data exchange between
       
   113   programs.
       
   114 
       
   115 - Thread support: almost all methods in the tools classes have been
       
   116   made reentrant. QApplication::postEvent() and a few other methods
       
   117   are now thread-safe if Qt is compiled as a multi-threaded library.
       
   118   (The documentation now states if a class or function is thread-safe
       
   119   or reentrant.)
       
   120 
       
   121 - A QMutexLocker class has been added to simplify the locking and
       
   122   unlocking of mutexes.
       
   123 
       
   124 - Input methods: A selectionLength() function has been added to
       
   125   QIMEvent. Japanese compositions are now handled correctly. Support
       
   126   for AIMM based input methods (those working on non-Asian versions of
       
   127   Win95/98/Me) has been added.
       
   128 
       
   129 - Large File support: Qt's internals have been modified to support
       
   130   Large Files (> 2GB). QFileDialog will now correctly display and
       
   131   select large files.
       
   132 
       
   133 - SQL module: Support for prepared query execution and value binding
       
   134   has been added. Among other benefits, this makes it possible to
       
   135   write large BLOBs (> 2 KB) to Oracle databases, and to write Unicode
       
   136   strings to SQL Server databases.
       
   137 
       
   138 - Support for XIM on Solaris.
       
   139 
       
   140 Build process
       
   141 -------------
       
   142 The build process has been improved:
       
   143 
       
   144 - The configure script does not need QTDIR to be set anymore.
       
   145 
       
   146 - Improved support for building Qt on MSVC.NET.
       
   147 
       
   148 
       
   149 ****************************************************************************
       
   150 *			   Library					   *
       
   151 ****************************************************************************
       
   152 
       
   153 - QAccel:
       
   154 	Corrected illegal accelerator state when using multiple
       
   155 	keysequences. (Resulted in no accelerator being triggered when
       
   156 	there's a partial match). Only triggers on enabled
       
   157 	accelerators and their enabled items. Eats all keys in a
       
   158 	keysequence, not just the first and last.
       
   159 
       
   160 - QCString:
       
   161 	Speed-optimized replace().
       
   162 
       
   163 - QDataStream:
       
   164 	Applies to printable data streams only: If the version number
       
   165 	of the device is less than 4, use the same streaming format
       
   166 	that was used in Qt 2.3 and earlier.
       
   167 
       
   168 - QDataTable:
       
   169 	Respect read-only columns. Make it possible to swap columns.
       
   170 
       
   171 - QDockWindow:
       
   172 	Added a standard widget constructor (taking a QWidget *parent,
       
   173 	const char *name and WFlags). Improved docking behavior.
       
   174 
       
   175 - QFileDialog:
       
   176 	Windows only: make Qt's filedialog work properly with network
       
   177 	paths.
       
   178 
       
   179 - QFontMetrics:
       
   180 	Windows only: Fixed QFontMetrics::boundingRect( QChar c ) to
       
   181 	work for non-TrueType fonts.
       
   182 
       
   183 - QHeader:
       
   184 	Optimized the sectionSizeHint() calculation, which in turn 
       
   185 	speeds up all QHeader size/label calculations.
       
   186 
       
   187 - QIconFactory:
       
   188 	Avoid infinite loops when recursively calling
       
   189 	QPixmap::pixmap().
       
   190 
       
   191 - QIconView:
       
   192 	Fixed navigation and selection with arrow keys. Some speedups
       
   193 	when repainting.
       
   194 
       
   195 - QKeySequence:
       
   196 	Treat Unicode characters in string defined sequences
       
   197 	correctly. So, now letters like Æ, Ø and Å should work as
       
   198 	accelerators, even through translation files.
       
   199 
       
   200 - QLayout:
       
   201 	alignmentRect() respects the layout's maximum size.
       
   202 
       
   203 - QLineEdit:
       
   204 	Added a lostFocus() signal. Double-clicking only uses spaces
       
   205 	as word bounderies for the selection now, not dots, commas,
       
   206 	etc. Support double-click+mousemove selection.
       
   207 
       
   208 - QListBox:
       
   209 	Fixed the item which is passed into the contextMenuRequested()
       
   210 	signal (this was sometimes wrong). Don't select items that are
       
   211 	not selectable.
       
   212 
       
   213 - QListView:
       
   214 	Shift selection in Extended mode now follows Windows
       
   215 	Shift-selection standard. Erase empty area when drawing
       
   216 	listviews without columns. Only drops on drop-enabled items
       
   217 	that accept drops.
       
   218 
       
   219 - QListViewItem:
       
   220 	Optimized size claculation for multi-line items.
       
   221 
       
   222 - QMainWindow:
       
   223 	Base the minimumSizeHint() on the sizeHint()s of the left hand
       
   224 	dock area (instead of the minimumSize()).
       
   225 
       
   226 - QMenuBar:
       
   227 	Fixed broken Alt release detection. Fixed flickering. Fixed
       
   228 	empty menubars resizing properly.
       
   229 
       
   230 - QObject:
       
   231 	Fixed return value of disconnect(). Fixed disconnect()ing
       
   232 	SIGNALs from SIGNALs and disconnect()ing multiple SLOTs with
       
   233 	the same name from a SIGNAL.
       
   234 
       
   235 - QProcess:
       
   236 	Unix only: Don't eat the file descriptors if a lot of
       
   237 	processes (with short runtimes) are started immediately after
       
   238 	each other.
       
   239 
       
   240 - QPSQLDriver:
       
   241 	Make the driver compile with the standard PostgreSQL source
       
   242 	distribution under Windows. Better handling of network,
       
   243 	datetime and geometrical datatypes.
       
   244 
       
   245 - QRegion:
       
   246 	Fixed setRects() to calculate the bounding rectangle
       
   247 	correctly.
       
   248 
       
   249 - QScrollView:
       
   250 	Doesn't reposition the view when the user is scrolling the
       
   251 	view.
       
   252 
       
   253 - QSpinBox:
       
   254 	Fixed setValue() so that any not-yet-interpreted input is
       
   255 	ignored when setting a new value.
       
   256 
       
   257 - QString:
       
   258 	Support QTextCodec::codecForCStrings(). Support
       
   259 	std::string<==>QString conversion when STL support is on.
       
   260 
       
   261 - QSyntaxHighlighter:
       
   262 	Added function rehighlight(). Improved internals to be more
       
   263 	efficient (less calls to highlightParagraph() necessary).
       
   264 
       
   265 - QTable:
       
   266 	Fixed Tab/BackTab handling to always work. Fixed
       
   267 	setColumnLabels() and setRowLabels().
       
   268 
       
   269 - QTableItem (and subclasses):
       
   270 	Now supports global struts. (See QApplication::globalStrut().)
       
   271 
       
   272 - QTDSDriver:
       
   273 	Added support for binary datatypes.
       
   274 
       
   275 - QTextCodec:
       
   276 	Added QTextCodec::codecForCStrings and QTextCodec::codecForTr.
       
   277 
       
   278 - QTextEdit:
       
   279 	Fixed a painting error which resulted in areas of the textedit
       
   280 	not being erased correctly. Make sure repainting is done after
       
   281 	changing the underline-links setting. Renamed 'allowTabs'
       
   282 	property to 'tabChangesFocus' (inverted value). Added a new
       
   283 	property 'autoFormatting'. When exporting HTML also quote
       
   284 	quotes. Fixed a background erasing bug which messed up the
       
   285 	view.
       
   286 
       
   287 - QUrl:
       
   288 	Recognize Windows drive letters not only in the form of "c:/"
       
   289 	but also in the form "c:" (without the '/').
       
   290 
       
   291 - QWidget:
       
   292 	Fixed some visibility issues.
       
   293 
       
   294 ****************************************************************************
       
   295 *			   Qt Designer					   *
       
   296 ****************************************************************************
       
   297 
       
   298 - Now displays the classname of "gray box" custom widgets in the gray
       
   299   box on the form.
       
   300 
       
   301 - Accept tildes (~) in the project settings.
       
   302 
       
   303 - A new command line tool conv2ui (in qt/tools/designer/tools) has
       
   304   been added, to convert dialog description files from different file
       
   305   formats to .ui files without the need to invoke Qt Designer. This
       
   306   tool uses the same plugins as Qt Designer for loading other dialog
       
   307   description files.
       
   308 
       
   309 - An import filter for .kdevdlg files has been added.
       
   310 
       
   311 - Actions in the action editor are now sortable.
       
   312 
       
   313 - Improved usability of more dialogs (in-place renaming, drag'n'drop,
       
   314   etc.)
       
   315 
       
   316 - Preserve creation order of forward declarations, variables, etc.
       
   317 
       
   318 - Save comments for actions.
       
   319 
       
   320 - uic: Fixed generating code for QStringList properties.
       
   321 
       
   322 ****************************************************************************
       
   323 *			   Qt Assistant					   *
       
   324 ****************************************************************************
       
   325 
       
   326 - Fixed some accelerator conflicts.
       
   327 
       
   328 ****************************************************************************
       
   329 *			   Qt Linguist					   *
       
   330 ****************************************************************************
       
   331 
       
   332 - Handle trailing backslash in strings correctly in lupdate.
       
   333 
       
   334 ******************************** END ***************************************