dist/changes-3.2.0-b1
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 
       
    16 Qt library
       
    17 ----------
       
    18 
       
    19 New classes have been added to the Qt Library including a
       
    20 class to add splash screens to applications (QSplashScreen), a toolbox
       
    21 widget that provides a column of tabbed widgets (QToolBox), and a
       
    22 class to manage per-thread data storage (QThreadStorage).
       
    23 
       
    24 The SQL module received a fair bit of attention this time. The most
       
    25 notable improvements include a native IBM DB2 driver, complete support
       
    26 for stored procedures including the possibility to access
       
    27 out-parameters, and native support for 64 bit fields without having to
       
    28 convert to or from strings. We also added support for setting
       
    29 connection parameters. This way you can, for example, conveniently
       
    30 open an SSL connection to a MySQL or PostgreSQL database. If you need
       
    31 even more customization, e.g. for an Oracle database, you can set up
       
    32 the connection yourself and instantiate a Qt driver object on top of
       
    33 it. An extended SQL cursor class has been added that makes it more
       
    34 convenient to display result sets from general SQL queries
       
    35 (QSqlSelectCursor). In addition, you can add custom database drivers
       
    36 without compiling them as plugins (see
       
    37 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.
       
    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 Many classes were improved; see the detailed overview that follows.
       
    68 
       
    69 Qt Motif Extension
       
    70 ------------------
       
    71 
       
    72 Dialog handling has matured and has been extended since the
       
    73 extension's introduction in Qt 3.1.  The documentation and code
       
    74 examples have been improved, including a walkthrough that covers the
       
    75 complete migration of a real-world Motif example to Qt. The process
       
    76 contains four intermediate steps where the application utilizes both
       
    77 toolkits.
       
    78 
       
    79 ActiveQt Extension
       
    80 ------------------
       
    81 
       
    82 Type handling has been extended on both the container and the server
       
    83 side. The new supported types are byte arrays and 64bit integers. The
       
    84 QAxServer module supports QObject subclasses as return and parameter
       
    85 types of slots, and allows error reporting through COM exceptions.
       
    86 The Designer integration has been extended to support property dialogs
       
    87 implemented by the control server.
       
    88 
       
    89 Qt Designer
       
    90 -----------
       
    91 
       
    92 The popup menu editor has been rewritten. The new editor provides the
       
    93 the ability to add, edit and remove menus and menu items directly in
       
    94 the menubar and in the popup menu. Navigation and editing can be done
       
    95 using either the mouse or the keyboard.
       
    96 
       
    97 The new QWidgetContainerPlugin class provides support for complex
       
    98 custom container widgets in Designer, such as the custom tab widget,
       
    99 etc.
       
   100 
       
   101 The property editor now allows editing of properties with or'd values
       
   102 (sets).
       
   103 
       
   104 Designer also supports the new QToolBox widget in a similar fashion to
       
   105 QTabWidget, etc.
       
   106 
       
   107 Qt Assistant
       
   108 ------------
       
   109 
       
   110 Profiles have been introduced to allow applications to extend the use
       
   111 of Qt Assistant as a help system. Profiles describe the documentation
       
   112 to use so that only application specific documentation will be
       
   113 referenced in an end user installation. Profiles also allow some
       
   114 customization of the look in Qt Assistant. For detailed information,
       
   115 see the helpdemo example in $QTDIR/examples/helpdemo.
       
   116 
       
   117 Profiles replace the content files and categories system. The
       
   118 following command line options are removed since they no longer serve
       
   119 any purpose: addContentFile, removeContentFile, category, and
       
   120 disableFirstRun.
       
   121 
       
   122 Qt Assistant has multiple tabs for browsing, therefore enabling
       
   123 multiple pages to be browsed without opening a new window.
       
   124 
       
   125 It is possible to specify a default home page.
       
   126 
       
   127 It is possible to specify a PDF reader so that urls to PDF files can
       
   128 be opened from Qt Assistant.
       
   129 
       
   130 ****************************************************************************
       
   131 *			   Library					   *
       
   132 ****************************************************************************
       
   133 
       
   134 - QAction / QActionGroup
       
   135 	Simplified constructors so that it is no longer necessary to
       
   136 	specify texts for buttons and menu items separately.
       
   137 	For action groups, we fixed the enable/disable behavior. If
       
   138 	an action inside an action group is explicitly disabled, it is
       
   139 	no longer implicitly enabled together with the group.
       
   140 	This is identical to enabling/disabling widgets and their
       
   141 	children.
       
   142 
       
   143 - QApplication
       
   144 	Added the aboutQt() slot for convenience.
       
   145 
       
   146 - QAssistantClient
       
   147 	Added the new function, setArguments(), that invokes Qt
       
   148 	Assistant in different modes.
       
   149 
       
   150 - QAxBase
       
   151 	Added the new function, asVariant(), that passes a COM
       
   152 	object through dynamicCall().
       
   153 
       
   154 - QAxBindable
       
   155 	Added the new function, reportError(), that sends error
       
   156 	information to the ActiveX client.
       
   157 
       
   158 - QColor
       
   159 	Added the new static function, colorNames(), that retrieves a
       
   160 	list of all color names known to Qt.
       
   161 
       
   162 - QDeepCopy
       
   163 	Now also supports QDir, QFileInfo, and QStringList.
       
   164 
       
   165 - QDom
       
   166 	Now has long and ulong support for setAttribute() and
       
   167 	setAttributeNS().
       
   168 
       
   169 - QFont
       
   170 	Added the new properties: stretch and overline. Added the new
       
   171 	function, resolve(), that copies unspecified attributes from
       
   172 	one font to another.
       
   173 
       
   174 - QFontDataBase
       
   175 	Added a new overload for families() that restricts the
       
   176 	returned list to fonts supporting a specific QFont::Script,
       
   177 	e.g. QFont::Greek, QFont::Devanagari or QFont::Arabic.
       
   178 
       
   179 - QFontInfo / QFontMetrics
       
   180 	Added new constructors that force the info and metrics objects
       
   181 	to use a given QFont::Script.
       
   182 
       
   183 - QGLWidget
       
   184 	Added a new constructor that takes a QGLContext
       
   185 	parameter. Makes the undocumented setContext() obsolete.
       
   186 
       
   187 - QHeader
       
   188 	Added getters for the sort indicator (sortIndicatorSection()
       
   189 	and sortIndicatorOrder() ).
       
   190 
       
   191 - QImage
       
   192 	Added a new overload for save() that writes to a given
       
   193 	QIODevice*.
       
   194 
       
   195 - QListView
       
   196 	Added tristate support to check list items
       
   197 	(QCheckListItem::setTristate()). Added the new function,
       
   198 	setSelectionAnchor(), to set the list view's selection anchor
       
   199 	explicitly.
       
   200 
       
   201 - QLineEdit
       
   202 	Added input masks: setInputMask(), inputMask(), and
       
   203 	hasAcceptableInput().
       
   204 
       
   205 - QMessageBox
       
   206 	Added the new static function, question(), that complements
       
   207 	the existing information(), warning() and fatal() functions.
       
   208 
       
   209 - QMotifDialog [Qt Motif Extension]
       
   210 	Now has two distinct modes of operation: 1) it allows a Motif
       
   211 	dialog to have a Qt parent, and 2) it allows a Qt dialog to have
       
   212 	a Motif parent.
       
   213 
       
   214 - QPixmapCache
       
   215 	Added the new function, remove(), to explicitly remove a
       
   216 	pixmap from the cache.
       
   217 
       
   218 - QPrinter
       
   219 	Added the new functions: setPrintRange(), printRange(),
       
   220 	setOptionEnabled(), and optionEnabled(). For Windows only,
       
   221 	added the new function, setWinPageSize(), that allows setting
       
   222 	DEVMODE.dmPaperSize directly.
       
   223 
       
   224 - QPtrList
       
   225 	Added STL-like iterators with begin(), end(), and erase().
       
   226 
       
   227 - QScrollBar
       
   228 	Maintains a user defined size policy when the direction
       
   229 	changes.
       
   230 
       
   231 - QSplashScreen [new]
       
   232 	This new widget class provides a splash screen to be shown
       
   233 	during application startup.
       
   234 
       
   235 - QSplitter
       
   236 	Added the new properties: opaqueResize, childrenCollapsible,
       
   237 	and handleWidth.
       
   238 
       
   239 - QSqlError
       
   240 	Added a couple of convenience functions: text(), which returns
       
   241 	the concatenated database and driver texts. showMessage(),
       
   242 	which will pop up a QMessageBox with the text that text()
       
   243 	returns.
       
   244 
       
   245 - QSqlQuery
       
   246 	Added overloads for the bindValue() call which makes it
       
   247 	possible to specifiy what role a bound value should have: In,
       
   248 	Out or InOut.
       
   249 
       
   250 - QSqlSelectCursor [new]
       
   251 	This new QSqlCursor subclass provides browsing of general SQL
       
   252 	SELECT statements.
       
   253 
       
   254 - QString
       
   255 	Added 64 bit support. Added the new functions: multiArg(),
       
   256 	reserve(), capacity(), squeeze(). Added case insensitive
       
   257 	overloads for startsWith() and endsWidth().
       
   258 
       
   259 - QStringList
       
   260 	Added the new function gres().
       
   261 
       
   262 - QStyle
       
   263 	Added support for toolbox, header, MDI frame, table grid line
       
   264 	color, line edit password character, and message box question.
       
   265 
       
   266 - QSyntaxHighlighter
       
   267 	Added the new function, currentParagraph().
       
   268 
       
   269 - QTabWidget
       
   270 	Added support for custom widgets to be placed beside
       
   271 	the tab bar: setCornerWidget() and cornerWidget().
       
   272 
       
   273 - QTextEdit
       
   274 	In Log mode, added the new functions: setMaxLogLines() and
       
   275 	maxLogLines().
       
   276 
       
   277 - QThreadStorage [new]
       
   278 	This new tool class provides per-thread data storage, also
       
   279 	referred to as thread local storage or TLS.
       
   280 
       
   281 - QToolBox [new]
       
   282 	This new widget class provides a column of tabbed widgets, one
       
   283 	above the other, with the current page displayed below the
       
   284 	current tab.
       
   285 
       
   286 - QVariant
       
   287 	Added support for LongLong and ULongLong.
       
   288 
       
   289 - QWidget
       
   290 	Added a new widget flag, WNoAutoErase, that combines the now
       
   291 	obsolete WResizeNoErase and WRepaintNoErase flags.
       
   292 
       
   293 - QWidgetContainerPlugin [new]
       
   294 	This new plugin class complements QWidgetPlugin for custom
       
   295 	container widgets, i.e. widgets that can host child
       
   296 	widgets.