dist/changes-3.1.0-b1
changeset 0 1918ee327afb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dist/changes-3.1.0-b1	Mon Jan 11 14:00:40 2010 +0000
@@ -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://qt.nokia.com/doc/.
+
+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
+
+****************************************************************************