dist/changes-4.1.0-rc1
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 4.1 introduces many new features as well as many improvements and
       
     2 bugfixes over the 4.0.x series. For more details, see the online
       
     3 documentation which is included in this distribution. The
       
     4 documentation is also available at http://qt.nokia.com/doc/
       
     5 
       
     6 The Qt version 4.1 series is binary compatible with the 4.0.x series.
       
     7 Applications compiled for 4.0 will continue to run with 4.1.
       
     8 
       
     9 ****************************************************************************
       
    10 *			    General					   *
       
    11 ****************************************************************************
       
    12 
       
    13 Qt library
       
    14 ----------
       
    15 
       
    16   - Integrated support for rendering Scalable Vector Graphics (SVG)
       
    17     drawings and animations (QtSvg module).
       
    18 
       
    19   - A Portable Document Format (PDF) backend for Qt's printing system.
       
    20 
       
    21   - A unit testing framework for Qt applications and libraries.
       
    22 
       
    23   - Modules for extending Qt Designer and dynamic user interface
       
    24     building.
       
    25 
       
    26   - New proxy models to enable view-specific sorting and filtering of
       
    27     data displayed using item views.
       
    28 
       
    29   - Additional features for developers using OpenGL, such as support
       
    30     for pixel and sample buffers.
       
    31 
       
    32   - A flexible syntax highlighting class based on the Scribe rich text
       
    33     framework.
       
    34 
       
    35   - Support for network proxy servers using the SOCKS5 protocol.
       
    36 
       
    37   - Support for OLE verbs and MIME data handling in ActiveQt.
       
    38 
       
    39 Qt Designer
       
    40 -----------
       
    41 
       
    42 - Added support for editing menu bars and tool bars.
       
    43 
       
    44 - Added support for adding comments to string properties.
       
    45 
       
    46 - Added new static QtForm library with improved
       
    47   QForm::Loader API for loading designer forms at run-time.
       
    48 
       
    49 - Added support for namespaces in uic generated code.
       
    50 
       
    51 - Added support for dock widgets in main windows.
       
    52 
       
    53 - Added support for editing table, tree and list widgets.
       
    54 
       
    55 - Improved palette editing and resource support.
       
    56 
       
    57 QTestLib
       
    58 --------
       
    59 
       
    60 - Added QTestLib, the Qt Unit Testing Library. See the "QTestLib" chapter
       
    61   in the Qt documentation for more information.
       
    62 
       
    63 - Users of older versions of QtTestLib can use the updater utility in
       
    64   tools/qtestlib/updater to convert existing autotests to work with QTestLib.
       
    65 
       
    66 Boost
       
    67 -----
       
    68 
       
    69 Added boost compatible syntax for declaring signals and slots. If you
       
    70 define the macro QT_NO_KEYWORDS "Q_SIGNALS" and "Q_SLOTS" are
       
    71 recognized as keywords instead of the default "signals" and "slots".
       
    72 
       
    73 ActiveQt
       
    74 --------
       
    75 
       
    76 QAxServer now supports mime-type handling - a ActiveX control can be
       
    77 registered to handle a certain file extension and mime-type, in which case
       
    78 QAxBindable::load and QAxBindable::save can be reimplemented to serialize
       
    79 the object.
       
    80 
       
    81 Build system
       
    82 ------------
       
    83 
       
    84 Added support for linking static plugins into the application.
       
    85 
       
    86 Qt 3 to 4 Porting Tool
       
    87 ----------------------
       
    88 
       
    89 Q(V|H)BoxLayout and QGridLayout usage is now ported to use
       
    90 Q3(V|H)BoxLayout/Q3GridLayout, to retain the margin/spacing
       
    91 behavior as in Qt 3.
       
    92 
       
    93 Meta Object Compiler (moc)
       
    94 --------------------------
       
    95 
       
    96 - Added support for const signals.
       
    97 
       
    98 Qt Assistant
       
    99 ------------
       
   100 
       
   101 - Added -docPath command line option for easy setting of the
       
   102   document root path.
       
   103 
       
   104 QMake
       
   105 -----
       
   106 
       
   107 - Added support for new FORMS3 profile variable to make it possible
       
   108   to have Qt Designer forms from Qt 3 and Qt 4 in the same project.
       
   109 
       
   110 - Added support for precompiled headers on win32-g++ (MinGW)
       
   111 
       
   112 Compilers
       
   113 ---------
       
   114 
       
   115 Added support for Solaris 10 on AMD64 with the compiler provided by
       
   116 Sun.
       
   117 
       
   118 
       
   119 ****************************************************************************
       
   120 *			   Library					   *
       
   121 ****************************************************************************
       
   122 
       
   123 
       
   124 New classes
       
   125 -----------
       
   126 
       
   127 - QTreeWidgetItemIterator
       
   128         Added iterator to help iterating over items in a QTreeWidget.
       
   129 
       
   130 - QSortingProxyModel
       
   131         The QSortingProxyModel can contain another model and handles
       
   132         the sorting of it.
       
   133 
       
   134 - QFilteringProxyModel
       
   135         Allows you to provide a subset of a model to a view.
       
   136 
       
   137 - QStringFilterModel
       
   138         Allows you to provide a subset of a model to a view based on a
       
   139         regular expression.
       
   140 
       
   141 - QSyntaxHighlighter
       
   142         The QSyntaxHighlighter class allows you to define syntax
       
   143         highlighting rules.
       
   144 
       
   145 - QAbstractFileEngine
       
   146         A base class for implementing your own file and directory handling
       
   147         back-end for QFile, QFileInfo and QDir.
       
   148 
       
   149 - QAbstractFileEngineHandler
       
   150         For registering a QAbstractFileEngine subclass with Qt.
       
   151 
       
   152 - QFSFileEngine
       
   153         The default file engine for regular file and directory access in Qt.
       
   154 
       
   155 - Q3(H|V)BoxLayout and Q3GridLayout
       
   156         Layout classes provided for compatibility that behave the same
       
   157         as the Qt 4 classes but use a zero margin/spacing by default,
       
   158         just like in Qt 3.
       
   159 
       
   160 - Added qFromLittleEndian, qToLittleEndian, qFromBigEndian and
       
   161   qToBigEndian endian helper conversion functions (qendian.h)
       
   162 
       
   163 - Q_EXPORT_PLUGIN2 macro
       
   164         Obsoletes Q_EXPORT_PLUGIN and allows static linking of
       
   165         plugins.
       
   166 
       
   167 - Q3ComboBox
       
   168         For enhanced backwards compatibility with Qt 3.
       
   169 
       
   170 - QGLPbuffer
       
   171         For creating and managing OpenGL pixel buffers.
       
   172 
       
   173 - QNetworkProxy
       
   174         For setting up transparent (SOCKS5) networking proxying.
       
   175 
       
   176 - QDirectPainter (Qtopia Core only)
       
   177         Provides direct access to video framebuffer hardware.
       
   178 
       
   179 
       
   180 General improvements
       
   181 --------------------
       
   182 
       
   183 - QByteArray
       
   184         Added toLong() and toULong().
       
   185 
       
   186 - QFileDialog
       
   187         Fix shortcut and focus for "Alpha channel" spinbox.
       
   188 
       
   189 - QLinkedList
       
   190         Added conversion methods to convert from/to STL lists.
       
   191 
       
   192 - QMap/QHash
       
   193         Fixed operator>>() to read back multiple values associated
       
   194         to a same key correctly.
       
   195         Added constFind(), for finding an item without causing a detach.
       
   196 
       
   197 - QMap/QHash
       
   198         Const-correctness in const_iterator's operator--(int).
       
   199 
       
   200 - QMainWindow
       
   201         The saveState() and restoreState() functions no longer
       
   202         fallback to using the windowTitle property when the objectName
       
   203         property is not set on a QToolBar or QDockWidget; this
       
   204         behavior was undocumented and has been removed.
       
   205 
       
   206 - QToolBar
       
   207         Added Qt 3 compatibility signal visibilityChanged(bool).
       
   208 
       
   209 - QMetaType
       
   210         Class is now fully reentrant.
       
   211         Metatypes can be registered or queried from multiple threads.
       
   212         Added qMetaTypeId<T>(), which returns the meta type ID of T at compile time.
       
   213 
       
   214 - QMetaProperty
       
   215         Added isResettable().
       
   216 
       
   217 - QSql
       
   218         Oracle plugin adds support for authentication using external credentials.
       
   219         Added isValid() to QSqlError.
       
   220 
       
   221 - QThread
       
   222         Added setPriority() and priority(), for querying and setting
       
   223         the priority of a thread.
       
   224 
       
   225 - QTreeWidgetItem/QTreeWidget
       
   226         Added new constructors and addChildren(), insertChildren(),
       
   227         takeChildren(), insertTopLevelItems(), addTopLevelItems to
       
   228         speed up insertion of multiple items.
       
   229 
       
   230 - QTextDocument
       
   231         Added the class QTextBlockUserData and added the possibility
       
   232         of storing a state or custom user data in a QTextBlock
       
   233         Added useDesignMetrics property, to enable the use of design metrics for
       
   234         all fonts in a QTextDocument.
       
   235 
       
   236 - QTextFormat
       
   237         Added support for setting the font pixel size.
       
   238         Added UserObject to QTextFormat::ObjectTypes enum.
       
   239 
       
   240 - QMetaType
       
   241         The value of QMetaTypeId<T>::Defined indicates whether a given type T is
       
   242         supported by QMetaType.
       
   243 
       
   244 - QAbstractItemView
       
   245         Added setIndexWidget() and indexWidget() which makes it
       
   246         possible to set a widget at a given index.
       
   247 
       
   248         Added a QAbstractItemView::ContiguousSelection mode.
       
   249         Added scrollToTop() and scrollToBottom().
       
   250 
       
   251 - QAbstractItemModel
       
   252         Added a SizeHintRole that can be set for each item. The item
       
   253         delegate will now check for this value before computing the
       
   254         size hint based on other item data.
       
   255 
       
   256         Add QModelIndex::operator<() so we are able to use them in
       
   257         QMap and other containers.
       
   258 
       
   259         Added qHash function for QModelIndex.
       
   260 
       
   261 - QTableWidget
       
   262         Added cellWidget() and setCellWidget() which makes it possible
       
   263         to set a widget at a specified cell.
       
   264 
       
   265         Added setCurrentCell().
       
   266 
       
   267         Added QTableWidgetItem copy constructors.
       
   268 
       
   269 
       
   270 - QTreeWidget
       
   271         Added setItemWidget() and itemWidget() which makes it possible
       
   272         to set a widget on an item.
       
   273 
       
   274 - QListWidget
       
   275         Added setItemWidget() and itemWidget() which makes it possible
       
   276         to set a widget on an item.
       
   277 
       
   278         Added QListWidgetItem copy constructors.
       
   279 
       
   280 - QMutableMapIterator
       
   281         Added value() overloads to Java-style iterators that return
       
   282         non-const references.
       
   283 
       
   284 - QTextTable
       
   285         Added mergeCells() and splitCells() to be able to set the row
       
   286         or column span on a table cell.
       
   287 
       
   288 - QStyle
       
   289         Added standardIcon() which returns a default icon for standard
       
   290         operations.
       
   291         Added State_ReadOnly, which is enabled for read-only widgets.
       
   292 
       
   293         Renamed QStyleOption::init() to initFrom().
       
   294         - QGroupBox is now completely stylable (QStyleOptionGroupBox)
       
   295         - Indeterminate (busy) progress bars are now animated properly
       
   296           in all styles.
       
   297 
       
   298         Added PM_DockWidgetTitleMargin as pixel metric.
       
   299 
       
   300 - QHash
       
   301         Make it possible to use QHash with a type that has no default
       
   302         constructor.
       
   303 
       
   304 - QTableView
       
   305         Made QTableView::setShowGrid() a slot, like in Qt 3.
       
   306         Added setRowHeight() and setColumnWidth().
       
   307 
       
   308 - QTableWidgetSelectionRange
       
   309         Added rowCount() and columnCount() convenience functions.
       
   310 
       
   311 - QSettings
       
   312         Added support for custom formats in QSettings.
       
   313 
       
   314 - QTextStream
       
   315         Added status(), setStatus() and resetStatus() for improved error handling.
       
   316         Added read(qint64 maxlen), for reading parts of a text stream into a
       
   317         QString.
       
   318 
       
   319 - QTextCursor
       
   320         Added support for BlockUnderCursor selection type.
       
   321 
       
   322 - QHeaderView
       
   323         Added defaultSectionSize property which tells the default size
       
   324         of the header sections before resizing.
       
   325 
       
   326 - QScrollBar
       
   327         Added context menu to the scrollbar with default navigation
       
   328         options.
       
   329 
       
   330 - QScrollArea
       
   331         Added ensureVisible(), which can scroll the scrollarea to make sure a
       
   332         specific point is visible.
       
   333 
       
   334 - QDateTime
       
   335         Added addMSecs(), which adds a number of milliseconds to the QDateTime.
       
   336 
       
   337 - QDateTimeEdit
       
   338         Added support for more date/time formats.
       
   339         Now allows multiple sections of the same type.
       
   340 
       
   341 - QButtonGroup
       
   342         Added handling of buttons with IDs to the buttongroup like in
       
   343         Qt 3.
       
   344 
       
   345 - QIODevice
       
   346         Added peek() for peeking data from a device.
       
   347 
       
   348 - QTextEdit
       
   349         Added property tabStopWidth which sets the tab stop width in
       
   350         pixels.
       
   351         append(const QString &) is now a public slot.
       
   352         Added support for inserting Unicode control characters through the
       
   353         context menu.
       
   354         Added property acceptRichText, for whether or not the text edit
       
   355         accepts rich text insertions by the user.
       
   356         Added overwriteMode property.
       
   357 
       
   358 - QDataStream
       
   359         Added skipRawData().
       
   360         Added support for QRegExp.
       
   361 
       
   362 - QProgressBar
       
   363         Added support for vertical progress bars.
       
   364 
       
   365 - QImageIOHandler
       
   366         The name() function has been obsoleted; use format() instead.
       
   367         Added QImageIOHandler::Animation, for determining if the image format
       
   368         supports animation.
       
   369         Added QImageIOHandler::BackgroundColor, for setting the background
       
   370         color for the image loader.
       
   371 
       
   372 - QImageReader
       
   373         Added setBackgroundColor() and backgroundColor(), for setting the
       
   374         background color of an image before it is read.
       
   375         Added supportsAnimation(), for checking if the image format supports
       
   376         animation.
       
   377 
       
   378 - QImageWriter
       
   379         Added support for saving image text.
       
   380 
       
   381 - QLocale
       
   382         Added dateFormat()/timeFormat() to query the date/time format for the
       
   383         current locale.
       
   384         Added toString() overloads for localized QTime and QDate output.
       
   385         Added decimalPoint(), groupSeparator(), percent(), zeroDigit(),
       
   386         negativeSign() and exponential(), which provide a means to generate
       
   387         custom number formatting.
       
   388 
       
   389 - QHostInfo
       
   390         Added support for reverse name lookups.
       
   391 
       
   392 - QHostAddress
       
   393         Added a QString assignment operator
       
   394         Added convenience functions for initializing from a native sockaddr
       
   395         structure.
       
   396         Added support for the IPv6 scope-id.
       
   397 
       
   398 - QPrinter
       
   399         Added property "embedFonts" for embedding fonts into the target
       
   400         document.
       
   401         Added support for printing to PDF.
       
   402         Added support for custom print and paint engines
       
   403 
       
   404 - QPrintEngine
       
   405         Added PPK_SuppressSystemPrintStatus, for suppressing the printer
       
   406         progress dialog on Mac OS X.
       
   407 
       
   408 - QKeySequence
       
   409         Added fromString() and toString() for initializing a key sequence
       
   410         from, and exporting a key sequence to a QString.
       
   411 
       
   412 - QUrl
       
   413         Added the port(int) function, which provides a default value for the
       
   414         port if the URL does not define a port.
       
   415         Support for decoding Punycode encoded hostnames in URLs.
       
   416         Made the parser more tolerant for mistakes, and added a ParsingMode
       
   417         flag for selecting strict or tolerant parsing.
       
   418         Added support for the NAMEPREP standard in our i18n domain name support.
       
   419 
       
   420 - QDir
       
   421         Added the filter QDir::NoDotAndDotDot, for the
       
   422         special directories "." and "..".
       
   423         Added the filter QDir::AllEntries, for all entries
       
   424         in a directory, including symlinks.
       
   425 
       
   426 
       
   427 - QAbstractSocket
       
   428         Added slots connectToHostImplementation() and
       
   429         disconnectFromHostImplementation() to provide polymorphic behavior for
       
   430         connectToHost() and disconnectFromHost().
       
   431 
       
   432 - QMenuBar
       
   433         Added setActiveAction(), which makes the provided action
       
   434         active.
       
   435 
       
   436 - QProxyModel
       
   437         This class has been obsoleted (see QAbstractProxyModel)
       
   438 
       
   439 - QWidget
       
   440         Now supports three modes of modality: NonModal, WindowModal and
       
   441         ApplicationModal.
       
   442         Added Qt::WindowModality, obsoleted WA_ShowModal and WA_GroupLeader.
       
   443         Added Qt::WA_OpaquePaintEvent widget attribute, obsoleting Qt::WA_NoBackground.
       
   444         Added boolean autoFillBackground property.
       
   445         Child widgets now always inherit the contents of their parent.
       
   446 
       
   447 - QPalette
       
   448         Added QPalette::Window (obsoletes Background) and
       
   449               QPalette::WindowText (obsoletes Foreground).
       
   450 
       
   451 - QHttpResponseHeader
       
   452         Added two constructors and the function setStatusLine() for generating
       
   453         a response header.
       
   454 
       
   455 - QBitArray
       
   456         Added count(bool), for counting on and off-bits in a bit array.
       
   457 
       
   458 - QVariant
       
   459         Added support for QRegExp
       
   460 
       
   461 - QRegExpValidator
       
   462         Added the property "regExp".
       
   463 
       
   464 - QTabBar
       
   465         Added the property "iconSize", for setting the size of the icons on
       
   466         the tabs.
       
   467 
       
   468 - QLineEdit
       
   469         Added support for inserting Unicode control characters through the
       
   470         context menu.
       
   471 
       
   472 - QString
       
   473         Added toLong() and toULong().
       
   474         Support for std::string conversions with embedded \0 characters.
       
   475 
       
   476 - QRegion
       
   477         Added translate(), like QRect::translated().
       
   478 
       
   479 - QProcess
       
   480         Added systemEnvironment(), which returns the environment variables
       
   481         of the calling process.
       
   482         Added exitStatus(), and added a new finished() signal which takes the
       
   483         exit status as a parameter.
       
   484 
       
   485 - QComboBox
       
   486         Made setCurrentIndex() a slot.
       
   487 
       
   488 - QFontDataBase
       
   489         Added styleString(), for retrieving the style string from a QFontInfo.
       
   490         Added support for Myanmar fonts.
       
   491 
       
   492 - QFontMetrics
       
   493         Added xHeight(), which returns the 'X' height of the font.
       
   494 
       
   495 - QCoreApplication
       
   496         Added arguments(), which returns a list of command line arguments as a
       
   497         QStringList.
       
   498 
       
   499 - QTcpSocket
       
   500         Added support for SOCKS5 via setProxy().
       
   501 
       
   502 - QUdpSocket
       
   503         Added property "bindMode", for binding several sockets to the same
       
   504         address and port.
       
   505 
       
   506 - QPen
       
   507         Added support for custom dash pattern styles and miter limits.
       
   508         Added support for QDebug.
       
   509 
       
   510 - QDebug
       
   511         Added support for QVector and QPair output.
       
   512 
       
   513 - QStringListModel
       
   514         Added support for sorting.
       
   515 
       
   516 - QOpenGLPaintEngine
       
   517         Gradients in the OpenGL paint engine are now drawn using
       
   518         fragment programs, if the extension is available. Lots of
       
   519         fixes, speedups and tweaks.
       
   520 
       
   521 
       
   522 Platform-Specific changes
       
   523 -------------------------
       
   524 
       
   525 Windows:
       
   526 
       
   527 - Painting
       
   528         Added support for ClearType text rendering.
       
   529 
       
   530 - File Engine
       
   531         Added support for long filenames/paths.
       
   532 
       
   533 X11:
       
   534 
       
   535 - QWidget
       
   536         Added support for freedesktop.org startup notifications.
       
   537 
       
   538 Mac OS X:
       
   539 
       
   540 - Improved support for the VoiceOver accessibility tool in Mac OS 10.4
       
   541   and later
       
   542 
       
   543 
       
   544 3rd-party libraries
       
   545 -------------------
       
   546 
       
   547 - zlib
       
   548         Upgraded to zlib 1.2.3.
       
   549 
       
   550 - FreeType
       
   551         Upgraded to FreeType 2.1.10.
       
   552 
       
   553 - SQLite
       
   554         Upgraded to SQLite 3.2.7