dist/changes-3.0.0-beta1
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.0 adds a lot of new features and improvements over the Qt 2.x
       
     2 series. Some internals have undergone major redesign and new classes
       
     3 and methods have been added.
       
     4 
       
     5 We have tried to keep the API of Qt 3.0 as compatible as possible with
       
     6 the Qt 2.x series. For most applications only minor changes will be
       
     7 needed to compile and run them successfully using Qt 3.0.
       
     8 
       
     9 One of the major new features that has been added in the 3.0 release
       
    10 is a module allowing you to easily work with databases. The API is
       
    11 platform independent and database neutral. This module is seamlessly
       
    12 integrated into Qt Designer, greatly simplifying the process of
       
    13 building database applications and using data aware widgets.
       
    14 
       
    15 Other major new features include a component architecture allowing you
       
    16 to build cross platform components, 'plugins' with Qt. You can use
       
    17 your own and third party plugins your own applications. The Unicode
       
    18 support of Qt 2.x has been greatly enhanced, it now includes full
       
    19 support for scripts written from right to left (e.g. Arabic and
       
    20 Hebrew) and also provides improved support for Asian languages.
       
    21 
       
    22 Many new classes have been added to the Qt Library. Amongst them are
       
    23 classes that provide a docking architecture (QDockArea/QDockWindow), a
       
    24 powerful rich text editor (QTextEdit), a class to store and access
       
    25 application settings (QSettings) and a class to create and communicate
       
    26 with processes (QProcess).
       
    27 
       
    28 Apart from the changes in the library itself a lot has been done to
       
    29 make the development of Qt applications with Qt 3.0 even easier than
       
    30 before. Two new applications have been added: Qt Linguist is a tool to
       
    31 help you translate your application into different languages; Qt
       
    32 Assistant is an easy to use help browser for the Qt documentation that
       
    33 supports bookmarks and can search by keyword.
       
    34 
       
    35 Another change concerns the Qt build system, which has been reworked
       
    36 to make it a lot easier to port Qt to new platforms. You can use this
       
    37 platform independent build system for your own applications.
       
    38 
       
    39 
       
    40 The Qt Library
       
    41 ========================================
       
    42 
       
    43 A large number of new features has been added to Qt 3.0. The following
       
    44 list gives an overview of the most important new and changed aspects
       
    45 of the Qt library. A full list of every new method follows the
       
    46 overview.
       
    47 
       
    48 
       
    49 Database support
       
    50 ----------------
       
    51 
       
    52 One of the major new features in Qt 3.0 is the SQL module that
       
    53 provides cross-platform access to SQL databases, making database
       
    54 application programming with Qt seamless and portable. The API, built
       
    55 with standard SQL, is database-neutral and software development is
       
    56 independent of the underlying database.
       
    57 
       
    58 A collection of tightly focused C++ classes are provided to give the
       
    59 programmer direct access to SQL databases. Developers can send raw SQL
       
    60 to the database server or have the Qt SQL classes generate SQL queries
       
    61 automatically.  Drivers for Oracle, PostgreSQL, MySQL and ODBC are
       
    62 available and writing new drivers is straightforward.
       
    63 
       
    64 Tying the results of SQL queries to GUI components is fully supported
       
    65 by Qt's SQL widgets. These classes include a tabular data widget
       
    66 (for spreadsheet-like data presentation with in-place editing), a
       
    67 form-based data browser (which provides data navigation and edit
       
    68 functions) and a form-based data viewer (which provides read-only
       
    69 forms). This framework can be extended by using custom field editors,
       
    70 allowing for example, a data table to use custom widgets for in-place
       
    71 editing. The SQL module fully supports Qt's signal/slots mechanism,
       
    72 making it easy for developers to include their own data validation and
       
    73 auditing code.
       
    74 
       
    75 Qt Designer fully supports Qt's SQL module. All SQL widgets can be
       
    76 laid out within Qt Designer, and relationships can be established
       
    77 between controls visually. Many interactions can be defined purely in
       
    78 terms of Qt's signals/slots mechanism directly in Qt Designer.
       
    79 
       
    80 
       
    81 Component model - plugins
       
    82 -------------------------
       
    83 
       
    84 The QLibrary class provides a platform independent wrapper for runtime
       
    85 loading of shared libraries. Access to the shared libraries uses a
       
    86 COM-like interface. QPluginManager makes it trivial to implement
       
    87 plugin support in applications. The Qt library is able to load
       
    88 additional styles, database drivers and text codecs from plugins which
       
    89 implement the relevant interfaces, e.g. QStyleFactoryInterface,
       
    90 QSqlDriverInterface or QTextCodecInterface. It is possible to remove
       
    91 unused components from the Qt library, and easy to extend any
       
    92 application with 3rd party styles, database drivers or text codecs.
       
    93 
       
    94 Qt Designer supports custom widgets in plugins, and will use the
       
    95 widgets both when designing and previewing forms.
       
    96 
       
    97 QComponentFactory makes it easy to register any kind of component in a
       
    98 global database (e.g. the Windows Registry) and to use any registered
       
    99 component.
       
   100 
       
   101 
       
   102 Rich text engine and editor
       
   103 ---------------------------
       
   104 
       
   105 The rich text engine originally introduced in Qt 2.0 has been further
       
   106 optimized and extended to support editing. It allows editing formatted
       
   107 text with different fonts, colors, paragraph styles, tables and
       
   108 images. The editor supports different word wrap modes, command-based
       
   109 undo/redo, multiple selections, drag and drop, and many other
       
   110 features.  The engine is highly optimized for proccesing and displaying
       
   111 large documents quickly and efficiently.
       
   112 
       
   113 
       
   114 Unicode
       
   115 -------
       
   116 
       
   117 Apart from the rich text engine, another new feature of Qt 3.0 that
       
   118 relates to text handling is the greatly improved Unicode support. Qt
       
   119 3.0 includes an implementation of the bidirectional algorithm (BiDi)
       
   120 as defined in the Unicode standard and a shaping engine for Arabic,
       
   121 which gives full native language support to Arabic and Hebrew speaking
       
   122 people. At the same time the support for Asian languages has been
       
   123 greatly enhanced.
       
   124 
       
   125 The support is almost transparent for the developer using Qt to
       
   126 develop their applications. This means that developers who developed
       
   127 applications using Qt 2.x will automatically gain the full support for
       
   128 these languages when switching to Qt 3.0. Developers can rely on their
       
   129 application to work for people using writing systems different from
       
   130 Latin1, without having to worry about the complexities involved with
       
   131 these scripts, as Qt takes care of this automatically.
       
   132 
       
   133 
       
   134 Docked and Floating Windows
       
   135 ---------------------------
       
   136 
       
   137 Qt 3.0 introduces the concept of Dock Windows and Dock Areas. Dock
       
   138 windows are widgets, that can be attached to, and detached from, dock
       
   139 areas. The commonest kind of dock window is a tool bar. Any number of
       
   140 dock windows may be placed in a dock area. A main window can have dock
       
   141 areas, for example, QMainWindow provides four dock areas (top, left,
       
   142 bottom, right) by default. The user can freely move dock windows and
       
   143 place them at a convenient place in a dock area, or drag them out of
       
   144 the application and have them float freely as top level windows in
       
   145 their own right. Dock windows can also be minimized or hidden.
       
   146 
       
   147 For developers, dock windows behave just like ordinary widgets. QToolbar
       
   148 for example is now a specialized subclass of a dock window.  The API
       
   149 of QMainWindow and QToolBar is source compatible with Qt 2.x, so
       
   150 existing code which uses these classes will continue to work.
       
   151 
       
   152 
       
   153 Regular Expressions
       
   154 -------------------
       
   155 
       
   156 Qt has always provided regular expression support, but that support
       
   157 was pretty much limited to what was required in common GUI control
       
   158 elements such as file dialogs. Qt 3.0 introduces a new regular
       
   159 expression engine that supports most of Perl's regex features and is
       
   160 Unicode based. The most useful additions are support for parentheses
       
   161 (capturing and non-capturing) and backreferences.
       
   162 
       
   163 
       
   164 Storing application settings
       
   165 ----------------------------
       
   166 
       
   167 Most programs will need to store some settings between runs, for
       
   168 example, user selected fonts, colors and other preferences, or a list
       
   169 of recently used files.  The new QSettings class provides a platform
       
   170 independent way to achieve this goal. The API makes it easy to store
       
   171 and retrieve most of the basic data types used in Qt (such as basic
       
   172 C++ types, strings, lists, colors, etc). The class uses the registry
       
   173 on the Windows platform and traditional resource files on Unix.
       
   174 
       
   175 
       
   176 Creating and controlling other processes
       
   177 ----------------------------------------
       
   178 
       
   179 QProcess is a class that allows you to start other programs from
       
   180 within a Qt application in a platform independent manner. It gives you
       
   181 full control over the started program, for example you can redirect
       
   182 the input and output of console applications.
       
   183 
       
   184 
       
   185 Accessibility (not part of the beta1 release)
       
   186 ---------------------------------------------
       
   187 
       
   188 Accessibility means making software usable and accessible to a wide
       
   189 range of users, including those with disabilities. In Qt 3.0, most
       
   190 widgets provide accessibility information for assistive tools that can
       
   191 be used by a wide range of disabled users. Qt standard widgets like
       
   192 buttons or range controls are fully supported. Support for complex
       
   193 widgets, like e.g. QListView, is in development. Existing applications
       
   194 that make use of standard widgets will become accessible just by using
       
   195 Qt 3.0.
       
   196 
       
   197 Qt uses the Active Accessibility infrastructure on Windows, and needs
       
   198 the MSAA SDK, which is part of most platform SDKs. With improving
       
   199 standardization of accessibility on other platforms, Qt will support
       
   200 assistive technologies on other systems, too.
       
   201 
       
   202 The accessibility API in Qt is not yet stable, which is why we decided
       
   203 not to make it a part of the beta1 release.
       
   204 
       
   205 
       
   206 XML Improvements
       
   207 ----------------
       
   208 
       
   209 The XML framework introduced in Qt 2.2 has been vastly improved. Qt
       
   210 2.2 already supported level 1 of the Document Object Model (DOM), a
       
   211 W3C standard for accessing and modifying XML documents.  Qt 3.0 has
       
   212 added support for DOM Level 2 and XML namespaces.
       
   213 
       
   214 The XML parser has been extended to allow incremental parsing of XML
       
   215 documents. This allows you to start parsing the document directly
       
   216 after the first parts of the data have arrived, and to continue
       
   217 whenever new data is available.  This is especially useful if the XML
       
   218 document is read from a slow source, e.g. over the network, as it
       
   219 allows the application to start working on the data at a very early
       
   220 stage.
       
   221 
       
   222 
       
   223 SVG support
       
   224 -----------
       
   225 
       
   226 SVG is a W3C standard for "Scalable Vector Graphics". Qt 3.0's SVG
       
   227 support means that QPicture can optionally generate and import static
       
   228 SVG documents. All the SVG features that have an equivalent in
       
   229 QPainter are supported.
       
   230 
       
   231 
       
   232 Multihead support
       
   233 -----------------
       
   234 
       
   235 Many professional applications, such as DTP and CAD software, are able
       
   236 to display data on two or more monitors. In Qt 3.0 the QDesktopWidget
       
   237 class provides the application with runtime information about the
       
   238 number and geometry of the desktops on the different monitors and such
       
   239 allows applications to efficiently use a multi-monitor setup.
       
   240 
       
   241 The virtual desktop of Windows 98 and 2000 is supported, as well as
       
   242 the traditional multi-screen and the newer Xinerama multihead setups
       
   243 on X11.
       
   244 
       
   245 
       
   246 X11 specific enhancements
       
   247 -------------------------
       
   248 
       
   249 Qt 3.0 now complies with the NET WM Specification, recently adopted
       
   250 by KDE 2.0.  This allows easy integration and proper execution with
       
   251 desktop environments that support the NET WM specification.
       
   252 
       
   253 The font handling on X11 has undergone major changes.  QFont no longer
       
   254 has a one-to-one relation with window system fonts.  QFont is now a
       
   255 logical font that can load multiple window system fonts to simplify
       
   256 Unicode text display.  This completely removes the burden of
       
   257 changing/setting fonts for a specific locale/language from the
       
   258 programmer.  For end-users, any font can be used in any locale.  For
       
   259 example, a user in Norway will be able to see Korean text without
       
   260 having to set their locale to Korean.
       
   261 
       
   262 Qt 3.0 also supports the new render extension recently added to
       
   263 XFree86. This adds support for anti aliased text and pixmaps with
       
   264 alpha channel (semi transparency) on the systems that support the
       
   265 rendering extension (at the moment XFree 4.0.3 and later).
       
   266 
       
   267 
       
   268 Printing
       
   269 --------
       
   270 
       
   271 Printing support has been enhanced on all platforms. The QPrinter
       
   272 class now supports setting a virtual resolution for the painting
       
   273 process. This makes WYSIWYG printing trivial, and also allows you to
       
   274 take full advantage of the high resolution of a printer when painting
       
   275 on it.
       
   276 
       
   277 The postscript driver built into Qt and used on Unix has been greatly
       
   278 enhanced. It supports the embedding of true/open type and type1 fonts
       
   279 into the document, and can correctly handle and display Unicode.
       
   280 Support for fonts built into the printer has been enhanced and Qt now
       
   281 knows about the most common printer fonts used for Asian languages.
       
   282 
       
   283 
       
   284 QHttp
       
   285 -----
       
   286 
       
   287 This class provides a simple interface for HTTP downloads and uploads.
       
   288 
       
   289 
       
   290 Compatibility with the Standard Template Library (STL)
       
   291 ------------------------------------------------------
       
   292 
       
   293 Support for the C++ Standard Template Library has been added to the Qt
       
   294 Template Library (QTL).  The QTL classes now contain appropriate copy
       
   295 constructors and typedefs so that they can be freely mixed with other
       
   296 STL containers and algorithms.  In addition, new member functions have
       
   297 been added to QTL template classes which correspond to STL-style
       
   298 naming conventions (e.g., push_back()).
       
   299 
       
   300 
       
   301 Qt Designer
       
   302 ========================================
       
   303 
       
   304 Qt Designer was a pure dialog editor in Qt 2.2 but has now been
       
   305 extended to provide the full functionality of a GUI design tool.
       
   306 
       
   307 This includes the ability to lay out main windows with menus and
       
   308 toolbars. Actions can be edited within Qt Designer and then plugged
       
   309 into toolbars and menu bars via drag and drop. Splitters can now be
       
   310 used in a way similar to layouts to group widgets horizontally or
       
   311 vertically.
       
   312 
       
   313 In Qt 2.2, many of the dialogs created by Qt Designer had to be
       
   314 subclassed to implement functionality beyond the predefined signal and
       
   315 slot connections. Whilst the subclassing approach is still fully supported,
       
   316 Qt Designer now offers an alternative: a plugin for editing 
       
   317 slots. The editor offers features such as syntax highlighting,
       
   318 completion, parentheses matching and incremental search.
       
   319 
       
   320 The functionality of Qt Designer can now be extended via plugins.
       
   321 Using Qt Designer's interface or by implementing one of the provided
       
   322 interfaces in a plugin, a two way communication between plugin and Qt
       
   323 Designer can be established. This functionality is used to implement
       
   324 plugins for custom widgets, so that they can be used as real widgets
       
   325 inside the designer.
       
   326 
       
   327 Basic support for project management has been added. This allows you
       
   328 to read and edit *.pro files, add and remove files to/from the project
       
   329 and do some global operations on the project. You can now open the
       
   330 project file and have one-click access to all the *.ui forms in the
       
   331 project.
       
   332 
       
   333 In addition to generating code via uic, Qt Designer now supports the
       
   334 dynamic creation of widgets directly from XML user interface
       
   335 description files (*.ui files) at runtime. This eliminates the need of
       
   336 recompiling your application when the GUI changes, and could be used
       
   337 to enable your customers to do their own customizations. Technically,
       
   338 the feature is provided by a new class, QWidgetFactory in the
       
   339 QResource library.
       
   340 
       
   341 
       
   342 Qt Linguist
       
   343 ========================================
       
   344 
       
   345 Qt Linguist is a GUI utility to support translating the user-visible
       
   346 text in applications written with Qt. It comes with two command-line
       
   347 tools: lupdate and lrelease.
       
   348 
       
   349 Translation of a Qt application is a three-step process:
       
   350 
       
   351   1) Run lupdate to extract user-visible text from the C++ source
       
   352      code of the Qt application, resulting in a translation source file
       
   353      (a *.ts file).
       
   354   2) Provide translations for the source texts in the *.ts file using
       
   355      Qt Linguist.
       
   356   3) Run lrelease to obtain a light-weight message file (a *.qm file)
       
   357      from the *.ts file, which provides very fast lookup for released
       
   358      applications.
       
   359 
       
   360 Qt Linguist is a tool suitable for use by translators. Each
       
   361 user-visible (source) text is characterized by the text itself, a
       
   362 context (usually the name of the C++ class containing the text), and
       
   363 an optional comment to help the translator. The C++ class name will
       
   364 usually be the name of the relevant dialog, and the comment will often
       
   365 contain instructions that describe how to navigate to the relevant
       
   366 dialog.
       
   367 
       
   368 You can create phrase books for Qt Linguist to provide common
       
   369 translations to help ensure consistency and to speed up the
       
   370 translation process. Whenever a translator navigates to a new text to
       
   371 translate, Qt Linguist uses an intelligent algorithm to provide a list
       
   372 of possible translations: the list is composed of relevant text from
       
   373 any open phrase books and also from identical or similar text that has
       
   374 already been translated.
       
   375 
       
   376 Once a translation is complete it can be marked as "done"; such
       
   377 translations are included in the *.qm file. Text that has not been
       
   378 "done" is included in the *.qm file in its original form. Although Qt
       
   379 Linguist is a GUI application with dock windows and mouse control,
       
   380 toolbars, etc., it has a full set of keyboard shortcuts to make
       
   381 translation as fast and efficient as possible.
       
   382 
       
   383 When the Qt application that you're developing evolves (e.g. from
       
   384 version 1.0 to version 1.1), the utility lupdate merges the source
       
   385 texts from the new version with the previous translation source file,
       
   386 reusing existing translations. In some typical cases, lupdate may
       
   387 suggest translations. These translations are marked as unfinished, so
       
   388 you can easily find and check them.
       
   389 
       
   390 
       
   391 Qt Assistant
       
   392 ========================================
       
   393 
       
   394 Due to the positive feedback we received about the help system built
       
   395 into Qt Designer, we decided to offer this part as a separate
       
   396 application called Qt Assistant. Qt Assistant can be used to browse
       
   397 the Qt class documentation as well as the manuals for Qt Designer and
       
   398 Qt Linguist. It offers index searching, a contents overview, bookmarks
       
   399 history and incremental search. Qt Assistant is used by both Qt
       
   400 Designer and Qt Linguist for browsing their help documentation.
       
   401 
       
   402 
       
   403 QMake
       
   404 ========================================
       
   405 
       
   406 To ease portability we now provide the qmake utility to replace tmake.
       
   407 QMake is a C++ version of tmake which offers additional functionallity
       
   408 that is difficult to reproduce in tmake. Qt uses qmake in its
       
   409 build system and we have released it as free software.
       
   410 
       
   411 
       
   412 Qt Functions
       
   413 ========================================
       
   414 
       
   415 QAction
       
   416 -------
       
   417 
       
   418 All new functions:
       
   419 	void addedTo( QWidget *actionWidget, QWidget *container );
       
   420 	void addedTo( int index, QPopupMenu *menu );
       
   421 
       
   422 QActionGroup
       
   423 ------------
       
   424 
       
   425 New mode "uses drop down", where members are shown in a separate
       
   426 subwidget such as a combobox or a submenu (enable with
       
   427 setUsesDropDown(TRUE) )
       
   428 
       
   429 All new functions:
       
   430 	void add(QAction*);
       
   431 	void addSeparator();
       
   432 	void addedTo( QWidget *actionWidget, QWidget *container, QAction *a );
       
   433 	void addedTo( int index, QPopupMenu *menu, QAction *a );
       
   434 	void setUsesDropDown( bool enable );
       
   435 	bool usesDropDown() const;
       
   436 
       
   437 
       
   438 QApplication
       
   439 ------------
       
   440 
       
   441 Added the setStyle(const QString&) overload that takes the name of the
       
   442 style as its argument. This loads a style plugin via a QStyleFactory.
       
   443 
       
   444 desktop() now returns a QDesktopWidget that provides access to
       
   445 multi-head information. Prior to 3.0, it returned a normal QWidget.
       
   446 
       
   447 New functions to define the library search path for plugins
       
   448 (setLibraryPaths, ...).
       
   449 
       
   450 New functions to define reverse layout for bidirectional languages
       
   451 (setReverseLayout, ...).
       
   452 
       
   453 All new functions:
       
   454 	bool hasPendingEvents()
       
   455 
       
   456 	void setLibraryPaths(const QStringList &);
       
   457 	QStringList libraryPaths();
       
   458 	void addLibraryPath(const QString &);
       
   459 	void removeLibraryPath(const QString &);
       
   460 
       
   461 	void setReverseLayout( bool b );
       
   462 	bool reverseLayout();
       
   463 	int horizontalAlignment( int align );
       
   464 
       
   465 
       
   466 
       
   467 QClipboard
       
   468 ----------
       
   469 
       
   470 On systems that support it, for example X11, QClipboard now
       
   471 differentiates between the primary selection and the data in the clipboard.
       
   472 
       
   473 All new functions:
       
   474 	bool supportsSelection() const;
       
   475 	bool ownsClipboard() const;
       
   476 	void setSelectionMode(bool enable);
       
   477 	bool selectionModeEnabled() const;
       
   478 New signals:
       
   479 	void selectionChanged()
       
   480 	
       
   481 
       
   482 
       
   483 QCursor
       
   484 -------
       
   485 
       
   486 Now inherits Qt namespace. Enum values like ArrowCursor,
       
   487 UpArrowCursor, CrossCursor etc. are now part of that namespace.
       
   488 
       
   489 
       
   490 QDataStream
       
   491 -----------
       
   492 
       
   493 Added missing operators for Q_LONG and Q_ULONG
       
   494 
       
   495 
       
   496 QDateTime / QDate / QTime
       
   497 -------------------------
       
   498 
       
   499 More sophisticated toString() function that takes a DateFormat, where
       
   500 DateFormat can be either TextDate (the default), ISODate (ISO 8601) or
       
   501 LocalDate (locale dependent).
       
   502 
       
   503 All new functions:
       
   504 	QDate addMonths( int months ) const;
       
   505 	QDate addYears( int years ) const;
       
   506 	QDate fromString( const QString& s, Qt::DateFormat f = Qt::TextDate );
       
   507 	static QString shortMonthName( int month );
       
   508 	static QString longMonthName( int month );
       
   509 	static QString shortDayName( int weekday );
       
   510 	static QString longDayName( int weekday );
       
   511 	static void setShortMonthNames( const QStringList& names );
       
   512 	static void setLongMonthNames( const QStringList& names );
       
   513 	static void setShortDayNames( const QStringList& names );
       
   514 	static void setLongDayNames( const QStringList& names );
       
   515 
       
   516 QDialog
       
   517 -------
       
   518 
       
   519 Merged with QSemiModal. Calling show() on a modal dialog will return
       
   520 immediately, not enter a local event loop. Showing a modal dialog in
       
   521 its own event loop is achieved using exec().
       
   522 
       
   523 exec() is now a public slot.
       
   524 
       
   525 Usability: For widgets supporting What's This help, QDialog
       
   526 automatically offers a context menu containing a "What's This?" entry.
       
   527 
       
   528 
       
   529 QEvent
       
   530 ------
       
   531 
       
   532 Mouse events are now propagated up to the toplevel widget if no widget
       
   533 accepts them and no event filter filters them out. In previous Qt
       
   534 versions, only key events were propagated.
       
   535 
       
   536 All events carry a flag 'spontaneous' to determine whether the even
       
   537 came from the outside or was generated by code within the
       
   538 applications. Previously, only show and hide events had this flag.
       
   539 
       
   540 Enter/Leave event generation has been fixed. Previously, a widget
       
   541 received a leave event when the mouse pointer entered one of its
       
   542 children. This was both unnatural and contradictive to the
       
   543 documentation.
       
   544 
       
   545 QWheelevent now carries an orientation to differentiate between
       
   546 horizontal and vertical wheels.
       
   547 
       
   548 QFocusEvent: new reason 'Backtab' (previously only 'Tab' was
       
   549 available). This makes it possible to discover from what direction on
       
   550 the tab-focus chain the widget was entered.
       
   551 
       
   552 New events: QContextMenuEvent, QIMEvent
       
   553 
       
   554 
       
   555 QFile
       
   556 -----
       
   557 
       
   558 Ported from int to Q_LONG to prepare for large file sizes on 64 bit
       
   559 systems.
       
   560 
       
   561 Filter handling made more flexible.
       
   562 
       
   563 
       
   564 QFileDialog
       
   565 -----------
       
   566 
       
   567 All new Functions:
       
   568 	void setSelectedFilter( const QString& );
       
   569 	void setSelectedFilter( int );
       
   570 New signals:
       
   571 	void filesSelected( const QStringList& );
       
   572 	void filterSelected( const QString& );
       
   573 
       
   574 If you try to specify an invalid file when using getOpenFileName(s), an error message
       
   575 will appear and the file will not be accepted.  In 2.x, this function behaved differently
       
   576 because users were using getOpenFileName(s) as a Save File Dialog; you should use
       
   577 getSaveFileName() when you require a Save File Dialog.	
       
   578 
       
   579 
       
   580 QCanvas Module
       
   581 --------------
       
   582 
       
   583 	New classes:
       
   584 		QCanvasSpline - a multi-bezier spline
       
   585 
       
   586 	QCanvasItemList
       
   587 		void update();
       
   588 
       
   589 	QCanvas:
       
   590 		QRect rect() const;
       
   591 		void setUnchanged( const QRect& area );
       
   592 		void drawArea(const QRect&, QPainter* p, bool double_buffer);
       
   593 		void drawViewArea( QCanvasView* view, QPainter* p, const QRect& r, bool dbuf );
       
   594 		QRect changeBounds(const QRect& inarea);
       
   595 
       
   596 	QCanvasView:
       
   597 		const QWMatrix &worldMatrix() const;
       
   598 		const QWMatrix &inverseWorldMatrix() const;
       
   599 		void setWorldMatrix( const QWMatrix & );
       
   600 	QCanvasSprite:
       
   601 		int leftEdge() const;
       
   602 		int topEdge() const;
       
   603 		int rightEdge() const;
       
   604 		int bottomEdge() const;
       
   605 		int leftEdge(int nx) const;
       
   606 		int topEdge(int ny) const;
       
   607 		int rightEdge(int nx) const;
       
   608 		int bottomEdge(int ny) const;
       
   609 
       
   610 QCanvasSprite can now be set to animate its frames without the need to
       
   611 subclass.
       
   612 
       
   613 
       
   614 QFont, QFontDatabase, QFontInfo, QFontMetrics
       
   615 ---------------------------------------------
       
   616 
       
   617 The QFont::CharSet enum has been removed and replaced with the
       
   618 QFont::Script enum. With this change, a QFont is not associated with a
       
   619 specific character set. Instead, QFont uses Unicode Scripts for
       
   620 loading fonts.  On platforms where most fonts do not use the Unicode
       
   621 encoding (currently only X11), multiple locale and character-set
       
   622 dependent fonts can be loaded for the individual Unicode Scripts.
       
   623 
       
   624 Another new feature of QFont is a much more flexible substitution
       
   625 mechanism. Each family can have a list of appropriate substitutes. The
       
   626 font substitution feature allows you to specify a list of substitute
       
   627 fonts. Substitute fonts are used when a font cannot be loaded, or if
       
   628 the specified font doesn't have a particular character (X11 only).
       
   629 
       
   630 For example (on X11), you select the font Lucida, which doesn't have
       
   631 Korean characters. For Korean text, you want to use the Mincho font
       
   632 family. By adding Mincho to the list, any Korean characters not found
       
   633 in Lucida will be used from Mincho. Because the font substitutions are
       
   634 lists, you can also select multiple families, such as Song Ti (for use
       
   635 with Chinese text).
       
   636 
       
   637 QFontInfo and QFontMetrics had small API changes related to the
       
   638 disappearance of QFont::CharSet.  In terms of functionality, the
       
   639 behavior of these classes is unchanged.
       
   640 
       
   641 QFontDatabase had several API cleanups related to the disappearance of
       
   642 QFont::CharSet.  Most QFontDatabase member functions take one less
       
   643 argument, yet compatibility functions still exist to keep old source
       
   644 code working.
       
   645 
       
   646 Family and style names returned from QFontDatabase are now processed
       
   647 and formatted in a way that is suitable for display to users.  Family
       
   648 and foundry names are capitalized and foundry names are enclosed in
       
   649 square brackets after the family name.  For example, the Helvetica
       
   650 font family might have 3 different foundries: Adobe, Cronyx and
       
   651 Phaisarn. In 2.x, QFontDatabase listed them like this:
       
   652 
       
   653 	adobe-helvetica
       
   654 	cronyx-helvetica
       
   655 	phaisarn-helvetica
       
   656 
       
   657 Starting with 3.0, QFontDatabase lists them like this:
       
   658 
       
   659 	Helvetica [Adobe]
       
   660 	Helvetica [Cronyx]
       
   661 	Helvetica [Phaisarn]
       
   662 
       
   663 
       
   664 QFrame
       
   665 ------
       
   666 
       
   667 Two new frame shapes for more sophisticated style features:
       
   668 MenuBarPanel and ToolBarPanel.
       
   669 
       
   670 
       
   671 QGrid
       
   672 -----
       
   673 
       
   674 The member type
       
   675 
       
   676     enum Direction { Horizontal, Vertical };
       
   677 
       
   678 has been eliminated, as it is redundant: use Qt::Orientation instead.
       
   679 Old code referring to QGrid::Horizontal or QGrid::Vertical will still
       
   680 work, as QGrid counts Qt among its ancestors.
       
   681 
       
   682 
       
   683 QGroupBox
       
   684 ---------
       
   685 
       
   686 More functionality of the built-in layout is exposed:
       
   687 
       
   688 	int insideMargin() const;
       
   689 	int insideSpacing() const;
       
   690 	void setInsideMargin( int m );
       
   691 	void setInsideSpacing( int s );
       
   692 
       
   693 
       
   694 QHeader
       
   695 -------
       
   696 
       
   697 New property: bool stretching
       
   698 
       
   699 New functions:
       
   700 	bool isStretchEnabled( int section );
       
   701 	void setStretchEnabled( bool b, int section );
       
   702 	
       
   703 
       
   704 QIconSet
       
   705 --------
       
   706 
       
   707 In addition to the mode - which can be either Normal, Disabled or
       
   708 Active - QIconSet now supports different pixmaps for a state, i.e. On
       
   709 or Off. The functions pixmap() and setPixmap() have been extended
       
   710 accordingly.
       
   711 
       
   712 The default constructor no longer initializes the iconset to
       
   713 contain a null pixmap. QIconSet::isNull() returns TRUE for un-
       
   714 initialized iconsets, and pixmap() still returns a null pixmap for
       
   715 pixmaps that couldn't be generated.
       
   716 
       
   717 
       
   718 QIconView
       
   719 ---------
       
   720 
       
   721 Extended findItem() to support ComparisonFlags. Support for
       
   722 soft-hyphens when doing word wrap.
       
   723 
       
   724 New signal:
       
   725 	contextMenuRequested( QIconViewItem*, const QPoint& pos);
       
   726 
       
   727 
       
   728 QIconViewItem
       
   729 -------------
       
   730 
       
   731 Added support for explicit rtti.
       
   732 
       
   733 New function:
       
   734 	int rtti() const;
       
   735 
       
   736 
       
   737 
       
   738 QListBox
       
   739 --------
       
   740 
       
   741 Extended findItem() to support ComparisonFlags.
       
   742 
       
   743 New signal:
       
   744 	void contextMenu( QListBoxItem *, const QPoint & );
       
   745 
       
   746 
       
   747 QListBoxItem
       
   748 ------------
       
   749 
       
   750 Added support for explicit rtti.
       
   751 
       
   752 New function:
       
   753 	int rtti() const;
       
   754 
       
   755 
       
   756 
       
   757 QListView
       
   758 ---------
       
   759 
       
   760 It was never really hard to implement drag and drop with QListView,
       
   761 but since many applications demand this functionality today, we
       
   762 decided to add it to the listview itself.
       
   763 
       
   764 In addition, in-place editing and per-item tooltips have been added.
       
   765 Extended findItem() to support ComparisonFlags
       
   766 
       
   767 New properties:
       
   768 	bool showToolTips
       
   769 	ResizeMode resizeMode
       
   770 
       
   771 New signals:
       
   772 	contextMenuRequested( QIconViewItem*, const QPoint& pos);
       
   773 	void dropped( QDropEvent *e );
       
   774 	void itemRenamed( QListViewItem *item, int col, const QString & );
       
   775 	void itemRenamed( QListViewItem *item, int col  );
       
   776 
       
   777 New functions:
       
   778 	void setResizeMode( ResizeMode m );
       
   779 	ResizeMode resizeMode() const;
       
   780 	QDragObject *dragObject();
       
   781 	void startDrag();
       
   782 	void startRename();
       
   783 
       
   784 
       
   785 QListViewItem
       
   786 -------------
       
   787 
       
   788 Added support for explicit rtti.
       
   789 
       
   790 New functions:
       
   791 	void setDragEnabled( bool allow );
       
   792 	void setDropEnabled( bool allow );
       
   793 	bool dragEnabled() const;
       
   794 	bool dropEnabled() const;
       
   795 	bool acceptDrop( const QMimeSource *mime ) const;
       
   796 	void setVisible( bool b );
       
   797 	bool isVisible() const;
       
   798 	void setRenameEnabled( int col, bool b );
       
   799 	bool renameEnabled( int col ) const;
       
   800 	void startRename( int col );
       
   801 	void setEnabled( bool b );
       
   802 	bool isEnabled() const;
       
   803 	int rtti() const;
       
   804 
       
   805 	void dropped( QDropEvent *e );
       
   806 	void dragEntered();
       
   807 	void dragLeft();
       
   808 	void okRename( int col );
       
   809 	void cancelRename( int col );
       
   810 
       
   811 
       
   812 QLabel
       
   813 ------
       
   814 
       
   815 In addition to text, rich text, pixmaps and movies, QLabel can now
       
   816 display QPicture vector graphics.
       
   817 
       
   818 New functions:
       
   819 
       
   820 	QPicture *picture() const;
       
   821 	void setPicture( const QPicture & );
       
   822 
       
   823 
       
   824 QLineEdit
       
   825 ---------
       
   826 
       
   827 New property: bool dragEnabled
       
   828 
       
   829 New signal:
       
   830 	contextMenuRequested( QIconViewItem*, const QPoint& pos);
       
   831 
       
   832 New functions:
       
   833 	void cursorForward( bool mark, int steps = 1 );
       
   834 	void cursorBackward( bool mark, int steps = 1 );
       
   835 	void cursorWordForward( bool mark );
       
   836 	void cursorWordBackward( bool mark );
       
   837 	bool dragEnabled();
       
   838 	void setDragEnabled( bool b );
       
   839 
       
   840 
       
   841 QMainWindow
       
   842 -----------
       
   843 
       
   844 Added a dock window architecture. Previous versions of QMainWindow
       
   845 could only deal with toolbars, now they handle generalized dock
       
   846 windows. QToolBar inherits QDockWindow.
       
   847 
       
   848 
       
   849 New property:
       
   850 	bool dockWindowsMovable;
       
   851 
       
   852 New signals:
       
   853 	void dockWindowPositionChanged( QDockWindow * );
       
   854 
       
   855 New functions:
       
   856 	void setDockEnabled( Dock dock, bool enable );
       
   857 	bool isDockEnabled( Dock dock ) const;
       
   858 	bool isDockEnabled( QDockArea *area ) const;
       
   859 	void setDockEnabled( QDockWindow *tb, Dock dock, bool enable );
       
   860 	bool isDockEnabled( QDockWindow *tb, Dock dock ) const;
       
   861 	bool isDockEnabled( QDockWindow *tb, QDockArea *area ) const;
       
   862 
       
   863 	void addDockWindow( QDockWindow *, Dock = Top, bool newLine = FALSE );
       
   864 	void addDockWindow( QDockWindow *, const QString &label, Dock = Top, bool newLine = FALSE );
       
   865 	void moveDockWindow( QDockWindow *, Dock = Top );
       
   866 	void moveDockWindow( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 );
       
   867 	void removeDockWindow( QDockWindow * );
       
   868 
       
   869 	QDockArea *dockingArea( const QPoint &p );
       
   870 	QDockArea *leftDock() const;
       
   871 	QDockArea *rightDock() const;
       
   872 	QDockArea *topDock() const;
       
   873 	QDockArea *bottomDock() const;
       
   874 	
       
   875 	bool isCustomizable() const;
       
   876 	bool appropriate( QDockWindow *dw ) const;
       
   877 	QPopupMenu *createDockWindowMenu( DockWindows dockWindows = AllDockWindows ) const;
       
   878 
       
   879 	bool showDockMenu( const QPoint &globalPos );
       
   880 
       
   881 
       
   882 QMetaObject
       
   883 -----------
       
   884 
       
   885 ###TODO
       
   886 
       
   887 
       
   888 QMimeSourceFactory
       
   889 ------------------
       
   890 
       
   891 New static functions:
       
   892 	QMimeSourceFactory* takeDefaultFactory();
       
   893 	static void addFactory( QMimeSourceFactory *f );
       
   894 
       
   895 
       
   896 QNetworkProtocol
       
   897 ----------------
       
   898 
       
   899 Spelling fix in Error::ErrListChildren enum.
       
   900 
       
   901 
       
   902 QRegExp
       
   903 -------
       
   904 
       
   905 QRegExp now has a more complete regular expression engine similar to
       
   906 Perl's, with full Unicode and backreference support.
       
   907 
       
   908 New functions:
       
   909 	bool minimal() const;
       
   910 	void setMinimal( bool minimal );
       
   911 	bool exactMatch( const QString& str );
       
   912 	bool exactMatch( const QString& str ) const;
       
   913 	int search( const QString& str, int start = 0 );
       
   914 	int search( const QString& str, int start = 0 ) const;
       
   915 	int searchRev( const QString& str, int start = -1 );
       
   916 	int searchRev( const QString& str, int start = -1 ) const;
       
   917 	int matchedLength();
       
   918 	QStringList capturedTexts();
       
   919 	QString cap( int nth = 0 );
       
   920 	int pos( int nth = 0 );
       
   921 
       
   922 
       
   923 QSessionManager
       
   924 ---------------
       
   925 
       
   926 Renamed the misnamed setProperty() overloads to setManagerProperty()
       
   927 to resolve the conflict with the now virtual QObject::setProperty().
       
   928 
       
   929 
       
   930 QString
       
   931 -------
       
   932 
       
   933 New functions:
       
   934 	bool endsWith( const QString & );
       
   935 	int similarityWith( const QString & );
       
   936 
       
   937 ### TODO
       
   938 
       
   939 QStyle
       
   940 ------
       
   941 
       
   942 ### TODO
       
   943 
       
   944 QTabBar
       
   945 -------
       
   946 
       
   947 The extended QTabWidget support in Qt Designer made two more
       
   948 functions handy to have:
       
   949 	QTab * tabAt( int ) const;
       
   950 	int indexOf( int ) const;
       
   951 
       
   952 
       
   953 
       
   954 QToolBar
       
   955 --------
       
   956 
       
   957 Inherits QDockWindow now, previously only QWidget.
       
   958 
       
   959 
       
   960 QToolButton
       
   961 -----------
       
   962 
       
   963 New property:
       
   964 	QIconSet iconSet
       
   965 
       
   966 New functions:
       
   967 	QIconSet iconSet() const;
       
   968 	virtual void setIconSet( const QIconSet & );
       
   969 
       
   970 QWidget
       
   971 -------
       
   972 
       
   973 New functions:
       
   974 
       
   975     const QColor & eraseColor() const;
       
   976     virtual void setEraseColor( const QColor & );
       
   977     const QPixmap * erasePixmap() const;
       
   978     virtual void setErasePixmap( const QPixmap & );
       
   979 
       
   980 
       
   981 
       
   982 QWizard
       
   983 -------
       
   984 
       
   985 New property: QString titleFont
       
   986 
       
   987 New functions:
       
   988 	QFont titleFont() const;
       
   989 	void setTitleFont( const QFont & );
       
   990 	int indexOf( QWidget* ) const;
       
   991 
       
   992 
       
   993 QWMatrix
       
   994 --------
       
   995 
       
   996 New function:
       
   997 	bool isIdentity() const;
       
   998 	
       
   999 
       
  1000 QGL Module
       
  1001 ----------
       
  1002 
       
  1003 QGLWidget
       
  1004 New functions:
       
  1005 	QGLFormat requestedFormat() const;
       
  1006 	QImage grabFrameBuffer( bool withAlpha = FALSE );
       
  1007 
       
  1008 
       
  1009 QWorkspace Module
       
  1010 -----------------
       
  1011 
       
  1012 A new property scrollBarsEnabled makes it possible to add on-demand
       
  1013 scrollbars to the workspace. We define this property in Qt Designer to
       
  1014 make designing forms larger than the available space on the desktop
       
  1015 more comfortable.
       
  1016 
       
  1017 New property:
       
  1018 	bool scrollBarsEnabled
       
  1019 
       
  1020 
       
  1021 QXML Module
       
  1022 -----------
       
  1023 Many new functions have been added:
       
  1024 	QDomImplementation
       
  1025 		QDomDocumentType createDocumentType( const QString& qName, const QString& publicId, const QString& systemId );
       
  1026 		QDomDocument createDocument( const QString& nsURI, const QString& qName, const QDomDocumentType& doctype );
       
  1027 	QDomNode
       
  1028 		QDomNode insertBefore( const QDomNode& newChild, const QDomNode& refChild );
       
  1029 		QDomNode insertAfter( const QDomNode& newChild, const QDomNode& refChild );
       
  1030 		QDomNode replaceChild( const QDomNode& newChild, const QDomNode& oldChild );
       
  1031 		QDomNode removeChild( const QDomNode& oldChild );
       
  1032 		QDomNode appendChild( const QDomNode& newChild );
       
  1033 		bool hasChildNodes() const;
       
  1034 		QDomNode cloneNode( bool deep = TRUE ) const;
       
  1035 		void normalize();
       
  1036 		bool isSupported( const QString& feature, const QString& version ) const;
       
  1037 		QString namespaceURI() const;
       
  1038 		QString localName() const;
       
  1039 		bool hasAttributes() const;
       
  1040 	QDomDocument
       
  1041 		bool setContent( const QCString& text, bool namespaceProcessing=FALSE );
       
  1042 		bool setContent( const QByteArray& text, bool namespaceProcessing=FALSE );
       
  1043 		bool setContent( const QString& text, bool namespaceProcessing=FALSE );
       
  1044 		bool setContent( QIODevice* dev, bool namespaceProcessing=FALSE );
       
  1045 	QDomNamedNodeMap
       
  1046 		QDomNode namedItemNS( const QString& nsURI, const QString& localName ) const;
       
  1047 		QDomNode setNamedItemNS( const QDomNode& newNode );
       
  1048 		QDomNode removeNamedItemNS( const QString& nsURI, const QString& localName );
       
  1049 
       
  1050 	QDomElement
       
  1051 		QString attributeNS( const QString nsURI, const QString& localName, const QString& defValue ) const;
       
  1052 		void setAttributeNS( const QString nsURI, const QString& qName, const QString& value );
       
  1053 		void setAttributeNS( const QString nsURI, const QString& qName, int value );
       
  1054 		void setAttributeNS( const QString nsURI, const QString& qName, uint value );
       
  1055 		void setAttributeNS( const QString nsURI, const QString& qName, double value );
       
  1056 		void removeAttributeNS( const QString& nsURI, const QString& localName );
       
  1057 		QDomAttr attributeNodeNS( const QString& nsURI, const QString& localName );
       
  1058 		QDomAttr setAttributeNodeNS( const QDomAttr& newAttr );
       
  1059 		QDomNodeList elementsByTagNameNS( const QString& nsURI, const QString& localName ) const;
       
  1060 		bool hasAttributeNS( const QString& nsURI, const QString& localName ) const;
       
  1061 
       
  1062 	
       
  1063 	QXmlAttributes
       
  1064 		void clear();
       
  1065 		void append( const QString &qName, const QString &uri, const QString &localPart, const QString &value );
       
  1066 
       
  1067 	QXmlInputSource:
       
  1068 		void setData( const QByteArray& dat );
       
  1069 		void fetchData();
       
  1070 		QString data();
       
  1071 		QChar next();
       
  1072 		void reset();
       
  1073 		QString fromRawData( const QByteArray &data, bool beginning = FALSE );
       
  1074 
       
  1075 	QXmlSimpleReader:
       
  1076 		bool parse( const QXmlInputSource& input, bool incremental );
       
  1077 		bool parseContinue();
       
  1078 
       
  1079 	QXmlEntityResolver:
       
  1080 		bool startEntity( const QString& name );
       
  1081 		bool endEntity( const QString& name );
       
  1082 
       
  1083 	
       
  1084 
       
  1085 New classes
       
  1086 -----------
       
  1087 
       
  1088 QAquaStyle (only on MacOS X)
       
  1089 QCleanupHandler
       
  1090 QComponentFactory
       
  1091 QComponentFactoryInterface
       
  1092 QComponentServerInterface
       
  1093 QContextMenuEvent
       
  1094 QDesktopWidget
       
  1095 QDockArea
       
  1096 QDockWindow
       
  1097 QErrorMessage
       
  1098 QFeatureListInterface
       
  1099 QHttp [network]
       
  1100 QInterfaceListInterface
       
  1101 QInterfacePtr
       
  1102 QIMEvent
       
  1103 QLibrary
       
  1104 QLibraryInterface
       
  1105 QStyleFactory
       
  1106 QStyleInterface
       
  1107 QTextCodecInterface
       
  1108 QUnknownInterface
       
  1109 QUuid
       
  1110 QRegExpValidator
       
  1111 QTextEdit
       
  1112 
       
  1113 
       
  1114 Renamed Classes
       
  1115 ---------------
       
  1116 
       
  1117 QArray has been renamed QMemArray
       
  1118 QCollection has been renamed QPtrCollection
       
  1119 QList has been renamed QPtrList
       
  1120 QListIterator has been renamed QPtrListIterator
       
  1121 QQueue has been renamed QPtrQueue
       
  1122 QStack has been renamed QPtrStack
       
  1123 QVector has been renamed QPtrVector
       
  1124 
       
  1125 The include file names have changed accordingly (e.g., <qmemarray.h>).
       
  1126 
       
  1127 
       
  1128 New Modules
       
  1129 -----------
       
  1130 
       
  1131 SQL
       
  1132 	QDataBrowser
       
  1133 	QDataTable
       
  1134 	QDataView
       
  1135 	QDateTimeEdit
       
  1136 	QEditFactory
       
  1137 
       
  1138 
       
  1139 Obsolete classes
       
  1140 ----------------
       
  1141 
       
  1142 	QSemiModal, use QDialog instead.
       
  1143 	QMultiLineEdit, use QTextEdit instead.
       
  1144 	QTableView, use QScrollView or QTable instead.
       
  1145 	QAsyncIO, QDataSink, QDataSource, QDataPump and QIODeviceSource
       
  1146 
       
  1147 
       
  1148 Obsolete functions
       
  1149 ------------------
       
  1150 	QActionGroup::insert( QAction * ),  use QActionGroup::add( QAction* ) instead.
       
  1151 	QApplication::setWinStyleHighlightColor( const QColor &c ), use setPalette() instead
       
  1152 	QApplication::winStyleHighlightColor(), use palette() instead
       
  1153 	QDir::encodedEntryList( int filterSpec, int sortSpec ), use QDir::entryList() instead
       
  1154 	QDir::encodedEntryList( const QString &nameFilter, int filterSpec, int sortSpec ), use QDir::entryList() instead
       
  1155 	QMainWindow::addToolBar( QDockWindow *, Dock = Top, bool newLine = FALSE );
       
  1156 	QMainWindow::addToolBar( QDockWindow *, const QString &label,  Dock = Top, bool newLine = FALSE );
       
  1157 	QMainWindow::moveToolBar( QDockWindow *, Dock = Top );
       
  1158 	QMainWindow::moveToolBar( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 );
       
  1159 	QMainWindow::removeToolBar( QDockWindow * );
       
  1160 	QMainWindow::toolBarsMovable() const;
       
  1161 	QMainWindow::toolBars( Dock dock ) const;
       
  1162 	QMainWindow::lineUpToolBars( bool keepNewLines = FALSE );
       
  1163 	QRegExp::match( const QString& str, int index = 0, int *len = 0,
       
  1164 			bool indexIsStart = TRUE );
       
  1165 	QToolButton::setOnIconSet( const QIconSet & )
       
  1166 	QToolButton::setOffIconSet( const QIconSet & )
       
  1167 	QToolButton::onIconSet() const
       
  1168 	QToolButton::offIconSet() const
       
  1169 	QToolButton::setIconSet( const QIconSet & set, bool on )
       
  1170 	QToolButton::iconSet( bool on ) const
       
  1171 	QXmlInputSource::QXmlInputSource( QFile& file ), use QXmlInputSource( QIODevice *dev ) instead.
       
  1172 	QXmlInputSource::QXmlInputSource( QTextStream& stream ), use QXmlInputSource( QIODevice *dev ) instead.
       
  1173 
       
  1174 Removed functions:
       
  1175 	QWidget::setFontPropagation
       
  1176 	QWidget::setPalettePropagation
       
  1177 	QMenuBar::setActItem
       
  1178 	QMenuBar::setWindowsAltMode
       
  1179 	QCheckListItem::paintBranches
       
  1180 	QString::visual
       
  1181 	QString::basicDirection
       
  1182 	QRegExp::find( const QString& str, int index ) const; - has been renamed QRegExp::search()
       
  1183 	QFont::charSet() const, not needed anymore
       
  1184 	QFont::setCharSet( QFont::CharSet ), not needed anymore
       
  1185 	QPushButton::upButton(), not relevant anymore
       
  1186 	QPushButton::downButton(), not relevant anymore
       
  1187 	QSpinBox::upButton(), not relevant anymore
       
  1188 	QSpinBox::downButton(), not relevant anymore
       
  1189 
       
  1190 
       
  1191 Removed preprocessor directives
       
  1192 -------------------------------
       
  1193 
       
  1194 	qcstring.h no longer contains the following defines:
       
  1195 
       
  1196 		#define strlen qstrlen
       
  1197 		#define strcpy qstrcpy
       
  1198 		#define strcmp qstrcmp
       
  1199 		#define strncmp qstrncmp
       
  1200 		#define stricmp	qstricmp
       
  1201 		#define strnicmp qstrnicmp
       
  1202 
       
  1203 	These directives were meant to automagically replace calls to the
       
  1204 	above listed standard C functions with the equivalent Qt wrappers.
       
  1205 	The latter pre-check the input parameters for null pointers as those
       
  1206 	might cause crashes on some platforms.
       
  1207 
       
  1208 	Although convenient, this trick turned out to sometimes conflict with
       
  1209 	third-party code, or, simply be nullified by standard system and
       
  1210 	library headers depending on version and include order.
       
  1211 
       
  1212 	The name of some debugging macro variables has been changed.
       
  1213 
       
  1214 		DEBUG becomes QT_DEBUG
       
  1215 		NO_DEBUG becomes QT_NO_DEBUG
       
  1216 		NO_CHECK becomes QT_NO_CHECK
       
  1217 		CHECK_STATE becomes QT_CHECK_STATE
       
  1218 		CHECK_RANGE becomes QT_CHECK_RANGE
       
  1219 		CHECK_NULL becomes QT_CHECK_NULL
       
  1220 		CHECK_MATH becomes QT_CHECK_MATH
       
  1221 
       
  1222 	The name of some other debugging macro functions has also been changed
       
  1223 	but source compatibility should not be affected if the macro variable
       
  1224 	QT_CLEAN_NAMESPACE is not defined:
       
  1225 
       
  1226 		ASSERT becomes Q_ASSERT
       
  1227 		CHECK_PTR becomes Q_CHECK_PTR
       
  1228 
       
  1229 	For the record these undocumented macro variables that are not part of
       
  1230 	the API have been changed:
       
  1231 
       
  1232 		_OS_*_ becomes Q_OS_*
       
  1233 		_WS_*_ becomes Q_WS_*
       
  1234 		_CC_*_ becomes Q_CC_*
       
  1235 
       
  1236 
       
  1237 [Qt 3.0]
       
  1238