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