dist/changes-3.0.0
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.0 adds a wide range of major new features as well as substantial
       
     2 improvements over the Qt 2.x series. Some internals have undergone
       
     3 major redesign and new classes and methods have been added.
       
     4 
       
     5 The Qt version 3.x series is not binary compatible with the 2.x
       
     6 series.  This means programs compiled with Qt version 2.x must be
       
     7 recompiled to work with Qt 3.0.
       
     8 
       
     9 In addition to the traditional Qt platforms Linux, Unix and the
       
    10 various flavours of MS-Windows.  Qt 3.0 for the first time introduces a
       
    11 native port to MacOS X. Like all Qt versions, Qt/Mac is source
       
    12 compatible with the other editions and follows closely the platform's
       
    13 native look and feel guidelines.
       
    14 
       
    15 We have tried to keep the API of Qt 3.0 as compatible as possible with
       
    16 the Qt 2.x series. For most applications, only minor changes will be
       
    17 needed to compile and run them successfully using Qt 3.0.
       
    18 
       
    19 One of the major new features that has been added in the 3.0 release
       
    20 is a module allowing you to easily work with databases. The API is
       
    21 platform independent and database neutral. This module is seamlessly
       
    22 integrated into Qt Designer, greatly simplifying the process of
       
    23 building database applications and using data aware widgets.
       
    24 
       
    25 Other major new features include a plugin architecture to extend Qt's
       
    26 functionality, for styles, text encodings, image formats and database
       
    27 drivers. The Unicode support of Qt 2.x has been greatly enhanced, it
       
    28 now includes full support for scripts written from right to left
       
    29 (e.g. Arabic and Hebrew) and also provides improved support for Asian
       
    30 languages.
       
    31 
       
    32 Many new classes have been added to the Qt Library. Amongst them are
       
    33 classes that provide a docking architecture (QDockArea/QDockWindow), a
       
    34 powerful rich text editor (QTextEdit), a class to store and access
       
    35 application settings (QSettings) and a class to create and communicate
       
    36 with processes (QProcess).
       
    37 
       
    38 Apart from the changes in the library itself a lot has been done to
       
    39 make the development of Qt applications with Qt 3.0 even easier than
       
    40 before. Two new applications have been added: Qt Linguist is a tool to
       
    41 help you translate your application into different languages; Qt
       
    42 Assistant is an easy to use help browser for the Qt documentation that
       
    43 supports bookmarks and can search by keyword.
       
    44 
       
    45 Another change concerns the Qt build system, which has been reworked
       
    46 to make it a lot easier to port Qt to new platforms. You can use this
       
    47 platform independent build system - called qmake - for your own
       
    48 applications.
       
    49 
       
    50 And last but not least we hope you will enjoy the revisited and widely
       
    51 extended documentation.
       
    52 
       
    53 
       
    54 Qt/Embedded
       
    55 ----------
       
    56 
       
    57 Qt/Embedded 3.0 provides the same features as Qt 3.0, but currently
       
    58 lacks some of the memory optimizations and fine-tuning capabilities of
       
    59 Qt/Embedded 2.3.x. We will add these in the upcoming maintainance
       
    60 releases.
       
    61 
       
    62 If you develop a new product based on Qt/Embedded, we recommend
       
    63 switching to 3.0 because of the greatly improved functionality.
       
    64 However, if you are planning a release within the next two months and
       
    65 require memory optimizations not available with Qt/Embedded 3.0, we
       
    66 suggest using Qt/Embedded 2.3.x.
       
    67 
       
    68 
       
    69 The Qt Library
       
    70 ========================================
       
    71 
       
    72 A large number of new features has been added to Qt 3.0. The following
       
    73 list gives an overview of the most important new and changed aspects
       
    74 of the Qt library.
       
    75 
       
    76 
       
    77 Database support
       
    78 ----------------
       
    79 
       
    80 One of the major new features in Qt 3.0 is the SQL module that
       
    81 provides cross-platform access to SQL databases, making database
       
    82 application programming with Qt seamless and portable. The API, built
       
    83 with standard SQL, is database-neutral and software development is
       
    84 independent of the underlying database.
       
    85 
       
    86 A collection of tightly focused C++ classes are provided to give the
       
    87 programmer direct access to SQL databases. Developers can send raw SQL
       
    88 to the database server or have the Qt SQL classes generate SQL queries
       
    89 automatically.  Drivers for Oracle, PostgreSQL, MySQL and ODBC are
       
    90 available and writing new drivers is straightforward.
       
    91 
       
    92 Tying the results of SQL queries to GUI components is fully supported
       
    93 by Qt's SQL widgets. These classes include a tabular data widget
       
    94 (for spreadsheet-like data presentation with in-place editing), a
       
    95 form-based data browser (which provides data navigation and edit
       
    96 functions) and a form-based data viewer (which provides read-only
       
    97 forms). This framework can be extended by using custom field editors,
       
    98 allowing for example, a data table to use custom widgets for in-place
       
    99 editing. The SQL module fully supports Qt's signals/slots mechanism,
       
   100 making it easy for developers to include their own data validation and
       
   101 auditing code.
       
   102 
       
   103 Qt Designer fully supports Qt's SQL module. All SQL widgets can be
       
   104 laid out within Qt Designer, and relationships can be established
       
   105 between controls visually. Many interactions can be defined purely in
       
   106 terms of Qt's signals/slots mechanism directly in Qt Designer.
       
   107 
       
   108 
       
   109 Explicit linking and plugins
       
   110 -------------------------
       
   111 
       
   112 The QLibrary class provides a platform independent wrapper for runtime
       
   113 loading of shared libraries.
       
   114 
       
   115 Specialized classes that make it possible to extend Qt's functionality
       
   116 with plugins: QStylePlugin for user interface styles, QTextCodecPlugin
       
   117 for text encodings, QImageFormatPlugin for image formats and
       
   118 QSqlDriverPlugin for database drivers.
       
   119 
       
   120 It is possible to remove unused components from the Qt library, and
       
   121 easy to extend any application with 3rd party styles, database drivers
       
   122 or text codecs.
       
   123 
       
   124 Qt Designer supports custom widgets in plugins, and will use the
       
   125 widgets both when designing and previewing forms (QWidgetPlugin).
       
   126 
       
   127 
       
   128 Rich text engine and editor
       
   129 ---------------------------
       
   130 
       
   131 The rich text engine originally introduced in Qt 2.0 has been further
       
   132 optimized and extended to support editing. It allows editing formatted
       
   133 text with different fonts, colors, paragraph styles, tables and
       
   134 images. The editor supports different word wrap modes, command-based
       
   135 undo/redo, multiple selections, drag and drop, and many other
       
   136 features.  The engine is highly optimized for proccesing and displaying
       
   137 large documents quickly and efficiently.
       
   138 
       
   139 
       
   140 Unicode
       
   141 -------
       
   142 
       
   143 Apart from the rich text engine, another new feature of Qt 3.0 that
       
   144 relates to text handling is the greatly improved Unicode support. Qt
       
   145 3.0 includes an implementation of the bidirectional algorithm (BiDi)
       
   146 as defined in the Unicode standard and a shaping engine for Arabic,
       
   147 which gives full native language support to Arabic and Hebrew speaking
       
   148 people. At the same time the support for Asian languages has been
       
   149 greatly enhanced.
       
   150 
       
   151 The support is almost transparent for the developer using Qt to
       
   152 develop their applications. This means that developers who developed
       
   153 applications using Qt 2.x will automatically gain the full support for
       
   154 these languages when switching to Qt 3.0. Developers can rely on their
       
   155 application to work for people using writing systems different from
       
   156 Latin1, without having to worry about the complexities involved with
       
   157 these scripts, as Qt takes care of this automatically.
       
   158 
       
   159 
       
   160 Docked and Floating Windows
       
   161 ---------------------------
       
   162 
       
   163 Qt 3.0 introduces the concept of dock windows and dock areas. Dock
       
   164 windows are widgets, that can be attached to, and detached from, dock
       
   165 areas. The most common kind of dock window is a tool bar. Any number of
       
   166 dock windows may be placed in a dock area. A main window can have dock
       
   167 areas, for example, QMainWindow provides four dock areas (top, left,
       
   168 bottom, right) by default. The user can freely move dock windows and
       
   169 place them at a convenient place in a dock area, or drag them out of
       
   170 the application and have them float freely as top level windows in
       
   171 their own right. Dock windows can also be minimized or hidden.
       
   172 
       
   173 For developers, dock windows behave just like ordinary widgets. QToolbar
       
   174 for example is now a specialized subclass of a dock window.  The API
       
   175 of QMainWindow and QToolBar is source compatible with Qt 2.x, so
       
   176 existing code which uses these classes will continue to work.
       
   177 
       
   178 
       
   179 Regular Expressions
       
   180 -------------------
       
   181 
       
   182 Qt has always provided regular expression support, but that support
       
   183 was pretty much limited to what was required in common GUI control
       
   184 elements such as file dialogs. Qt 3.0 introduces a new regular
       
   185 expression engine that supports most of Perl's regex features and is
       
   186 Unicode based. The most useful additions are support for parentheses
       
   187 (capturing and non-capturing) and backreferences.
       
   188 
       
   189 
       
   190 Storing application settings
       
   191 ----------------------------
       
   192 
       
   193 Most programs will need to store some settings between runs, for
       
   194 example, user selected fonts, colors and other preferences, or a list
       
   195 of recently used files.  The new QSettings class provides a platform
       
   196 independent way to achieve this goal. The API makes it easy to store
       
   197 and retrieve most of the basic data types used in Qt (such as basic
       
   198 C++ types, strings, lists, colors, etc). The class uses the registry
       
   199 on the Windows platform and traditional resource files on Unix.
       
   200 
       
   201 
       
   202 Creating and controlling other processes
       
   203 ----------------------------------------
       
   204 
       
   205 QProcess is a class that allows you to start other programs from
       
   206 within a Qt application in a platform independent manner. It gives you
       
   207 full control over the started program.  For example you can redirect
       
   208 the input and output of console applications.
       
   209 
       
   210 
       
   211 Accessibility
       
   212 ---------------
       
   213 
       
   214 Accessibility means making software usable and accessible to a wide
       
   215 range of users, including those with disabilities. In Qt 3.0, most
       
   216 widgets provide accessibility information for assistive tools that can
       
   217 be used by a wide range of disabled users. Qt standard widgets like
       
   218 buttons or range controls are fully supported. Support for complex
       
   219 widgets, like e.g. QListView, is in development. Existing applications
       
   220 that make use of standard widgets will become accessible just by using
       
   221 Qt 3.0.
       
   222 
       
   223 Qt uses the Active Accessibility infrastructure on Windows, and needs
       
   224 the MSAA SDK, which is part of most platform SDKs. With improving
       
   225 standardization of accessibility on other platforms, Qt will support
       
   226 assistive technologies on other systems too.
       
   227 
       
   228 
       
   229 XML Improvements
       
   230 ----------------
       
   231 
       
   232 The XML framework introduced in Qt 2.2 has been vastly improved. Qt
       
   233 2.2 already supported level 1 of the Document Object Model (DOM), a
       
   234 W3C standard for accessing and modifying XML documents.  Qt 3.0 has
       
   235 added support for DOM Level 2 and XML namespaces.
       
   236 
       
   237 The XML parser has been extended to allow incremental parsing of XML
       
   238 documents. This allows you to start parsing the document directly
       
   239 after the first parts of the data have arrived, and to continue
       
   240 whenever new data is available.  This is especially useful if the XML
       
   241 document is read from a slow source, e.g. over the network, as it
       
   242 allows the application to start working on the data at a very early
       
   243 stage.
       
   244 
       
   245 
       
   246 SVG support
       
   247 -----------
       
   248 
       
   249 SVG is a W3C standard for "Scalable Vector Graphics". Qt 3.0's SVG
       
   250 support means that QPicture can optionally generate and import static
       
   251 SVG documents. All the SVG features that have an equivalent in
       
   252 QPainter are supported.
       
   253 
       
   254 
       
   255 Multihead support
       
   256 -----------------
       
   257 
       
   258 Many professional applications, such as DTP and CAD software, are able
       
   259 to display data on two or more monitors. In Qt 3.0 the QDesktopWidget
       
   260 class provides the application with runtime information about the
       
   261 number and geometry of the desktops on the different monitors and such
       
   262 allows applications to efficiently use a multi-monitor setup.
       
   263 
       
   264 The virtual desktop of Windows 98 and 2000 is supported, as well as
       
   265 the traditional multi-screen and the newer Xinerama multihead setups
       
   266 on X11.
       
   267 
       
   268 
       
   269 X11 specific enhancements
       
   270 -------------------------
       
   271 
       
   272 Qt 3.0 now complies with the NET WM Specification, recently adopted
       
   273 by KDE 2.0.  This allows easy integration and proper execution with
       
   274 desktop environments that support the NET WM specification.
       
   275 
       
   276 The font handling on X11 has undergone major changes.  QFont no longer
       
   277 has a one-to-one relation with window system fonts.  QFont is now a
       
   278 logical font that can load multiple window system fonts to simplify
       
   279 Unicode text display.  This completely removes the burden of
       
   280 changing/setting fonts for a specific locale/language from the
       
   281 programmer.  For end-users, any font can be used in any locale.  For
       
   282 example, a user in Norway will be able to see Korean text without
       
   283 having to set their locale to Korean.
       
   284 
       
   285 Qt 3.0 also supports the new render extension recently added to
       
   286 XFree86. This adds support for anti-aliased text and pixmaps with
       
   287 alpha channel (semi transparency) on the systems that support the
       
   288 rendering extension (at the moment XFree 4.0.3 and later).
       
   289 
       
   290 
       
   291 Printing
       
   292 --------
       
   293 
       
   294 Printing support has been enhanced on all platforms. The QPrinter
       
   295 class now supports setting a virtual resolution for the painting
       
   296 process. This makes WYSIWYG printing trivial, and also allows you to
       
   297 take full advantage of the high resolution of a printer when painting
       
   298 on it.
       
   299 
       
   300 The postscript driver built into Qt and used on Unix has been greatly
       
   301 enhanced. It supports the embedding of true/open type and type1 fonts
       
   302 into the document, and can correctly handle and display Unicode.
       
   303 Support for fonts built into the printer has been enhanced and Qt now
       
   304 knows about the most common printer fonts used for Asian languages.
       
   305 
       
   306 
       
   307 Networking
       
   308 -----------
       
   309 
       
   310 A new class QHttp provides a simple interface for HTTP downloads and
       
   311 uploads.
       
   312 
       
   313 
       
   314 Compatibility with the Standard Template Library (STL)
       
   315 ------------------------------------------------------
       
   316 
       
   317 Support for the C++ Standard Template Library has been added to the Qt
       
   318 Template Library (QTL).  The QTL classes now contain appropriate copy
       
   319 constructors and typedefs so that they can be freely mixed with other
       
   320 STL containers and algorithms.  In addition, new member functions have
       
   321 been added to QTL template classes which correspond to STL-style
       
   322 naming conventions (e.g., push_back()).
       
   323 
       
   324 
       
   325 Qt Designer
       
   326 ========================================
       
   327 
       
   328 Qt Designer was a pure dialog editor in Qt 2.2 but has now been
       
   329 extended to provide the full functionality of a GUI design tool.
       
   330 
       
   331 This includes the ability to lay out main windows with menus and
       
   332 toolbars. Actions can be edited within Qt Designer and then plugged
       
   333 into toolbars and menu bars via drag and drop. Splitters can now be
       
   334 used in a way similar to layouts to group widgets horizontally or
       
   335 vertically.
       
   336 
       
   337 In Qt 2.2, many of the dialogs created by Qt Designer had to be
       
   338 subclassed to implement functionality beyond the predefined signal and
       
   339 slot connections. Whilst the subclassing approach is still fully
       
   340 supported, Qt Designer now offers an alternative: a plugin for editing
       
   341 code. The editor offers features such as syntax highlighting,
       
   342 completion, parentheses matching and incremental search.
       
   343 
       
   344 The functionality of Qt Designer can now be extended via plugins.
       
   345 Using Qt Designer's interface or by implementing one of the provided
       
   346 interfaces in a plugin, a two way communication between plugin and Qt
       
   347 Designer can be established. This functionality is used to implement
       
   348 plugins for custom widgets, so that they can be used as real widgets
       
   349 inside the designer.
       
   350 
       
   351 Basic support for project management has been added. This allows you
       
   352 to read and edit *.pro files, add and remove files to/from the project
       
   353 and do some global operations on the project. You can now open the
       
   354 project file and have one-click access to all the *.ui forms in the
       
   355 project.
       
   356 
       
   357 In addition to generating code via uic, Qt Designer now supports the
       
   358 dynamic creation of widgets directly from XML user interface
       
   359 description files (*.ui files) at runtime. This eliminates the need of
       
   360 recompiling your application when the GUI changes, and could be used
       
   361 to enable your customers to do their own customizations. Technically,
       
   362 the feature is provided by a new class, QWidgetFactory in the
       
   363 UI-library.
       
   364 
       
   365 
       
   366 Qt Linguist
       
   367 ========================================
       
   368 
       
   369 Qt Linguist is a GUI utility to support translating the user-visible
       
   370 text in applications written with Qt. It comes with two command-line
       
   371 tools: lupdate and lrelease.
       
   372 
       
   373 Translation of a Qt application is a three-step process:
       
   374 
       
   375   1) Run lupdate to extract user-visible text from the C++ source
       
   376      code of the Qt application, resulting in a translation source file
       
   377      (a *.ts file).
       
   378   2) Provide translations for the source texts in the *.ts file using
       
   379      Qt Linguist.
       
   380   3) Run lrelease to obtain a light-weight message file (a *.qm file)
       
   381      from the *.ts file, which provides very fast lookup for released
       
   382      applications.
       
   383 
       
   384 Qt Linguist is a tool suitable for use by translators. Each
       
   385 user-visible (source) text is characterized by the text itself, a
       
   386 context (usually the name of the C++ class containing the text), and
       
   387 an optional comment to help the translator. The C++ class name will
       
   388 usually be the name of the relevant dialog, and the comment will often
       
   389 contain instructions that describe how to navigate to the relevant
       
   390 dialog.
       
   391 
       
   392 You can create phrase books for Qt Linguist to provide common
       
   393 translations to help ensure consistency and to speed up the
       
   394 translation process. Whenever a translator navigates to a new text to
       
   395 translate, Qt Linguist uses an intelligent algorithm to provide a list
       
   396 of possible translations: the list is composed of relevant text from
       
   397 any open phrase books and also from identical or similar text that has
       
   398 already been translated.
       
   399 
       
   400 Once a translation is complete it can be marked as "done"; such
       
   401 translations are included in the *.qm file. Text that has not been
       
   402 "done" is included in the *.qm file in its original form. Although Qt
       
   403 Linguist is a GUI application with dock windows and mouse control,
       
   404 toolbars, etc., it has a full set of keyboard shortcuts to make
       
   405 translation as fast and efficient as possible.
       
   406 
       
   407 When the Qt application that you're developing evolves (e.g. from
       
   408 version 1.0 to version 1.1), the utility lupdate merges the source
       
   409 texts from the new version with the previous translation source file,
       
   410 reusing existing translations. In some typical cases, lupdate may
       
   411 suggest translations. These translations are marked as unfinished, so
       
   412 you can easily find and check them.
       
   413 
       
   414 
       
   415 Qt Assistant
       
   416 ========================================
       
   417 
       
   418 Due to the positive feedback we received about the help system built
       
   419 into Qt Designer, we decided to offer this part as a separate
       
   420 application called Qt Assistant. Qt Assistant can be used to browse
       
   421 the Qt class documentation as well as the manuals for Qt Designer and
       
   422 Qt Linguist. It offers index searching, a contents overview, bookmarks
       
   423 history and incremental search. Qt Assistant is used by both Qt
       
   424 Designer and Qt Linguist for browsing their help documentation.
       
   425 
       
   426 
       
   427 qmake
       
   428 ========================================
       
   429 
       
   430 qmake is a cross-platform make utility that makes it possible to build
       
   431 the Qt library and Qt-based applications on various target platforms
       
   432 from one single project description. It is the C++ successor of
       
   433 'tmake' which required Perl.
       
   434 
       
   435 qmake offers additional functionallity that is difficult to reproduce
       
   436 in tmake. Qt uses qmake in its build system and we have released it as
       
   437 free software.
       
   438 
       
   439 
       
   440 
       
   441 Detailed changes
       
   442 =============
       
   443 
       
   444 Qt 3.0 went through 6 beta releases. These are the detailed changes
       
   445 since Beta 6 only. For other changes, please see the changes notes
       
   446 of the respective beta releases.
       
   447 
       
   448 
       
   449 Qt 3.0 final is not binary compatible with Beta6; any programs linked
       
   450 against Beta6 must be recompiled.
       
   451 
       
   452 Below you will find a description of general changes in the Qt
       
   453 Library, Qt Designer and Qt Assistant.  Followed by a detailed list of
       
   454 changes in the API.
       
   455 
       
   456 ****************************************************************************
       
   457 *			    General					   *
       
   458 ****************************************************************************
       
   459 
       
   460 ****************************************************************************
       
   461 *			   Library					   *
       
   462 ****************************************************************************
       
   463 
       
   464 - QApplication
       
   465 	make sure we process deferred deletes before leaving the event
       
   466 	loop. This fixes some ocassions of memory leaks on exit.
       
   467 	win32: some improvements for modality and dockwindow handling
       
   468 	x11 only: read non-gui QSettings when running without GUI.
       
   469 	
       
   470 
       
   471 - QCheckListItem
       
   472 	Make the checkboxes respect the AlignCenter flag. Also make
       
   473 	the boxes look better in case they are not placed in the first
       
   474 	column.
       
   475 
       
   476 - QComboBox
       
   477 	if we have a currentItem and then we set the combobox to be
       
   478 	editable then set the text in the lineedit to be of the
       
   479 	current item.
       
   480 
       
   481 - QCommonStyle
       
   482 	QToolButton: spacing between a toolbutton's icon and its label.
       
   483 	QProgressBar: text color fixed.
       
   484 
       
   485 - QCursor
       
   486 	added the What's This? cursor to the collection.
       
   487 
       
   488 - QDataTable
       
   489 	fixed broken context menus.
       
   490 
       
   491 - QDate
       
   492 	fixed addMonth() overflow.
       
   493 
       
   494 - QDesktopWidget
       
   495 	win32 only: works now also for cases where the card handles
       
   496 	multiple monitors and GetSystemMetrics returns a single screen
       
   497 	only.
       
   498 
       
   499 - QDomAttr
       
   500 	fixed a memory leak in setNodeValue()
       
   501 
       
   502 - QDomNodeMap
       
   503 	added count() as a Qt-style alias for length()
       
   504 
       
   505 - QDragObject
       
   506 	default to the middle of the pixmap as a hot spot, this looks
       
   507 	nicer.
       
   508 
       
   509 - QFileDialog (internal dialog)
       
   510 	make viewMode() return the correct value even after the dialog
       
   511 	is finished. Fixed getOpenFileName and getSaveFileName for
       
   512 	non-existant directories. Make sure that when it's in
       
   513 	directory mode that the filters reflect this, and change the
       
   514 	label from file name to directory.
       
   515 	win32 only: Improved modality when using the native file
       
   516 	dialog.
       
   517 
       
   518 - QFont
       
   519 	x11 only: speed up fontloading with even more clever
       
   520 	caching. Make sure we can match scaled bitmap fonts by
       
   521 	default. Do not load a backup font for a script that is not
       
   522 	default. Make sure the pixel size is correct, even for fonts
       
   523 	that are unavailable. Try even harder to find a fontname that
       
   524 	is not understood. Some RENDER performance optimizations.
       
   525 
       
   526 - QFontDialog
       
   527 	make sure the content is set up correctly when initializing
       
   528 	the dialog.
       
   529 
       
   530 - QGLWidget
       
   531 	IRIX only: fixed reparent/resize bug, QGLContext::setContext()
       
   532 	is incredibly sensitive on different X servers.
       
   533 
       
   534 - QHeader
       
   535 	fixed missing updates on height resp. width changes like the
       
   536 	occur when changing the application font.
       
   537 
       
   538 - QIconView
       
   539 	fixed updates of non-auto-arranged views.
       
   540 
       
   541 - QImage
       
   542 	no gamma correction by default.
       
   543 	x11 only: some alignment issue with the alpha masked fixed.
       
   544 
       
   545 - QIODevice
       
   546 	fixed return value of QIODevice::readLine() for sequential
       
   547 	access.
       
   548 
       
   549 - QKeyEvent
       
   550 	win32 only: generate Direction_R/L events for bidirectional
       
   551 	input.
       
   552 
       
   553 - QLabel
       
   554 	handle setPixmap( *pixmap() ) gracefully. Apply the WordBreak
       
   555 	alignment flag to both plaintext and richtext. Improved alignment of
       
   556 	richtext labels. Removed some sizepolicy magic, QLabel now
       
   557 	works fine with Preferred/Preferred in all modes.
       
   558 
       
   559 - QLineEdit
       
   560 	fixed a crash when doing undo and a validator is set. Emit
       
   561 	textChanged() also if the text changed because of undo or redo.
       
   562 
       
   563 - QListBox
       
   564 	fixed RMB context-menu offset.
       
   565 
       
   566 - QListView
       
   567 	do not start renaming an item is CTRL or SHIFT is
       
   568 	pressed. Start renaming on mouse release, not mouse press, so
       
   569 	click + click + move on the same item does not start a rename
       
   570 	operation.
       
   571 
       
   572 - QMainWindow
       
   573 	show dock-menu also when clicking on the menubar.
       
   574 
       
   575 - QPainter
       
   576 	win32 only: improved printing performance through printer font
       
   577 	caching.
       
   578 	boundingRect(): ignore 0-width in the constrain rectangle.
       
   579 
       
   580 - QPicture
       
   581 	added overload for load()  that takes a QIODevice.
       
   582 
       
   583 - QPrintDialog (internal dialog)
       
   584 	fixed enabling of the first page and last page labels.
       
   585 
       
   586 - QPrinter
       
   587 	win32 only: make setColorMode() work, some unicode fixes. Make
       
   588 	collate the default.  Enable the collate checkbox without
       
   589 	losing the page selection if you want to print multiple
       
   590 	pages. Make the collateCopies property work that it knows
       
   591 	checks/unchecks the collate checkbox in the printing
       
   592 	dialog. Make settings also work when the print dialog is not
       
   593 	shown at all.
       
   594 
       
   595 - QProcess
       
   596 	added a new communication mode that duplicates stderr to
       
   597 	stdout (i.e. the equivalent of the shell's 2>&1).
       
   598 
       
   599 - QPSPrinter (unix)
       
   600 	fixed collate.
       
   601 	
       
   602 - QRangeControl
       
   603 	simplified code.
       
   604 
       
   605 - QRichText
       
   606 	Propagate WhiteSpaceMode to subitems with
       
   607 	WhiteSpaceModeNormal. Hide DisplayModeNone
       
   608 	items without additional newline. Fixed links inside non-left
       
   609 	aligned tables. Fixed some bidi layout problems. Fixed last
       
   610 	line layout in right-aligned paragraphs. For plain text,
       
   611 	always use the palette's text color.
       
   612 
       
   613 - QScrollView
       
   614 	safer destruction.
       
   615 
       
   616 - QSettings
       
   617 	win32 only: fixed a dead lock situation when writing
       
   618 	to LOCAL_MACHINE, but reading from CURRENT_USER.
       
   619 
       
   620 - QSGIStyle
       
   621 	fixed drawing of checkable menu items.
       
   622 
       
   623 - QSimpleRichText
       
   624 	use the specified default font.
       
   625 
       
   626 - QSlider
       
   627 	optimized drawing in the new style engine.
       
   628 
       
   629 - QString
       
   630 	QString::replace() with a regular expression requires a
       
   631 	QRegExp object, passing a plain string will cause a compile
       
   632 	error.
       
   633 
       
   634 - QStyleSheet
       
   635 	additional parameter 'whitespacemode' for
       
   636 	QStyleSheet::convertFromPlainText(). Support for superscript
       
   637 	('sup') and subscript ( 'sub' ).
       
   638 
       
   639 - QTabBar
       
   640 	react properly on runtime font changes, less flicker.
       
   641 
       
   642 - QTable
       
   643 	take the pixmap of a header section into account when
       
   644 	adjusting the size.
       
   645 
       
   646 - QTabWidget
       
   647 	use the embedded tabbar as focus proxy.
       
   648 
       
   649 - QThread
       
   650 	win32 only: possible crash with the thread dictionary fixed.
       
   651 
       
   652 - QValidator
       
   653 	In Q{Int,Double}Validator, consider '-' as Invalid rather than
       
   654 	Intermediate if bottom() >= 0.
       
   655 	
       
   656 - QWidget
       
   657 	made showFullScreen() multihead aware.
       
   658 	win32 only: Better size and position restoring when switching
       
   659 	between fullscreen, maximized and minimized.
       
   660 	x11 only: improvements to XIM, overthespot works correctly
       
   661 	now.
       
   662 
       
   663 - QWorkspace
       
   664 	smarter placement of the minimize button when there is no
       
   665 	maximize button. Make titlebars of tool windows a bit smaller.
       
   666 	Improved styleability. Do not maximize a widget that has a
       
   667 	maximum size that is smaller than the workspace.
       
   668 
       
   669 
       
   670 
       
   671 ****************************************************************************
       
   672 *			      Other					   *
       
   673 ****************************************************************************
       
   674 
       
   675 - moc
       
   676 	fixed generation of uncompilable code in conjunction with
       
   677 	Q_ENUMS and signal/slots.
       
   678 
       
   679 - unicode
       
   680 	allow keyboard switching of paragraph directionality.
       
   681 
       
   682 - installation
       
   683 	install $QTDIR/doc/html/ instead of $QTDIR/doc/
       
   684 	install Qt Designer templates as well.
       
   685 
       
   686 - improved build on
       
   687 	HP-UX with cc.
       
   688 	Solaris 8 with gcc 3.0.1.
       
   689 	AIX with xlC and aCC.
       
   690 
       
   691 - inputmethods
       
   692 	x11 only: do not reset the input context on focus changes.
       
   693 
       
   694 - uic
       
   695 	smaller improvements, handle additional form signals.
       
   696 
       
   697 - Qt Designer
       
   698 	make it possible to add new signals to a form without
       
   699 	subclassing. Minor fixes.
       
   700 
       
   701 - Qt Assistant
       
   702 	fixed Shift-LMB selection bug. Fixed new window and window
       
   703 	restoration on restart.
       
   704 
       
   705 - Qt Linguist
       
   706 	change fourth parameter of QApplication::translate() from bool
       
   707 	to enum type. This affects MOC (new revision) and lupdate (new
       
   708 	syntax to parse). Change Qt Linguist's XML file format (.ts)
       
   709 	to be consistent with QApplication:<defaultcodec> (rather than
       
   710 	<codec>) to match QApp::defaultCodec(); encoding="UTF-8"
       
   711 	(rather than utf8="true") to match QApp::translate(). Fixed
       
   712 	window decoration on restart. Use 'finished', 'unfinished' and
       
   713 	'unresolved' instead of the (!), (?) symbols on printouts.
       
   714 
       
   715 - QMsDev
       
   716 	merge "Add UIC" and "New Dialog". Better user interface and
       
   717 	general cleanup. Wwrite (and merge) qmake pro file with active
       
   718 	project. Load qmake pro files into Visual Studio.
       
   719 
       
   720