summaryrefslogtreecommitdiff
path: root/dist/changes-3.1.0-b1
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2009-03-23 10:34:13 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2009-03-23 10:34:13 +0100
commit67ad0519fd165acee4a4d2a94fa502e9e4847bd0 (patch)
tree1dbf50b3dff8d5ca7e9344733968c72704eb15ff /dist/changes-3.1.0-b1
downloadqt4-tools-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.gz
Long live Qt!
Diffstat (limited to 'dist/changes-3.1.0-b1')
-rw-r--r--dist/changes-3.1.0-b1692
1 files changed, 692 insertions, 0 deletions
diff --git a/dist/changes-3.1.0-b1 b/dist/changes-3.1.0-b1
new file mode 100644
index 0000000000..527992ff2c
--- /dev/null
+++ b/dist/changes-3.1.0-b1
@@ -0,0 +1,692 @@
+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.5. For further details see the online
+documentation which is included in this distribution, and also
+available at http://doc.trolltech.com/.
+
+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 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.
+
+
+Build process
+-------------
+The build process has been improved:
+
+- The configure script does not need QTDIR to be set anymore.
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+New classes
+==================
+
+- QBackInsertIterator
+- QEventLoop
+- QIconFactory
+- QMutexLocker
+- QSyntaxHighlighter
+
+
+QAction
+------------------
+New functions:
+ void setVisible( bool )
+ bool isVisible() const
+
+
+QCanvas
+------------------
+New functions:
+ void invalidate()
+ bool isValid() const
+
+
+QColorDialog
+------------------
+New functions:
+ static void setStandardColor( int, QRgb )
+
+
+QAccel
+------------------
+New signals:
+ void activatedAmbiguously( int id )
+
+
+QApplication
+------------------
+The event loop has been moved to the QEventLoop class, making it
+easier to integrate other toolkits with Qt.
+
+New functions:
+ QEventLoop *eventLoop() const
+ void setEventLoop( QEventLoop * )
+ QString sessionKey() const
+
+
+QClipboard
+------------------
+New functions:
+ void clear( Mode mode )
+ bool supportsSelection() const
+ bool ownsSelection() const
+ bool ownsClipboard() const
+ QString text( Mode mode ) const
+ QString text( QCString& subtype, Mode mode ) const
+ void setText( const QString &, Mode mode )
+ QMimeSource *data( Mode mode ) const
+ void setData( QMimeSource*, Mode mode )
+ QImage image( Mode mode ) const
+ QPixmap pixmap( Mode mode ) const
+ void setImage( const QImage &, Mode mode )
+ void setPixmap( const QPixmap &, Mode mode )
+
+
+QDesktopWidget
+------------------
+New functions:
+ const QRect& screenGeometry( QWidget *widget ) const
+ const QRect& screenGeometry( const QPoint &point ) const
+ const QRect& availableGeometry( int screen ) const
+ const QRect& availableGeometry( QWidget *widget ) const
+ const QRect& availableGeometry( const QPoint &point ) const
+
+
+QFileDialog
+------------------
+Large Files (> 2GB) are now correctly displayed and selected.
+
+
+QFileInfo
+------------------
+QFileInfo now supports Large Files (> 2GB) internally. To maintain
+binary compatibility the QFileInfo API cannot be adapted before Qt 4
+and will truncate file sizes and offsets to 4 GB.
+
+New functions:
+ bool isHidden() const
+
+
+QFile
+------------------
+QFile now supports Large Files (> 2GB) internally. To maintain binary
+compatibility the QFile API cannot be adapted before Qt 4 and will
+truncate file sizes and offsets to 4 GB.
+
+
+QDir
+------------------
+QDir now supports Large Files (> 2GB).
+
+
+QImEvent
+------------------
+New functions:
+ in selectionLength() const
+
+
+QIconSet
+------------------
+New functions:
+ void installIconFactory( QIconFactory *factory )
+
+
+QImage
+------------------
+New functions:
+ static QImage fromMimeSource( const QString& abs_name )
+
+
+QMetaObject
+------------------
+New functions:
+ QStrList enumeratorNames( bool super ) const
+ int numEnumerators( bool super ) const
+ static bool hasMetaObject( const char *class_name )
+
+
+QMenuData
+------------------
+New functions:
+ bool isItemVisible( int id ) const
+ void setItemVisible( int id, bool visible )
+Both functions are inherited by QMenuBar and QPopupMenu
+
+
+QPaintDevice
+------------------
+New functions (x11 only):
+ static Qt::HANDLE x11AppRootWindow()
+ static int x11AppDepth( int screen )
+ static int x11AppCells( int screen )
+ static Qt::HANDLE x11AppRootWindow( int screen )
+ static Qt::HANDLE x11AppColormap( int screen )
+ static void *x11AppVisual( int screen )
+ static bool x11AppDefaultColormap( int screen )
+ static bool x11AppDefaultVisual( int screen )
+ static int x11AppDpiX( int )
+ static int x11AppDpiY( int )
+ static void x11SetAppDpiX( int, int )
+ static void x11SetAppDpiY( int, int )
+
+
+QPicture
+------------------
+New functions:
+ void setBoundingRect( const QRect &r )
+
+
+QPixmap
+------------------
+New functions:
+ bool hasAlpha() const
+ static QPixmap fromMimeSource( const QString& abs_name )
+
+
+QPrinter
+------------------
+New functions:
+ void setMargins( uint top, uint left, uint bottom, uint right )
+ void margins( uint *top, uint *left, uint *bottom, uint *right ) const
+
+Improvements:
+ Handle masked images and pixmaps correctly. Add code to handle
+ asymmetrical printer margins correctly.
+
+
+QSessionManager
+------------------
+New functions:
+ QString sessionKey() const
+
+
+QStyleOption
+------------------
+New functions:
+ QStyleOption( QCheckListItem* i )
+ QCheckListItem* checkListItem() const
+
+New enums values:
+ PE_CheckListController, PE_CheckListIndicator,
+ PE_CheckListExclusiveIndicator, PE_PanelGroupBox
+ CE_MenuBarEmptyArea
+ CE_DockWindowEmptyArea
+ PM_CheckListButtonSize
+ CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit
+ SH_GroupBox_TextLabelVerticalAlignment
+
+
+QThread
+------------------
+New functions:
+ void terminate()
+
+
+QTranslator
+------------------
+New functions:
+ bool load( const uchar *data, int len )
+
+
+QVariant
+------------------
+New functions:
+ QVariant( const QPen& )
+ const QPen toPen() const
+ QPen& asPen()
+ bool isNull() const
+
+New enum values:
+ KeySequence, Pen
+
+
+QWidget
+------------------
+All top-level widgets will now try to find an appropriate application
+icon when they're not given one, trying in this order
+ 1. Parent widget's icon
+ 2. Top-level widget's icon
+ 3. Application main widget's icon
+
+New functions:
+ bool isFullScreen() const
+ void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE )
+
+New enum values:
+ AncestorOrigin
+
+
+QWMatrix
+------------------
+Two different transformation modes for painter transformations are now
+available. See the QWMatrix documentation for details.
+
+New functions:
+ QPointArray mapToPolygon( const QRect &r ) const
+ double det() const
+ static void setTransformationMode( QWMatrix::TransformationMode m )
+ static TransformationMode transformationMode()
+
+New enums:
+ TransformationMode { Points, Areas }
+
+
+QFtp
+------------------
+While still remaining a subclass of QNetworkProtocol, QFtp can be now
+used directly for more advanced FTP operations. The QFtp documentation
+provides details of the extensions to the API.
+
+
+QHttp
+------------------
+While still remaining a subclass of QNetworkProtocol, QHttp can be now
+used directly for more advanced HTTP operations. The QHttp
+documentation provides details of the extensions to the API.
+
+Related new classes:
+ QHttpHeader
+ QHttpResponseHeader
+ QHttpRequestHeader
+
+
+QSqlDriver
+------------------
+New enum values:
+ Unicode, PreparedQueries, OracleBindingStyle, ODBCBindingStyle
+
+
+QSqlQuery
+------------------
+New functions:
+ bool isForwardOnly() const
+ void setForwardOnly( bool forward )
+ bool exec()
+ bool prepare( const QString& query )
+ void bindValue( const QString& placeholder, const QVariant& val )
+ void bindValue( int pos, const QVariant& val )
+ void addBindValue( const QVariant& val )
+
+
+QTableSelection
+------------------
+New functions:
+ QTableSelection( int start_row, int start_col, int end_row, int end_col )
+
+
+QTable
+------------------
+New properties:
+ int numSelections
+
+New functions:
+ void selectCells( int start_row, int start_col, int end_row, int end_col )
+ void selectRow( int row )
+ void selectColumn( int col )
+ void updateHeaderStates()
+ void setRowLabels( const QStringList &labels )
+ void setColumnLabels( const QStringList &labels )
+
+
+QCString
+------------------
+New functions:
+ QCString &replace( char c, const char *after )
+ QCString &replace( const char *, const char * )
+ QCString &replace( char, char )
+
+New global functions:
+ QByteArray qCompress( const uchar* data, int nbytes )
+ QByteArray qUncompress( const uchar* data, int nbytes )
+ QByteArray qCompress( const QByteArray& data )
+ QByteArray qUncompress( const QByteArray& data )
+Improvements:
+ Speed optimisations in lots of the old search and replace
+ functions.
+
+
+QDate
+------------------
+New functions:
+ int weekNumber( int *yearNum = 0 ) const
+ static QDate currentDate( Qt::DateTimeSpec )
+
+
+QTime
+------------------
+New functions:
+ static QTime currentTime( Qt::DateTimeSpec )
+
+
+QDateTime
+------------------
+New functions:
+ static QDateTime currentDateTime( Qt::DateTimeSpec )
+
+
+QPtrList
+------------------
+New functions:
+ bool replace( uint i, const type *d )
+
+
+QRegExp
+------------------
+New functions:
+ QString errorString()
+ static QString escape( const QString& str )
+ int numCaptures() const
+
+
+QSettings
+------------------
+New functions:
+ QSettings( Format format )
+ void setPath( const QString &domain, const QString &product, Scope = User )
+ void beginGroup( const QString &group )
+ void endGroup()
+ void resetGroup()
+ QString group() const
+
+New enums:
+ Format { Native = 0, Ini }
+ Scope { User, Global }
+
+
+QChar
+------------------
+Updated Unicode tables to Unicode-3.2
+
+
+QString
+------------------
+New functions:
+ QString &append( const QByteArray & )
+ QString &append( const char * )
+ QString &prepend( const QByteArray & )
+ QString &prepend( const char * )
+ QString &remove( QChar c )
+ QString &remove( char c )
+ QString &remove( const QString & )
+ QString &remove( const QRegExp & )
+ QString &remove( const char * )
+ QString &replace( uint index, uint len, QChar )
+ QString &replace( uint index, uint len, char c )
+ QString &replace( QChar c, const QString & )
+ QString &replace( char c, const QString & after )
+ QString &replace( const QString &, const QString & )
+ QString &replace( QChar, QChar )
+ QString &operator+=( const QByteArray &str )
+ QString &operator+=( const char *str )
+ static QString fromUcs2( const unsigned short *ucs2 )
+ const unsigned short *ucs2() const
+
+Improvements:
+ find(), findRev() and contains() use either a fast hashing
+ algorithm (for short strings) or an optimized Boyer-Moore
+ implementation for long strings. Lots of smaller performance
+ optimisations.
+
+
+QTextStream
+------------------
+New functions:
+ QTextCodec *codec()
+
+
+QTimeEdit
+------------------
+New properties:
+ Display display
+
+New functions:
+ uint display() const
+ void setDisplay( uint )
+
+New enums:
+ Display { Hours, Minutes, Seconds, AMPM }
+
+
+QFrame
+------------------
+New enum values:
+ GroupBoxPanel
+
+
+QGroupBox
+------------------
+New properties:
+ bool flat
+
+New functions:
+ bool isFlat() const
+ void setFlat( bool b )
+
+
+QListBox
+------------------
+New functions:
+ QListBoxItem* selectedItem() const
+
+
+QListView
+------------------
+New functions:
+ int sortColumn() const
+
+
+QSlider
+------------------
+New functions:
+ void addLine() ( as slot)
+ void subtractLine() (as slot)
+
+
+QTextBrowser
+------------------
+New functions:
+ void sourceChanged( const QString& )
+ void anchorClicked( const QString&, const QString& )
+
+
+QTextEdit
+------------------
+QTextEdit offers another TextFormat (LogText), which is optimized
+(speed and memory) for displaying large read-only texts normally used
+for logging.
+
+New properties:
+ bool allowTabs
+
+New functions:
+ QString anchorAt( const QPoint& pos, AnchorAttribute a )
+ void setAllowTabs( bool b )
+ bool allowTabs() const
+ void insert( const QString &text, uint insertionFlags = CheckNewLines | RemoveSelected )
+
+New signals:
+ void clicked( int parag, int index )
+ void doubleClicked( int parag, int index )
+
+New enums:
+ TextInsertionFlags { RedoIndentation, CheckNewLines, RemoveSelected }
+
+New enum values:
+ AtWordOrDocumentBoundary
+
+
+QToolButton
+------------------
+New properties:
+ TextPosition textPosition
+
+New functions:
+ TextPosition textPosition() const
+ void setTextPosition( TextPosition pos )
+
+New enums:
+ TextPosition { Right, Under }
+
+
+QTooltip
+------------------
+New functions:
+ static void setWakeUpDelay( int )
+
+
+QWhatsThis
+------------------
+New functions:
+ static void setFont( const QFont &font )
+
+
+QDomDocument
+------------------
+New functions:
+ QString toString( int ) const
+ QCString toCString( int ) const
+
+
+QFont on X11
+------------------
+Improvements:
+ Safe handling of huge font sizes. Added support for the new
+ Xft2 font library on XFree-4.x.
+
+
+QRegion on X11
+------------------
+Improvements:
+ Removed the 16 bit size limitation
+
+****************************************************************************