forked from qt/qtbase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes-3.0.1
540 lines (431 loc) · 18.2 KB
/
changes-3.0.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
Qt 3.0.1 is a bugfix release. It maintains both forward and backward
compatibility (source and binary) with Qt 3.0.0
****************************************************************************
* General *
****************************************************************************
- Style Engine fixes
Qt 3.0 introduced a new and more flexibile style engine. This
release should fix most of the small visual flaws that the new
styles introduced. It also greatly improves appearance in
right-to-left mode.
- MS-Windows XP
This is the first release to fully support Windows XP,
including the new themable GUI styles.
The Windows XP style can only be built as a plugin, which requires
Qt to be configured as a shared library. To build the plugin
you must install a Microsoft Platform SDK for October 2001
or later. Your INCLUDE and LIB environment variables must
point to the respective directories in the SDK installation.
- Reverse (right-to-left) layouts
Many classes have improved support for right-to-left layouts.
- Compile fixes
Solaris 7 Intel, g++ version 2.8.1.
- Documentation updates
Some new and improved diagrams and minor textual revisions.
- Mac only: Drag'n'drop
Mac only: QDropEvents can decode HFS flavors.
- X11 only: Multi-head (multi-screen) improvements
Support for different TrueColor depths on each head (screen).
Drag'n'drop support across multiple screens. Tooltips always
stay on the correct screen. Improved OpenGL support on
multiple screens. Qt 3.1 will support different color depths
on every screen (e.g. one TrueColor screen, one 8-bit
PseudoColor and one 8-bit GreyScale).
****************************************************************************
* Library *
****************************************************************************
- QAction
Fixed a memory leak in conjunction with action accelerators.
Turn toggle actions off when toggling is turned off with
setToggleAction(FALSE);
- QApplication
Shared double buffers are cleaned up on destruction.
Creating and using multiple QApplications in the same process
is supported.
- Solaris only: Default to the Interface System font (which is
the default for the CDE)
- Win32 only: When WM_QUERYENDSESSION is received, _flushall
is called to ensure that all open streams and buffers are
flushed to disk (or to OS's buffers).
Better support for more input methods (e.g. Chinese).
Enter events are not propagated to modally blocked widgets.
Key_BackTab events are generated rather than Shift+Key_Tab.
Floating toolbars are blocked when the application is modal.
Move and Resize are disabled in the system menu for
maximized toplevel windows
- WinXP only: WM_THEMECHANGED messages are handled; widgets
are repolished with the appropriate style.
- X11 only: Removed misleading warning message for main
widgets on heads (screens) other than the default head.
Input context: Solved a memory leak in Xlib, and saved a
server round trip when updating the microfocushint.
Worked around some broken XmbLookupString implementations
that do not report buffer overflows correctly.
Key events are never given to a widget after clearFocus()
has been called for that widget; this is the same behavior
as Windows.
- QAquaStyle (MacOS X only)
More optimizations and several minor visual bugs fixed.
- QCanvas
Erase any exposed empty space when shrinking the canvas.
- QCanvasPixmapArray
Initialize the framecount to 0.
- QCanvasView
Optimize background pixmaps: potentially they were drawn
twice, first untranslated then translated.
- QClipboard (X11 only)
The race conditions that cause KDE to lock-up occasionally
should now be fixed.
- QComboBox
Fixed behavior with non-selectable items. Fixed a crash when
calling setCurrentItem(-1). Fixed autoscrolling when dragging
the mouse directly after opening the dropdown.
- QColor
Make invalid named colors return a non-valid QColor (as
documented).
- QColorDialog (Win32 only)
Use WStyle_DialogBorder, since resizing this dialog does not
make much sense.
- QCommonStyle
Respect QApplication::globalStrut() in scroll bars. Support
reverse layout in QTitleBar.
- QCursor
Safer cleanup of cursor shapes (avoids possible free'd memory
read)
- Win32 only: fixed application override cursor with mouse
grabbing.
- QDate
Fixed some possible overflows.
- Win32 only: Improve locale support for short day and month
names etc. Initialize milliseconds correctly.
- QDateTimeEdit
Display AM/PM if set by locale. Improved sizeHint().
- QDockAarea
More reliable sizeHint(). Better support for reverse layouts.
- QDockWindow
Emit the placeChange() signal more reliably. Avoid floating
docks popping up everywhere before they have been positioned
and laid out.
- QDesktopWidget
- X11 only: When using normal dualhead (not Xinerama), make
sure we report the correct screen number.
- Win32 only: refresh on WM_DISPLAYCHANGE.
- QFrame
New panel styles LineEditPanel and TabWidgetPanel. This was
required by the new for Windows XP support.
- QFileDialog
Show unicode filenames to the user rather than encoded ASCII
(e.g. previously latin1 characters were shown as "%XX"
escapes).
Fixed multiple-selection of FTP files.
Emit signal fileHighlighted in existingfile mode.
- Mac only: Fixed existingFolder(). Fixed window position so
that it will never fall outside the screen.
- Win32 only: since files, directories and drives are not case
sensitive, we don't add an extra entry in the paths box if
the path already exists but with different case.
- QFileInfo (Unix only)
Make sure that symlinks pointing to invalid/non-existing
targets are reported as symlinks.
- QFont
Ensure a rounded-off value is returned from pointSize().
- x11 only: improved line width calculation. Fixed off by one
error in interpreting Xft font extents. Allow the use of
both Xft and non Xft fonts in the same application. Make
sure fonts are antialiased by default when using
xftfreetype.
- QFontDialog
Prevent re-laying out when the size of the preview label
changes.
- QFtp
In parseDir(), do not compare English month names to
shortMonthName(), since the latter is localized.
- QGList
Make self-assignments work.
- QGLWidget
Fixed ARGB to RGBA conversion on BigEndian systems.
- Win32 only: fixed colormap for 8-bit RGBA GL mode.
- X11 only: multiple heads with different color depths fixes.
- QHebrewCodec
Assume the bidi algorithm is a reversible operation for the
visual 8859-8 codec. This is not true for very complex strings
but should hold in most cases.
- QIconSet
Fixed detach() to really detach the internal pixmaps. In case
no image formats are installed, show black pixmaps rather than
ASSERT.
- QImage
Allow 16-bit DIBs. Allow > 32767 level PNMs.
Fixed smoothscale() for the following bug: whenever
(new_width / original_width * 4096) is not an integer the last
column of the scaled image is black.
- QImageIO
Fixed plugin loading in cases where the image format is
explicitly defined.
- QInputDialog
Disable the OK button when input is not Acceptable.
(See QValidator.)
- QLabel
When showing rich text with tables (via QSimpleRichtext),
avoid drawing the table background.
- QLayout
In reverse layout mode: fix off by one error when laying out
right to left or bottom to top.
- QLineEdit
Fixed offset calculation for horizontal scrolling. Invoke
validator when the user presses Backspace or
Delete. Compression of the undo/redo stack fixed. Security: do
not reveal the position of spaces with Ctrl+RightArrow or
Ctrl+LeftArrow in password mode.
- QListBox
Append items at the proper position even after sorting the
content. Made QWidget::setBackgroundMode() work correctly.
- QListBoxPixmap
Use the function pixmap() when drawing the pixmap, so users
can reimplement QListBoxPixmap::pixmap().
- QListView
Fix misalignment of checkbox click zone. Make the selected and
focus rectangles cover the entire column for QCheckListItems
if the listview root is not decorated. Make
QWidget::setBackgroundMode() on the viewport work correctly.
Comply with user interface guidelines: clear the selection
when a click is in an empty area unless the Ctrl key is down.
Fixed possible crash when starting a rename with a double
click. Smarter ensureItemVisible(). Draw listview background
in paintEmptyArea() with the current style. Ensure the
listview always has a current item.
- QMainWindow
Better laying out of dockareas when they are all empty.
Otherwise an empty QMainWindow looks unappealing in a
workspace. Maintain the toplevel layout's resize mode.
- QMessageBox
Avoid double deletion if the parent is destroyed while the
messagebox is open. Support y/n/c shortcuts without needing
the Alt key modifier.
- QMovie
Allow pause() and restart() with MNG.
- QMultiLineEdit
Remove internal trailing space when returning a textline with
textLine(int) and querying lineLength(int).
- QPainter
The boundingRect() should now work properly for the
combination richtext, right-aligned and an empty initial rect.
Handle DontClip-flag in the painter's complex drawText()
function. Reset the cached composition matrix (and inverse)
when reinitialising a painter.
- QPicture
Fixed the loading of binaries from older Qt versions.
- QPixmap
grabWidget(): when the widget sets WRepaintNoErase it might
erase itself with the non-redirected QWidget::erase(); restore
those areas.
- X11 only: (with XRENDER extension) when copying a pixmap,
bitBlt the entire data into the new pixmap instead of using
alpha composition.
- QPopupMenu
Fixed strange side effects with the menu effects. Support
minimumSize() for popups. Fixed a navigation issue where
Key_Right under certain circumstances was not propagated to
the menu bar. Speedups when disabling/enabling menu items
before showing them.
- X11 only: Fixed mouse and keyboard grabbing side effects
with popup menu effects enabled.
- QPrintDialog (built-in dialog)
Use the text in the lineedit for the file dialog.
- QPrinter
Fixed crash when printing with incomplete combined unicode
fonts.
- Win32 only: fixed a very rare and mysterious crash.
- QPSPrinter
Make sure the fontPath is read correctly by the postscript
driver, and the qtconfig program. Small memory leaks closed.
Better support for Asian printing. Limit line length of
Postscript DSC comments to 255 chars (as per the postscript
specification).
- QRichText
Fixed handling of  . Support both <qt title="..."> and
<title>. Avoid painting \n at the end of lines (these
sometimes appeared as an empty unicode box). Fixed find() in
"whole words only" mode. Fixed unicode auto alignment. Made
cursor movement in BiDi paragraphs compliant with MS-Windows.
Fixed paragraph right and center alignments when using <br>
tags. Fixed superscript/subscript confusion.
- QScrollBar
Allow scrolling with modifier keys pressed.
- QScrollView
Made autoscrolling work with drag and drop. Never generate
paintevents that are outside the visible area.
- QSettings
- Unix only: search paths are valid for individual objects,
NOT every object (windows behavior). When reading files,
don't replace the old groups with contents of the new
groups; merge them instead. Properly escape backslashes and
newlines.
- win32 only: improved error handling. Fixed subKeyList() and
entryList() for empty paths.
- QSimpleRichText
Correctly transform clipping rectangle.
- QSizeGrip
Reverted sizeHint() to the old size to avoid making the
statusbar a tiny bit too big. Support right-to-left layout.
- QSgiStyle
Made the combobox arrow look nicer. Fixed disabled combobox
drawing.
- QSlider
Fixed click handling for reverse layouts.
- QSpinBox
Usability fix: when changing a value with the up/down arrow
keys or with the arrow buttons, select the new value.
- QSplitter
Use the actual QSplitter pointer as documented (and not a
QSplitterHandle pointer) as the parameter to the
QStyle::sizeForContents() call. Fixed reverse layouts when
splitter movement is constrained.
- QSqlRecord
Fixed double increment of the iterator in certain
circumstances.
- QString
Fixed QString::setLatin1() when the length parameter is 0.
- Unix only: Use strcoll() in QString::localeAwareSorting().
- Mac only: clarify that local8Bit() is always utf8().
- QStyle
New frame styles for tab widgets, window frames and line edit
controls. This was required by the new support for Windows XP.
Added SH_ScrollBar_StopMouseOverSlider style hint so that one can
turn on (or off) the ability to stop pageup/pagedown when the
slider hits the mouse (this is needed for Aqua on MacOS X).
- QSvgDevice
Many fixes for saving and restoring attributes that are not
part of QPainter. Processing of 'tspan' elements. Now uses
double instead of int for internal 'path' arithmetic for
better scaling results. Supports QPicture's coordinate
transformations.
- QTabBar
Fixed the focus rectangles and spacing with icons and label
texts.
- QTable
Improved layout in right-to-left mode. Fixed adjustRow() when
using header items with icon sets. Do not let hidden
columns/rows re-appear when adjusting. Update header correctly
when changing a table's dimensions. Correctly reset the
updatesEnabled flag in sortColumn(). Fixed modifying the
contents of a combobox or checkbox table item while it is the
current cell.
- QTableItem
Make sure an item cannot span over a table's maximum number of
rows and columns.
- QTabWidget
Constrain the sizehint to avoid having oversized dialogs.
- QTextCode
Rename iso8859-6-I to to 8859-6. The old name is still
supported for backwards compatibility.
- Win32: implemented locale().
- Mac: implemented locale().
- QTextDrag (Win32 only)
Performance improvements in encodedData().
- QTextEdit
Fixed HTML output. New property tabStopWidth. Fixed append()
and made it smarter: it only scrolls to the end if the view
was scrolled to the end before. Proper reformatting when
switching word wrap policies. Do not blink the cursor when the
textedit is disabled. Make isModified() return the new value
in slots connected to the modificationChanged() signal.
- X11 only: middle mouse selection pasting sets the cursor
position.
- QTextStream
Faster string output in latin1 mode.
- QThread
- Unix only: initialize threads in non-GUI mode as well.
- Win32 only: fixed the initial value of QThread::running().
- QToolButton
Fixed unwanted occurences of delayed popup menus.
- QUrlOperator
Fixed the cache, so that QUrlInfo::name() is set correctly for
renamed files. This bug also affected QFileDialog. More
careful check whether a file is writable before renaming or
deleting it.
- QValueVector
Make operator==() const. Fixed some sharing issues.
- QVariant
Fixed a few memory leaks when casting complex values to simple
types. Faster operator==().
- QWaitCondition (Win32 only)
Fixed wakeAll().
- QWhatsThis
Make QWidget::customWhatsThis() work with menu accelerators.
Avoid infinite loops with menu effects.
- QWidget
Fix default focus so that setTabOrder( X, Y ); setTabOrder( Y,
Z ); gives focus to X, not Y or Z. Closing a modal dialog with
a double click on a widget could result in a mouse release
event being delivered to the widget underneath; this has been
fixed.
Set/Reset WState_HasMouse on DragEnter/DragLeave.
- Win32 only: obey WPaintUnclipped. Make reparent() with 0,0
positions do the requested positioning.
- X11 only: when reparenting widgets to/from toplevel, make
sure the XdndAware property is set. Make input methods work
with servers other than kinput2. More fixes for 4Dwm's
incompliance with ICCCM 4.1.5 regarding geometry handling.
When hiding toplevel windows, we call XFlush() to avoid
having popup menus hanging around grabbing the mouse and
keyboard while the application is busy. Obey the 'erase'
value in repaint(const QRegion& reg, bool erase).
- QWindowsStyle
Various visual fixes, including fixes for right-to-left
mode. Most significantly the light source now comes from the
top left also in reverse layout the same as modern versions of
Windows.
- QWorkspace
Support document windows without title bars. Scroll to top
left corner when cascading/tiling a scrolled workspace. Define
a proper baseSize() for workspace children. Fix some side
effects with the workspace's maximize controls on Windows
style. Don't raise windows over scrollbars. Clients can now
call adjustSize() on the workspace when their sizeHint()
changes. When showing two scrollbars, maintain a solid corner.
Obey a document window's maximum size when tiling.
****************************************************************************
* Extensions *
****************************************************************************
NO CHANGES
****************************************************************************
* Other *
****************************************************************************
- qtconfig (X11 only)
It is now possible to turn Xft on and off, as well as turning
antialiasing-by-default on and off. This is necessary since
Xft doesn't work on dual head.
- moc
Q_PROPERTY: Support QMap<QString, QVariant> and
QValueList<QVariant> as "QMap" and "QValueList". Support
parameters of nested template types, for example
QValueVector<QValueVector<double> >, as well as
Foo<const int>.
- uic
Fix uic-generated code for QWizard with both "font" and
"titleFont" properties set. Put local includes after global
includes in generated files.
- lupdate
Allow translation of menubar items generated with Qt Designer
(e.g. "&File", "&Edit", etc.).
- libMNG
Updated to version 1.0.3.
- libPNG
Updated to version 1.0.12.
- Translations
Added Hebrew translations for Qt and the demo application.
- Qt Designer
Support 'Ignored' size policy. Support properties of type
'double'. Fixed saving of custom widgets in toolbars. Various
smaller usability improvements.
- Qt Assistant
When users starts Qt Assistant themselves, always make a new
instance. Only use the unique-instance feature when invoking
from Qt Designer.
- QMsDev
Invoke Qt Linguist when opening a .ts file in Visual Studio.
****************************************************************************
* Qt/Embedded-specific changes *
****************************************************************************
NO CHANGES