"Fossies" - the Fresh Open Source Software Archive

Member "qt-everywhere-src-6.3.1/qtbase/dist/changes-3.1.0-b1" (25 May 2022, 17803 Bytes) of package /linux/misc/qt-everywhere-src-6.3.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Qt 3.1 introduces many significant new features and many improvements
    2 over the 3.0.x series. This file provides an overview of the main
    3 changes since version 3.0.5. For further details see the online
    4 documentation which is included in this distribution, and also
    5 available at http://qt.nokia.com/doc/.
    6 
    7 The Qt version 3.1 series is binary compatible with the 3.0.x series:
    8 applications compiled for 3.0 will continue to run with 3.1.
    9 
   10 
   11 ****************************************************************************
   12 *                                 General                                  *
   13 ****************************************************************************
   14 
   15 Qt Script for Applications
   16 --------------------------
   17 Qt 3.1 is the first Qt release that can be used with Qt Script for
   18 Applications (QSA). QSA provides a scripting engine, an IDE for
   19 creating and editing scripts and script forms, and bindings to the Qt
   20 API. Script-enabling a Qt application is not difficult and the IDE
   21 makes it easy for resellers and end-users to write their own scripts.
   22 QSA is due for release after Qt 3.1.
   23 
   24 
   25 Qt Designer
   26 -----------
   27 Qt Designer, the visual GUI builder, has undergone several usability
   28 improvements. A new dialog for creating and editing signals and slots
   29 connections has been created: it is much easier to use and much faster
   30 for setting up multiple connections. The widgets are now presented in
   31 an easy-to-use toolbox rather than in toolbars (although you can still
   32 have the toolbars if you want). The property editor now handles common
   33 properties in multiple widgets simultaneously. By popular demand,
   34 WYSIWYG support for QWidgetStack has been added. Rich text is now
   35 supported with a rich text editor. And the code editor can be used for
   36 ordinary member functions as well as for slots.
   37 
   38 
   39 Qt Assistant
   40 ------------
   41 Qt Assistant, the Qt documentation browser, can now be used with
   42 custom documentation sets. This new functionality combined with the
   43 new QAssistantClient class means that you can use Qt Assistant as a
   44 help browser for your own applications. Qt Assistant has also been
   45 enhanced by the addition of a fast full text search engine.
   46 
   47 
   48 Motif
   49 -----
   50 The general industry-wide move away from Motif is leaving more and
   51 more companies in need of a migration solution. But converting large
   52 legacy applications in one step is often impractical. To minimize
   53 risks and to manage the workload companies often want to port code on
   54 a module by module basis. Qt 3.1 includeds a completely new Motif
   55 module that supports hybrid applications in which Qt code and Motif
   56 code coexist. (This obsoletes the earlier rudimentary Qt Xt/Motif
   57 extension.)
   58 
   59 
   60 ActiveX
   61 -------
   62 With the release of Qt 3.1, customers who use Qt for Microsoft Windows
   63 development can now use Qt with ActiveX. The new ActiveQt module
   64 provides a simple API for COM and ActiveX. The module can be used to
   65 create applications which host ActiveX controls, and also to create
   66 applications that serve ActiveX controls (e.g. Internet Explorer
   67 plugins).
   68 
   69 
   70 Qt/Mac
   71 ------
   72 The introduction of Qt/Mac, a Mac OS X port of Qt, with Qt 3.0 has
   73 proved a great success. This port has undergone many improvements in
   74 Qt 3.1, especially with respect to Appearance Manager, anti-aliased
   75 text and user settings. The Qt OpenGL support is greatly improved, and
   76 uses the hardware-accelerated drivers.
   77 
   78 
   79 Qt/Embedded
   80 -----------
   81 Graphics, mouse and keyboard drivers can now be compiled as plugins.
   82 
   83 
   84 Qt library
   85 ----------
   86 In addition to the new additions and enhancements referred to above,
   87 as with all major Qt releases, Qt 3.1 includes hundreds of
   88 improvements in the existing class library. Here is a brief summary of
   89 the most significant changes:
   90 
   91 - QTextEdit has a new text format: LogText. This is a performance and
   92   memory optimized format especially designed for the fast display of
   93   large amounts of text. The format supports basic highlighting,
   94   including bold and colored text.
   95 
   96 - The new QSyntaxHighlighter class makes it both easy and efficient to
   97   add syntax highlighting capabilities to a QTextEdit.
   98 
   99 - QHttp and QFtp in earlier Qt's were implementations of the
  100   QNetworkProtocol. Both have been extended to stand in their own
  101   right. If you missed some flexibility in the network protocol
  102   abstractions of earlier Qt's, the new QHttp and QFtp classes should
  103   provide the solution.
  104 
  105 - QAccel, used to handle keyboard shortcuts, now gracefully copes with
  106   shortcut clashes. If a clash occurs, a new signal,
  107   activatedAmbiguously(), is emitted. Classes that use QAccel, like
  108   QButton and QPopupMenu, make use of this new functionality.
  109   Futhermore QAccel can now handle multi-key sequences, for example,
  110   Ctrl+X,Ctrl+F.
  111 
  112 - QClipboard has been extended to simplify data exchange between
  113   programs.
  114 
  115 - Thread support: almost all methods in the tools classes have been
  116   made reentrant. QApplication::postEvent() and a few other methods
  117   are now thread-safe if Qt is compiled as a multi-threaded library.
  118   (The documentation now states if a class or function is thread-safe
  119   or reentrant.)
  120 
  121 - A QMutexLocker class has been added to simplify the locking and
  122   unlocking of mutexes.
  123 
  124 - Input methods: A selectionLength() function has been added to
  125   QIMEvent. Japanese compositions are now handled correctly. Support
  126   for AIMM based input methods (those working on non-Asian versions of
  127   Win95/98/Me) has been added.
  128 
  129 - Large File support: Qt's internals have been modified to support
  130   Large Files (> 2GB). QFileDialog will now correctly display and
  131   select Large Files.
  132 
  133 - SQL module: Support for prepared query execution and value binding
  134   has been added. Among other benefits, this makes it possible to
  135   write large BLOBs (> 2 KB) to Oracle databases, and to write Unicode
  136   strings to SQL Server databases.
  137 
  138 
  139 Build process
  140 -------------
  141 The build process has been improved:
  142 
  143 - The configure script does not need QTDIR to be set anymore.
  144 
  145 
  146 ****************************************************************************
  147 *                                 Library                                  *
  148 ****************************************************************************
  149 
  150 New classes
  151 ==================
  152 
  153 - QBackInsertIterator
  154 - QEventLoop
  155 - QIconFactory
  156 - QMutexLocker
  157 - QSyntaxHighlighter
  158 
  159 
  160 QAction
  161 ------------------
  162 New functions:
  163 	void setVisible( bool )
  164 	bool isVisible() const
  165 
  166 
  167 QCanvas
  168 ------------------
  169 New functions:
  170 	void invalidate()
  171 	bool isValid() const
  172 
  173 
  174 QColorDialog
  175 ------------------
  176 New functions:
  177 	static void setStandardColor( int, QRgb )
  178 
  179 
  180 QAccel
  181 ------------------
  182 New signals:
  183 	void activatedAmbiguously( int id )
  184 
  185 
  186 QApplication
  187 ------------------
  188 The event loop has been moved to the QEventLoop class, making it
  189 easier to integrate other toolkits with Qt.
  190 
  191 New functions:
  192 	QEventLoop *eventLoop() const
  193 	void setEventLoop( QEventLoop * )
  194 	QString sessionKey() const
  195 
  196 
  197 QClipboard
  198 ------------------
  199 New functions:
  200 	void clear( Mode mode )
  201 	bool supportsSelection() const
  202 	bool ownsSelection() const
  203 	bool ownsClipboard() const
  204 	QString text( Mode mode )  const
  205 	QString text( QCString& subtype, Mode mode ) const
  206 	void setText( const QString &, Mode mode )
  207 	QMimeSource *data( Mode mode ) const
  208 	void setData( QMimeSource*, Mode mode )
  209 	QImage image( Mode mode ) const
  210 	QPixmap pixmap( Mode mode ) const
  211 	void setImage( const QImage &, Mode mode )
  212 	void setPixmap( const QPixmap &, Mode mode )
  213 
  214 
  215 QDesktopWidget
  216 ------------------
  217 New functions:
  218 	const QRect& screenGeometry( QWidget *widget ) const
  219 	const QRect& screenGeometry( const QPoint &point ) const
  220 	const QRect& availableGeometry( int screen ) const
  221 	const QRect& availableGeometry( QWidget *widget ) const
  222 	const QRect& availableGeometry( const QPoint &point ) const
  223 
  224 
  225 QFileDialog
  226 ------------------
  227 Large Files (> 2GB) are now correctly displayed and selected.
  228 
  229 
  230 QFileInfo
  231 ------------------
  232 QFileInfo now supports Large Files (> 2GB) internally. To maintain
  233 binary compatibility the QFileInfo API cannot be adapted before Qt 4
  234 and will truncate file sizes and offsets to 4 GB.
  235 
  236 New functions:
  237 	bool isHidden() const
  238 
  239 
  240 QFile
  241 ------------------
  242 QFile now supports Large Files (> 2GB) internally. To maintain binary
  243 compatibility the QFile API cannot be adapted before Qt 4 and will
  244 truncate file sizes and offsets to 4 GB.
  245 
  246 
  247 QDir
  248 ------------------
  249 QDir now supports Large Files (> 2GB).
  250 
  251 
  252 QImEvent
  253 ------------------
  254 New functions:
  255 	in selectionLength() const
  256 
  257 
  258 QIconSet
  259 ------------------
  260 New functions:
  261 	void installIconFactory( QIconFactory *factory )
  262 
  263 
  264 QImage
  265 ------------------
  266 New functions:
  267 	static QImage fromMimeSource( const QString& abs_name )
  268 
  269 
  270 QMetaObject
  271 ------------------
  272 New functions:
  273 	QStrList enumeratorNames( bool super ) const
  274 	int numEnumerators( bool super ) const
  275 	static bool hasMetaObject( const char *class_name )
  276 
  277 
  278 QMenuData
  279 ------------------
  280 New functions:
  281 	bool isItemVisible( int id ) const
  282 	void setItemVisible( int id, bool visible )
  283 Both functions are inherited by QMenuBar and QPopupMenu
  284 
  285 
  286 QPaintDevice
  287 ------------------
  288 New functions (x11 only):
  289 	static Qt::HANDLE x11AppRootWindow()
  290 	static int x11AppDepth( int screen )
  291 	static int x11AppCells( int screen )
  292 	static Qt::HANDLE x11AppRootWindow( int screen )
  293 	static Qt::HANDLE x11AppColormap( int screen )
  294 	static void *x11AppVisual( int screen )
  295 	static bool x11AppDefaultColormap( int screen )
  296 	static bool x11AppDefaultVisual( int screen )
  297 	static int x11AppDpiX( int )
  298 	static int x11AppDpiY( int )
  299 	static void x11SetAppDpiX( int, int )
  300 	static void x11SetAppDpiY( int, int )
  301 
  302 
  303 QPicture
  304 ------------------
  305 New functions:
  306 	void setBoundingRect( const QRect &r )
  307 
  308 
  309 QPixmap
  310 ------------------
  311 New functions:
  312 	bool hasAlpha() const
  313 	static QPixmap fromMimeSource( const QString& abs_name )
  314 
  315 
  316 QPrinter
  317 ------------------
  318 New functions:
  319 	void setMargins( uint top, uint left, uint bottom, uint right )
  320 	void margins( uint *top, uint *left, uint *bottom, uint *right ) const
  321 
  322 Improvements:
  323 	Handle masked images and pixmaps correctly. Add code to handle
  324 	asymmetrical printer margins correctly.
  325 
  326 
  327 QSessionManager
  328 ------------------
  329 New functions:
  330 	QString sessionKey() const
  331 
  332 
  333 QStyleOption
  334 ------------------
  335 New functions:
  336 	QStyleOption( QCheckListItem* i )
  337 	QCheckListItem* checkListItem() const
  338 
  339 New enums values:
  340 	PE_CheckListController, PE_CheckListIndicator,
  341 	    PE_CheckListExclusiveIndicator, PE_PanelGroupBox
  342 	CE_MenuBarEmptyArea
  343 	CE_DockWindowEmptyArea
  344 	PM_CheckListButtonSize
  345 	CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit
  346 	SH_GroupBox_TextLabelVerticalAlignment
  347 
  348 
  349 QThread
  350 ------------------
  351 New functions:
  352 	void terminate()
  353 
  354 
  355 QTranslator
  356 ------------------
  357 New functions:
  358 	bool load( const uchar *data, int len )
  359 
  360 
  361 QVariant
  362 ------------------
  363 New functions:
  364 	QVariant( const QPen& )
  365 	const QPen toPen() const
  366 	QPen& asPen()
  367 	bool isNull() const
  368 
  369 New enum values:
  370 	KeySequence, Pen
  371 
  372 
  373 QWidget
  374 ------------------
  375 All top-level widgets will now try to find an appropriate application
  376 icon when they're not given one, trying in this order
  377  1. Parent widget's icon
  378  2. Top-level widget's icon
  379  3. Application main widget's icon
  380 
  381 New functions:
  382 	bool isFullScreen() const
  383 	void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE )
  384 
  385 New enum values:
  386 	AncestorOrigin
  387 
  388 
  389 QWMatrix
  390 ------------------
  391 Two different transformation modes for painter transformations are now
  392 available. See the QWMatrix documentation for details.
  393 
  394 New functions:
  395 	QPointArray mapToPolygon( const QRect &r ) const
  396 	double det() const
  397 	static void setTransformationMode( QWMatrix::TransformationMode m )
  398 	static TransformationMode transformationMode()
  399 
  400 New enums:
  401 	TransformationMode { Points, Areas }
  402 
  403 
  404 QFtp
  405 ------------------
  406 While still remaining a subclass of QNetworkProtocol, QFtp can be now
  407 used directly for more advanced FTP operations. The QFtp documentation
  408 provides details of the extensions to the API.
  409 
  410 
  411 QHttp
  412 ------------------
  413 While still remaining a subclass of QNetworkProtocol, QHttp can be now
  414 used directly for more advanced HTTP operations. The QHttp
  415 documentation provides details of the extensions to the API.
  416  
  417 Related new classes:
  418 	QHttpHeader
  419 	QHttpResponseHeader
  420 	QHttpRequestHeader
  421 
  422 
  423 QSqlDriver
  424 ------------------
  425 New enum values:
  426 	Unicode, PreparedQueries, OracleBindingStyle, ODBCBindingStyle
  427 	
  428 
  429 QSqlQuery
  430 ------------------
  431 New functions:
  432 	bool isForwardOnly() const
  433 	void setForwardOnly( bool forward )
  434 	bool exec()
  435 	bool prepare( const QString& query )
  436 	void bindValue( const QString& placeholder, const QVariant& val )
  437 	void bindValue( int pos, const QVariant& val )
  438 	void addBindValue( const QVariant& val )
  439 
  440 
  441 QTableSelection
  442 ------------------
  443 New functions:
  444 	QTableSelection( int start_row, int start_col, int end_row, int end_col )
  445 
  446 
  447 QTable
  448 ------------------
  449 New properties:
  450 	int numSelections
  451 
  452 New functions:
  453 	void selectCells( int start_row, int start_col, int end_row, int end_col )
  454 	void selectRow( int row )
  455 	void selectColumn( int col )
  456 	void updateHeaderStates()
  457 	void setRowLabels( const QStringList &labels )
  458 	void setColumnLabels( const QStringList &labels )
  459 
  460 
  461 QCString
  462 ------------------
  463 New functions:
  464     	QCString &replace( char c, const char *after )
  465     	QCString &replace( const char *, const char * )
  466     	QCString &replace( char, char )
  467 
  468 New global functions:
  469 	QByteArray qCompress( const uchar* data, int nbytes )
  470 	QByteArray qUncompress( const uchar* data, int nbytes )
  471 	QByteArray qCompress( const QByteArray& data )
  472 	QByteArray qUncompress( const QByteArray& data )
  473 Improvements:
  474 	Speed optimisations in lots of the old search and replace
  475 	functions.
  476 
  477 
  478 QDate
  479 ------------------
  480 New functions:
  481 	int weekNumber( int *yearNum = 0 ) const
  482 	static QDate currentDate( Qt::DateTimeSpec )
  483 
  484 
  485 QTime
  486 ------------------
  487 New functions:
  488 	static QTime currentTime( Qt::DateTimeSpec )
  489 
  490 
  491 QDateTime
  492 ------------------
  493 New functions:
  494 	static QDateTime currentDateTime( Qt::DateTimeSpec )
  495 
  496 
  497 QPtrList
  498 ------------------
  499 New functions:
  500 	bool replace( uint i, const type *d )
  501 
  502 
  503 QRegExp
  504 ------------------
  505 New functions:
  506 	QString errorString()
  507 	static QString escape( const QString& str )
  508 	int numCaptures() const
  509 
  510 
  511 QSettings
  512 ------------------
  513 New functions:
  514 	QSettings( Format format )
  515 	void setPath( const QString &domain, const QString &product, Scope = User )
  516 	void beginGroup( const QString &group )
  517 	void endGroup()
  518 	void resetGroup()
  519 	QString group() const
  520 
  521 New enums:
  522 	Format { Native = 0, Ini }
  523 	Scope { User, Global }
  524 
  525 
  526 QChar
  527 ------------------
  528 Updated Unicode tables to Unicode-3.2
  529 
  530 
  531 QString
  532 ------------------
  533 New functions:
  534 	QString &append( const QByteArray & )
  535 	QString &append( const char * )
  536 	QString &prepend( const QByteArray & )
  537 	QString &prepend( const char * )
  538 	QString &remove( QChar c )
  539 	QString &remove( char c )
  540 	QString &remove( const QString & )
  541 	QString &remove( const QRegExp & )
  542 	QString &remove( const char * )
  543 	QString &replace( uint index, uint len, QChar )
  544 	QString &replace( uint index, uint len, char c )
  545 	QString &replace( QChar c, const QString & )
  546 	QString &replace( char c, const QString & after )
  547 	QString &replace( const QString &, const QString & )
  548 	QString &replace( QChar, QChar )
  549 	QString &operator+=( const QByteArray &str )
  550 	QString &operator+=( const char *str )
  551 	static QString fromUcs2( const unsigned short *ucs2 )
  552 	const unsigned short *ucs2() const
  553 
  554 Improvements:
  555 	find(), findRev() and contains() use either a fast hashing
  556 	algorithm (for short strings) or an optimized Boyer-Moore
  557 	implementation for long strings. Lots of smaller performance
  558 	optimisations.
  559 
  560 
  561 QTextStream
  562 ------------------
  563 New functions:
  564 	QTextCodec *codec()
  565 
  566 
  567 QTimeEdit
  568 ------------------
  569 New properties:
  570 	Display display
  571 
  572 New functions:
  573 	uint display() const
  574 	void setDisplay( uint )
  575 
  576 New enums:
  577 	Display { Hours, Minutes, Seconds, AMPM }
  578 
  579 
  580 QFrame
  581 ------------------
  582 New enum values:
  583 	GroupBoxPanel
  584 
  585 
  586 QGroupBox
  587 ------------------
  588 New properties:
  589 	bool flat
  590 
  591 New functions:
  592 	bool isFlat() const
  593 	void setFlat( bool b )
  594 
  595 
  596 QListBox
  597 ------------------
  598 New functions:
  599 	QListBoxItem* selectedItem() const
  600 
  601 
  602 QListView
  603 ------------------
  604 New functions:
  605 	int sortColumn() const
  606 
  607 
  608 QSlider
  609 ------------------
  610 New functions:
  611 	void addLine() ( as slot)
  612 	void subtractLine() (as slot)
  613 
  614 
  615 QTextBrowser
  616 ------------------
  617 New functions:
  618 	void sourceChanged( const QString& )
  619 	void anchorClicked( const QString&, const QString& )
  620 
  621 
  622 QTextEdit
  623 ------------------
  624 QTextEdit offers another TextFormat (LogText), which is optimized
  625 (speed and memory) for displaying large read-only texts normally used
  626 for logging.
  627 
  628 New properties:
  629 	bool allowTabs
  630 
  631 New functions:
  632 	QString anchorAt( const QPoint& pos, AnchorAttribute a )
  633 	void setAllowTabs( bool b )
  634 	bool allowTabs() const
  635 	void insert( const QString &text, uint insertionFlags = CheckNewLines | RemoveSelected )
  636 
  637 New signals:
  638 	void clicked( int parag, int index )
  639 	void doubleClicked( int parag, int index )
  640 
  641 New enums:
  642 	TextInsertionFlags { RedoIndentation, CheckNewLines, RemoveSelected }
  643 
  644 New enum values:
  645 	AtWordOrDocumentBoundary
  646 
  647 
  648 QToolButton
  649 ------------------
  650 New properties:
  651 	TextPosition textPosition
  652 
  653 New functions:
  654 	TextPosition textPosition() const
  655 	void setTextPosition( TextPosition pos )
  656 
  657 New enums:
  658 	TextPosition { Right, Under }
  659 
  660 
  661 QTooltip
  662 ------------------
  663 New functions:
  664 	static void setWakeUpDelay( int )
  665 
  666 
  667 QWhatsThis
  668 ------------------
  669 New functions:
  670 	static void setFont( const QFont &font )
  671 
  672 
  673 QDomDocument
  674 ------------------
  675 New functions:
  676 	QString toString( int ) const
  677 	QCString toCString( int ) const
  678 
  679 
  680 QFont on X11 
  681 ------------------ 
  682 Improvements:
  683 	Safe handling of huge font sizes. Added support for the new
  684 	Xft2 font library on XFree-4.x.
  685 
  686 
  687 QRegion on X11 
  688 ------------------ 
  689 Improvements:
  690 	Removed the 16 bit size limitation
  691 
  692 ****************************************************************************