"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 ****************************************************************************