dist/changes-3.2.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 
       
     2 Qt 3.2 introduces new features as well as many improvements over the
       
     3 3.1.x series. This file gives an overview of the main changes since
       
     4 version 3.1.2.  For more details, see the online documentation which
       
     5 is included in this distribution. The documentation is also available
       
     6 at http://qt.nokia.com/doc/
       
     7 
       
     8 The Qt version 3.2 series is binary compatible with the 3.1.x series.
       
     9 Applications compiled for 3.1 will continue to run with 3.2.
       
    10 
       
    11 ****************************************************************************
       
    12 *			    General					   *
       
    13 ****************************************************************************
       
    14 
       
    15 Qt library
       
    16 ----------
       
    17 
       
    18 New classes have been added to the Qt Library including a
       
    19 class to add splash screens to applications (QSplashScreen), a toolbox
       
    20 widget that provides a column of tabbed widgets (QToolBox), and a
       
    21 class to manage per-thread data storage (QThreadStorage).
       
    22 
       
    23 The SQL module received a fair bit of attention this time. The most
       
    24 notable improvements include a native IBM DB2 driver, complete support
       
    25 for stored procedures including the possibility to access
       
    26 out-parameters, and native support for 64 bit fields without having to
       
    27 convert to or from strings. We also added support for setting
       
    28 connection parameters. This way you can, for example, conveniently
       
    29 open an SSL connection to a MySQL or PostgreSQL database. If you need
       
    30 even more customization, e.g. for an Oracle database, you can set up
       
    31 the connection yourself and instantiate a Qt driver object on top of
       
    32 it. An extended SQL cursor class has been added that makes it more
       
    33 convenient to display result sets from general SQL queries
       
    34 (QSqlSelectCursor). QSqlDatabase::tables() is now capable to return
       
    35 tables, views and/or system tables. In addition, you can add custom
       
    36 database drivers without compiling them as plugins
       
    37 (see QSqlDatabase::registerSqlDriver()).
       
    38 
       
    39 QLineEdit, the one-line text editor, now supports validation input
       
    40 masks. The feature complements the previous QValidator concept and
       
    41 allows e.g. restriction of input to the IP address format (mask
       
    42 "990.990.990.990;_"), or to ISO date format (mask "0000-90-90;0").
       
    43 
       
    44 Qt's unicode code support has been extended. Most notably, full
       
    45 support for Indic scripts has been added, covering writing systems
       
    46 such as Devanagari, Tamil and Bengali. The group of right to left
       
    47 writing systems has been extended with support for Syriac. Both
       
    48 improvements are available on both Windows with Uniscribe installed,
       
    49 and on Unix/X11 when using XFT with OpenType fonts.
       
    50 
       
    51 All tool classes that support STL-like iterators with begin() and
       
    52 end(), contain two extra functions constBegin() and constEnd(). The
       
    53 const versions always return const iterators, and thus can be a little
       
    54 bit faster with Qt's implicitly shared containers.
       
    55 
       
    56 QPainter's complex drawText() function has been highly
       
    57 optimized. Despite its support for complex unicode scripts, it now
       
    58 performs better than its less unicode-capable counterpart in Qt 2.3.
       
    59 
       
    60 QPixmap now supports pixmaps with alpha channel (semi transparency) on
       
    61 all Windows versions except Windows 95 and Windows NT 4.0.
       
    62 
       
    63 The print dialog now supports "selection" as a print range as well as
       
    64 the possibility to enable/disable all different printer options
       
    65 individually.
       
    66 
       
    67 On Windows, the Qt installation includes a toolbar for Visual Studio.NET 
       
    68 that provides an integration of the Qt tools (ie. Qt Designer) with the 
       
    69 IDE.
       
    70 
       
    71 Many classes were improved; see the detailed overview that follows.
       
    72 
       
    73 Qt Motif Extension
       
    74 ------------------
       
    75 
       
    76 Dialog handling has matured and has been extended since the
       
    77 extension's introduction in Qt 3.1.  The documentation and code
       
    78 examples have been improved, including a walkthrough that covers the
       
    79 complete migration of a real-world Motif example to Qt. The process
       
    80 contains four intermediate steps where the application utilizes both
       
    81 toolkits.
       
    82 
       
    83 ActiveQt Extension
       
    84 ------------------
       
    85 
       
    86 Type handling has been extended on both the container and the server
       
    87 side. The new supported types are byte arrays and 64bit integers. The
       
    88 QAxServer module supports aggregation, as well as QObject subclasses as 
       
    89 return and parameter types of slots, and allows error reporting through 
       
    90 COM exceptions.
       
    91 The Designer integration has been extended to support property dialogs
       
    92 implemented by the control server.
       
    93 Controls developed with ActiveQt support aggregation, which makes it
       
    94 possible to use them in containers that require this form of containment to
       
    95 be supported. ActiveQt also supports masked controls in containers that
       
    96 support this for window'ed controls.
       
    97 
       
    98 Qt Designer
       
    99 -----------
       
   100 
       
   101 The popup menu editor has been rewritten. The new editor provides the
       
   102 the ability to add, edit and remove menus and menu items directly in
       
   103 the menubar and in the popup menu. Navigation and editing can be done
       
   104 using either the mouse or the keyboard.
       
   105 
       
   106 The property editor now allows editing of properties with or'd values
       
   107 (sets).
       
   108 
       
   109 Designer also supports the new QToolBox widget in a similar fashion to
       
   110 QTabWidget, etc.
       
   111 
       
   112 Qt Assistant
       
   113 ------------
       
   114 
       
   115 Profiles have been introduced to allow applications to extend the use
       
   116 of Qt Assistant as a help system. Profiles describe the documentation
       
   117 to use so that only application specific documentation will be
       
   118 referenced in an end user installation. Profiles also allow some
       
   119 customization of the look in Qt Assistant. For detailed information,
       
   120 see the helpdemo example in $QTDIR/examples/helpdemo.
       
   121 
       
   122 Profiles replace the content files and categories system. The
       
   123 following command line options are removed since they no longer serve
       
   124 any purpose: addContentFile, removeContentFile, category, and
       
   125 disableFirstRun.
       
   126 
       
   127 Qt Assistant has multiple tabs for browsing, therefore enabling
       
   128 multiple pages to be browsed without opening a new window.
       
   129 
       
   130 It is possible to specify a default home page.
       
   131 
       
   132 It is possible to specify a PDF reader so that urls to PDF files can
       
   133 be opened from Qt Assistant.
       
   134 
       
   135 Compilers
       
   136 ---------
       
   137 
       
   138 Note: Qt 3.2 is the last version to officially support IRIX MIPSpro
       
   139 o32 and Sun CC 5.0. A script, $QTDIR/bin/qt32castcompat, is provided
       
   140 for 3.2 which needs to be run for these compilers.
       
   141 
       
   142 Miscellaneous
       
   143 -------------
       
   144 
       
   145 Users of the 3.2.0 beta releases please note: The QWidgetContainerPlugin
       
   146 interfaces was removed from the final release due to some serious issues.
       
   147 
       
   148 ****************************************************************************
       
   149 *			   Library					   *
       
   150 ****************************************************************************
       
   151 
       
   152 - QAction / QActionGroup
       
   153 	Simplified constructors so that it is no longer necessary to
       
   154 	specify texts for buttons and menu items separately.
       
   155 	For action groups, we fixed the enable/disable behavior. If
       
   156 	an action inside an action group is explicitly disabled, it is
       
   157 	no longer implicitly enabled together with the group.
       
   158 	This is identical to enabling/disabling widgets and their
       
   159 	children.
       
   160 
       
   161 - QApplication
       
   162 	Added the aboutQt() slot for convenience.
       
   163 
       
   164 - QAssistantClient
       
   165 	Added the new function, setArguments(), that invokes Qt
       
   166 	Assistant in different modes.
       
   167 
       
   168 - QAxBase
       
   169 	Added the new function, asVariant(), that passes a COM
       
   170 	object through dynamicCall().
       
   171 
       
   172 - QAxBindable
       
   173 	Added the new function, reportError(), that sends error
       
   174 	information to the ActiveX client.
       
   175 
       
   176 - QColor
       
   177 	Added the new static function, colorNames(), that retrieves a
       
   178 	list of all color names known to Qt.
       
   179 
       
   180 - QDeepCopy
       
   181 	Now also supports QDir, QFileInfo, and QStringList.
       
   182 
       
   183 - QDom
       
   184 	Now has long and ulong support for setAttribute() and
       
   185 	setAttributeNS().
       
   186 
       
   187 - QFont
       
   188 	Added the new properties: stretch and overline. Added the new
       
   189 	function, resolve(), that copies unspecified attributes from
       
   190 	one font to another.
       
   191 
       
   192 - QFontDataBase
       
   193 	Added a new overload for families() that restricts the
       
   194 	returned list to fonts supporting a specific QFont::Script,
       
   195 	e.g. QFont::Greek, QFont::Devanagari or QFont::Arabic.
       
   196 
       
   197 - QFontInfo / QFontMetrics
       
   198 	Added new constructors that force the info and metrics objects
       
   199 	to use a given QFont::Script.
       
   200 
       
   201 - QGLWidget
       
   202 	Added a new constructor that takes a QGLContext
       
   203 	parameter. Makes the undocumented setContext() obsolete.
       
   204 
       
   205 - QHeader
       
   206 	Added getters for the sort indicator (sortIndicatorSection()
       
   207 	and sortIndicatorOrder() ).
       
   208 
       
   209 - QImage
       
   210 	Added a new overload for save() that writes to a given
       
   211 	QIODevice*.
       
   212 
       
   213 - QListView
       
   214 	Added tristate support to check list items
       
   215 	(QCheckListItem::setTristate()). Added the new function,
       
   216 	setSelectionAnchor(), to set the list view's selection anchor
       
   217 	explicitly.
       
   218 
       
   219 - QLineEdit
       
   220 	Added input masks: setInputMask(), inputMask(), and
       
   221 	hasAcceptableInput(). Added new function selectionStart()
       
   222 	which returns the index of the first selected character in the
       
   223 	line edit.
       
   224 
       
   225 - QMacStyle
       
   226 	Added customizable focus rectangle policy.
       
   227 
       
   228 - QMessageBox
       
   229 	Added the new static function, question(), that complements
       
   230 	the existing information(), warning() and fatal() functions.
       
   231 
       
   232 - QMotifDialog [Qt Motif Extension]
       
   233 	Now has two distinct modes of operation: 1) it allows a Motif
       
   234 	dialog to have a Qt parent, and 2) it allows a Qt dialog to have
       
   235 	a Motif parent.
       
   236 
       
   237 - QMYSQLDriver
       
   238 	Better support for MySQL/embedded.
       
   239 
       
   240 - QPixmapCache
       
   241 	Added the new function, remove(), to explicitly remove a
       
   242 	pixmap from the cache.
       
   243 
       
   244 - QPrinter
       
   245 	Added the new functions: setPrintRange(), printRange(),
       
   246 	setOptionEnabled(), and optionEnabled(). For Windows only,
       
   247 	added the new function, setWinPageSize(), that allows setting
       
   248 	DEVMODE.dmPaperSize directly.
       
   249 
       
   250 - QPtrList
       
   251 	Added STL-like iterators with begin(), end(), and erase().
       
   252 
       
   253 - QScrollBar
       
   254 	Maintains a user defined size policy when the direction
       
   255 	changes.
       
   256 
       
   257 - QSplashScreen [new]
       
   258 	This new widget class provides a splash screen to be shown
       
   259 	during application startup.
       
   260 
       
   261 - QSplitter
       
   262 	Added the new properties: opaqueResize, childrenCollapsible,
       
   263 	and handleWidth.
       
   264 
       
   265 - QSqlError
       
   266 	Added a couple of convenience functions: text(), which returns
       
   267 	the concatenated database and driver texts. showMessage(),
       
   268 	which will pop up a QMessageBox with the text that text()
       
   269 	returns.
       
   270 
       
   271 - QSqlQuery
       
   272 	Added overloads for the bindValue() call which makes it
       
   273 	possible to specifiy what role a bound value should have: In,
       
   274 	Out or InOut.
       
   275 
       
   276 - QSqlSelectCursor [new]
       
   277 	This new QSqlCursor subclass provides browsing of general SQL
       
   278 	SELECT statements.
       
   279 
       
   280 - QSqlDatabase
       
   281 	Added overloaded tables() call which can return tables, views
       
   282 	and/or system tables.
       
   283 
       
   284 - QPSQLDriver
       
   285 	Calling tables() with no arguments will only return table names,
       
   286 	instead of table and view names as in Qt 3.1.
       
   287 	The new tables() call in QSqlDatabase can be used to get
       
   288 	table and/or view names.
       
   289 
       
   290 - QString
       
   291 	Added 64 bit support. Added the new functions: multiArg(),
       
   292 	reserve(), capacity(), squeeze(). Added case insensitive
       
   293 	overloads for startsWith() and endsWidth().
       
   294 
       
   295 - QStringList
       
   296 	Added the new function gres().
       
   297 
       
   298 - QStyle
       
   299 	Added support for toolbox, header, MDI frame, table grid line
       
   300 	color, line edit password character, and message box question.
       
   301 
       
   302 - QSyntaxHighlighter
       
   303 	Added the new function, currentParagraph().
       
   304 
       
   305 - QTabWidget
       
   306 	Added support for custom widgets to be placed beside
       
   307 	the tab bar: setCornerWidget() and cornerWidget().
       
   308 
       
   309 - QTextEdit
       
   310 	In Log mode, added the new functions: setMaxLogLines() and
       
   311 	maxLogLines(). Implemented insertAt() for LogText mode.
       
   312 
       
   313 - QThreadStorage [new]
       
   314 	This new tool class provides per-thread data storage, also
       
   315 	referred to as thread local storage or TLS.
       
   316 
       
   317 - QToolBox [new]
       
   318 	This new widget class provides a column of tabbed widgets, one
       
   319 	above the other, with the current page displayed below the
       
   320 	current tab.
       
   321 
       
   322 - QVariant
       
   323 	Added support for LongLong and ULongLong.
       
   324 
       
   325 - QWidget
       
   326 	Added a new widget flag, WNoAutoErase, that combines the now
       
   327 	obsolete WResizeNoErase and WRepaintNoErase flags.