forked from autodesk-forks/qtbase
-
Notifications
You must be signed in to change notification settings - Fork 1
/
changes-4.3.0
2445 lines (2188 loc) · 112 KB
/
changes-4.3.0
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
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Qt 4.3 introduces many new features as well as many improvements and
bugfixes over the 4.2.x series. For more details, see the online
documentation which is included in this distribution. The
documentation is also available at http://qt.nokia.com/doc/4.3
The Qt version 4.3 series is binary compatible with the 4.2.x series.
Applications compiled for 4.2 will continue to run with 4.3.
The Qtopia Core version 4.3 series is binary compatible with the 4.2.x
series except for some parts of the device handling API, as detailed
in Platform Specific Changes below.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Task Tracker:
http://qt.nokia.com/developer/task-tracker
Each of these identifiers can be entered in the task tracker to obtain
more information about a particular change.
****************************************************************************
* General *
****************************************************************************
General Improvements
--------------------
- Configuration/Compilation
* Fixed OpenBSD and NetBSD build issues.
- Legal
* Added information about the OpenSSL exception to the GPL.
- Documentation and Examples
* Added information about the TS file format used in Linguist.
* Moved platform and compiler support information from
website into the documentation.
* Added an Accessibility overview document.
* Added new example to show usage of QCompleter with custom tree models.
- Translations
* Added a Slovak translation of Qt courtesy of Richard Fric.
* Added a Ukrainian translation of Qt courtesy of Andriy Rysin.
* Added a Polish translation of the Qt libraries and tools courtesy of
Marcin Giedz, who also provided a Polish phrasebook for Qt Linguist.
* [155464] Added a German translation for Qt Designer.
- Added support for the CP949 Korean Codec.
- [138140] The whole Qt source compiles with the QT_NO_CAST_FROM_ASCII
and QT_NO_CAST_TO_ASCII defines and therefore is more robust when
using codecs.
- Added support for HP-UX 11i (Itanium) with the aCC compiler
- Changed dialogs to respond much better to the LanguageChange event.
(i.e. run time translation now works much better.)
- Signals and slots
* [61295] Added Qt::BlockingQueuedConnection connection type, which
waits for all slots to be called before continuing.
* [128646] Ignore optional keywords specified in SIGNAL() and SLOT()
signatures (struct, class, and enum).
* Optimize emitting signals that do not have anything connected to them.
- [121629] Added support for the MinGW/MSYS platform.
- [102293] Added search path functionality (QDir::addSearchPath)
- Almost all widgets are now styleable using Qt Style Sheets.
Third party components
----------------------
- Updated Qt's SQLite version to 3.3.17.
- Updated Qt's FreeType version to 2.3.4.
- Updated Qt's libpng version to 1.2.16.
- Added libtiff version 3.8.2 for the TIFF plugin.
****************************************************************************
* Library *
****************************************************************************
- QAbstractButton
* [138210] Ensured strictly alternating ordering of signals resulting
from auto-repeating shortcuts. Fixed a repeat timer bug that cause
cause infinite retriggering to occur.
* [150995] Fixed bug where non-checkable buttons take focus when
activating shortcuts.
* [120409] Fixed bug where the button was set to unpressed when the
right mouse button was released.
- QAbstractItemView
* [111503] Ensured that focus is given back to the view when the Tab key
is pressed while inside an editor.
* [156290] Use slower scrolling when the ScrollMode is set to
ScrollPerItem.
* Ensured that the item view classes use the locale property when
displaying dates and numbers to allow easy customization.
* Fixed a repaint issue with the focus rectangle in cases where
selection mode is NoSelection.
* [147422] Detect when persistent editors take/lose focus and update the
view accordingly.
* [146292] Items are now updated even if they contain an editor.
* [130168] Auto-scrolling when clicking is now delayed to allow
double-clicking to happen.
* [139247] Fixed bug where clicking on a partially visible item was
triggering a scroll and the wrong item was then clicked.
* [137729] Use dropAction() instead of proposedAction() in
QAbstractItemView::dropEvent().
* Fixed a bug that prevented keyboardSearch() from ignoring disabled
items.
* [151491] Ensured that we pass a proper MouseButtonPress event in
QAbstractItemView::mouseDoubleClickEvent().
* [147990] Ensured that double-clicking does not open an editor when
the edit trigger is set to SelectedClicked.
* [144095] Ensured that sizeHintForIndex() uses the correct item
delegate.
* [140180] Ensured that clicking a selected item clears all old
selections when the view is using the ExtendedSelection selection mode
and SelectedClicked as an edit trigger.
* [130168] Fixed bug where double clicking on partially visible items
would not activate them.
* [139342] Allow editing to be started programatically, even if there
are no edit triggers.
* [130135] Added public slot, updateIndex(const QModelIndex &index).
- QAbstractProxyModel
* [154393] QAbstractProxyModel now reimplements itemData().
- QAbstractSlider
* [76155] Fixed bug where the slider handle did not stop under the
mouse.
- QAbstractSocket
* [128546] Fixed bug where an error was emitted with the wrong type.
- QAccessible
* Added preliminary support for the upcoming IAccessible2 standard.
* Made improvements to most of the accessible interfaces.
* [154534] Ensured that our accessible interfaces honour
QWidget::setAccessibleName() and QWidget::setAccessibleDescription().
* Avoid crash if QAccessibleInterface::object() returns 0.
(It is absolutely legal to return a null value.)
- QApplication
* Added a flash() method for marking windows that need attention.
* [86725] Allow the -style command line argument to override a
style set with QApplication::setStyle() before QApplication
construction.
* [111892] Fixed a bug that caused Qt to steal all input when
connecting the QAction::hovered() signal to a slot that called
QMainWindow::setEnabled(false).
* [148512] Fixed QApplication::keyboardModifiers() to update
correctly when minimizing the window when Qt::MetaModifier is held
down.
* [148796] Fixed a bug that prevented Qt from detecting system font
changes.
* [154727] Prevent a crash when a widget deletes itself in an key
event handler without accepting the event.
* [156484] Fixed a bug where lastWindowClosed() was emitted for each
top-level window when calling QApplication::closeAllWindows().
* [157667] Ensured that widgets with the Qt::WA_DeleteOnClose property
set are properly deleted when they are closed in the dropEvent()
handler following a drag that was started in the same application.
* [156410] Implemented QEvent::ApplicationActivate and
QEvent::ApplicationDeactivate on all platforms. Note that
QEvent::ApplicationActivated and QEvent::ApplicationDeactivated are
now deprecated.
- QAtomic
* [126321] Fixed several flaws in the inline assembler implementations
for several architectures (ARM, i386, PowerPC, x86-64).
* [133043] Added support for atomic fetch-and-add.
- QAuthenticator
* New Class. Needed for authentication support in the Network module.
Currently supports the Basic, Digest-MD5 and NTLM authentication
mechanisms.
- QBitArray
* [158816] Fixed crash in operator~().
- QCalendarWidget
* Don't set maximum width for month/year buttons.
* Ensured that the QPalette::Text role is used for default text.
* Added a date editor which can be configured with the dateEditEnabled
and dateEditAcceptDelay properties.
* [137031] Ensured that grid lines are drawn properly when headers are
not visible.
* [151828] Ensured that the language can be set with
QCalendarWidget::setLocale().
- QChar
* Updated the Unicode tables to Unicode 5.0.
* Added foldCase() and toTitleCase() methods.
* Added public API to handle the full Unicode range.
- QCleanlooksStyle
* [129506] Sliders now look and behave correctly in both reversed and
inverted appearance modes.
* [131490] Group boxes no longer reserve space for their titles when no
title is set.
* [134344] A sunken frame is now used to indicate checked menu items
with icons.
* [133691] Improved the appearance of spin boxes and buttons when used
against dark backgrounds.
* [154499] Fixed a rendering issue with disabled, checked push buttons.
* [154862] Fixed an issue causing combo boxes to sometimes show clipped
text.
* Slider appearance is now based on Clearlooks Cairo and the performance
on X11 has been improved.
* The appearance of tab bars when used with Qt::RightToLeft layout
direction has been improved.
* Dock widget titles are now elided if they are too long to fit in the
available space.
- QClipboard
* Ensured that calling clear() on the Mac OS X clipboard really clears
its data.
* [143927] Don't drop alpha channel information when pasting pixmaps on
Mac OS X.
* The Mac OS X clipboard support now understands TIFF information and
can export images as TIFF as well.
* [145437] Fixed crash that could occur when calling setMimeData() twice
with the same data.
* QMacMime now does correct normalization of file names in a URL list
from foreign applications.
- QColor
* [140150] Fixed bug where QColor::isValid() would return true for
certain invalid color strings.
* [120367] Added QColor::setAllowX11ColorNames(bool), which enables
applications to use X11 color names.
* Fixed internal errors in toHsv() due to inexact floating point
comparisions.
- QColorDialog
* [131160] Enabled the color dialog to be used to specify an alpha color
on Mac OS X.
- QColumnView
* A new widget that provide a column-based implementation of
QAbstractItemView.
- QComboBox
* Significantly reduced the construction time of this widget.
* [155614] Speeded up addItem() and addItems().
* [150768] Ensured that inserting items doesn't change the current text
on editable combo boxes.
* [150902] Ensured that only the left mouse button can be used to open
the popup list.
* [150735] Fixed pop-up hiding behind top-level windows on Mac OS X.
* [156700] Fixed bug where the popup could be closed when pressing the
scroll arrows.
* [133328] Fixed bug where disabled entries were not grayed out.
* [134085] Fixed bug where the AdjustToContents size policy had no
effect.
* [152840] Fixed bug where QComboBox would not automatically scroll to
the current item.
* [90172] Fixed bug where the sizeHint() implementation iterated over
all icons to detect their availability.
- QCompleter
* Significantly reduced the construction time of this widget.
* Added support for lazily-populated models.
* [135735] Made QCompleter work when used in a QLineEdit with a
QValidator.
* Added the wrapAround property to allow the list of completions to
wrap around in popup mode.
* Added support for sharing of completers, making it possible for the
same QCompleter object to be set on multiple widgets.
* [143441] Added support for models that sort their items in descending
order.
- QCoreApplication
* Added support for posted event priorities.
* [34019] Added the QCoreApplication::removePostedEvents() overload
for removing events of a specific type.
* Documented QCoreApplication::processEvents() as thread-safe;
calling it will process events for the calling thread.
* Optimized delivery of QEvent::ChildInserted compatibility events.
* [154727] Enabled compression of posted QEvent::DeferredDelete events
(used by QObject::deleteLater()) to prevent objects from being deleted
unexpectedly when many such events are posted.
* Ensured that duplicate entries in library paths are ignored.
- QCryptographicHash
* New Class. Provides support for the MD4, MD5 and SHA1 hash functions.
- QCursor
* [154593] Fixed hotspot bug for cursors on Mac OS X.
* [153381] Fixed crash in the assignment operator in cases where the
cursor was created before a QApplication instance.
- QDataWidgetMapper
* [125493] Added addMapping(QWidget *, int, const QByteArray &) and
mappedPropertyName(QWidget *) functions.
- QDateTime
* [151789] Allow passing of date-only format to QDateTime::fromString()
(according to ISO 8601).
* [153114, 145167] Fixed bugs that could occur when parsing strings to
create dates.
* [122047] Removed legacy behavior which assumed that a year between 0
and 99 meant a year between 1900 and 1999.
* [136043] Fixed the USER properties.
- QDateTimeEdit
* [111557, 141266] Improved the behavior of the widget with regard to
two-digit years. Made stepping work properly.
* [110034] Don't change current section when a WheelEvent is received.
* [152622] Don't switch section when a FocusInEvent is received if the
reason is Popup.
* Fixed a bug that would cause problems with formats like dd.MMMM.yyyy.
* [148522] Ensured that the dateRange is valid for editors that only
show the time.
* [148725] Fixed a bug with wrapping and months with fewer than 31 days.
* [149097] Ensured that dateTimeChanged() is emitted, even if only date
or time is shown.
* [108572] Fixed the behavior to ensure that typing 2 into a zzz field
results in a value of 200 rather than 002.
* Ensured that the next field is entered when a separator is typed.
* [141703] Allow empty input when only one section is displayed.
* [134392] Added a sectionCount property.
* [134392] Added sectionAt(), currentSectionIndex(), and
setCurrentSectionIndex() functions.
* Added a NoButtons value for the buttonSymbols property.
- QDesktopWidget
* [135002] Ensured that the resized() signal is emitted after the
desktop is resized on Mac OS X.
- QDial
* [151897] Ensured that, even with tracking disabled, the signal
sliderMoved() is always emitted.
* [70209] Added support for the inverted appearance property.
- QDialog
* [131396] Fixed a crash in QDialog::exec() that could occur when the
dialog was deleted from an event handler.
* [124269] Ensured that the size grip is hidden for extended dialogs.
* [151328] Allow the use of buttons on the title bar to be explicitly
specified on Mac OS X.
- QDialogButtonBox
* [154493] Moved the Action role before the Reject role on Windows to
conform with platform guidelines.
- QDir
* [136380] QDir's permission filters on Unix now behave the same as on
Windows (previously the filters' behavior was reversed on Unix).
* [158610] Passing QDir::Unsorted now properly bypasses sorting.
* [136989] Ensured that removed dirs are reported as non-existent.
* [129488] Fixed cleanPath() for paths with the "foo/../bar" pattern.
- QDirIterator
* New class. Introduced to provide a convenient way to examine the
contents of directories.
- QDockWidget
* [130773] Ensure that dock widgets remember their undocked positions
and sizes.
* Added support for vertical title bars, which can be used to save space
in a QMainWindow.
* Added support for setting an arbitrary widget as a custom dock widget
title bar.
* [141792] Added the visibilityChanged() signal which is emitted when
dock widgets change visibility due to show or hide events, or when
being selected or deselected in a tabbed dock area.
* Added the dockLocationChanged() signal which is emitted when dock
widgets are moved around in a QMainWindow.
* [135878] Titlebars now support mnemonics properly.
* [138995] Dock widget titlebars now correctly indicate their activation
state.
* [145798] Ensured that calling setWindowTitle() on a nested, docked
dock widget causes the title in the tab bar to be updated.
- QDomDocument
* [128594] Ensured that comment nodes are indented correctly when
serializing a document to a string.
* [144781] Fixed crash that would occur when the owner document of new
attributes was not adjusted.
* [107123] Ensured that appendChild() does not erroneously add two
elements to document nodes in certain cases.
- QDoubleSpinBox
* [99254] Allow higher settings for decimals.
- QDrag
* [124962] Added QDrag::exec() to allow the default proposed action to
be changed.
- QFile
* [128352] Refactored the backend on Windows with major performance
improvements; in particular line and character reading is now much
faster.
* [146693] Fixed a lock-up in copy().
* [148447] QFile now supports large files on Windows where support is
available.
* Generally improved support for stdin.
* Byte writing performance has improved on all platforms.
* [151898] Added support for reading lines with an embedded '\0'
character.
- QFileDialog
* Updated the dialog to use native icons.
* Made general improvements to the dialog's performance.
* Added a sidebar to show commonly used folders.
* [134557] Added the ability to use a proxy model.
* Added dirEntered() and filterSelected() signals, previously found in
Qt 3's file dialog.
* [130353] Fixed Qt/Mac native file dialog pattern splitting
* [140332] Made the dialog respond much better to the LanguageChange
event.
* [154173] Fixed a memory deallocation error.
* Made the selected filter argument work for native Mac OS X file
dialogs.
- QFileInfo
* Ensured that the value of Mac FS hidden flag is returned for symbolic
links and not their targets; i.e., hidden links are not followed.
* [128604] Introduced isBundle() for Mac OS X bundle types.
* [139106] Fixed bug that could cause drives to be reported as hidden
on Windows.
- QFileSystemWatcher
* [155548] Reliability fixes.
* When in polling mode, send change notification when file permissions
change.
* [144049, 149637] Fixed a bug that prevented watching a directory
for notification on Windows.
* [143381] Fixed bug that caused addPath() and removePath() to fail when
passing an empty string.
- QFocusFrame
* [128713, 129126] Made the focus frame visible in more situations on
Mac OS X.
- QFont
* X11: Add a method to retrieve the FreeType handle from the QFont.
- QFontComboBox
* [132826] Fixed a bug that could cause the popup list to be shown
off-screen.
* [155614] Speeded up addItem() and addItems().
* [160110] Fixed crash that could occur when setting a pixel size for
the fonts.
- QFontMetrics
* [152013] Fixed bug where boundingRect() gave sizes that were too large
when compiled using Visual Studio 6.
* [145980] Added tightBoundingBox() method.
- QFrame
* [156112] Fixed bug where the default frame was not correct when
created without a parent and reparented afterwards.
* [150995] Fixed bug where setting the frame style did not invalidate
the size hint
- QFSFileEngine
* Fixed bug in fileTime() on Win98 and WinME
* Ensured that the working directory of a Windows shortcut is set when
a link is created.
* Improved the reliability of buffered reads on platforms that cache
their EOF status.
- QFtp
* [107381] Greatly improved LIST support; QFtp now supports more server
types.
* [136008] Improved tolerance for servers with no EPRT/EPSV support.
* [150607] Fixed a race condition when using ActiveMode for uploading.
- QGL
* [158971] Fixed a resource leak in the GL texture cache.
- QGLFramebufferObject
* Made it possible to configure the depth/stencil buffer in a
framebuffer object.
* Added support for floating point formats for the texture in a
framebuffer object.
- QGLPixelBuffer
* [138393] Made QGLPixelbuffer work under Windows on systems without the
render_texture extension.
- QGLWidget
* [145621] Avoided a QGLFormat object copy when checking the buffer
format with the doubleBuffer() function.
* [100519] Rewritten renderText(). It now supports Unicode text, and it
doesn't try to overwrite previously defined display lists.
- QGraphicsItem
* [151271] Fixed crash that could occur when calling update on items
that are not fully constructed.
* Ensured that the selected state no longer changes state twice
for each mouse click.
* [138576] setParent() now correctly adds the child to the parent's
scene.
* [130263] Added support for partial obscurity testing with the
isObscured(QRectF) function.
* [140725] QGraphicsTextItem is now also selectable when editable.
* [141694] QGraphicsTextItem now calls ensureVisible() if it has input
focus.
* [144734] Fixed bugs in unsetCursor().
* [144895] Improved bounding rectangle calculations for all standard
items.
* Added support for QTransform.
* [137055] Added QGraphicsItem::ItemPositionHasChanged and
ItemTransformHasChanged.
* Added several convenience functions.
* [146863] Added ItemClipsToShape and ItemClipsChildrenToShape clipping
flags.
* [139782] Greatly improved hit and selection tests.
* [123942] Added the ItemIgnoresTransformations flag to allow items to
bypass any inherited transformations.
* All QGraphicsItem and standard item classes constructors have now had
their scene arguments obsoleted.
* [150767] Added support for implicit and explicit show and hide.
Explicitly hidden items are no longer implicitly shown when their
parent is shown.
* [151522] Fixed crash when nesting QGraphicsItems that enabled child
event handling.
* [151265] Cursors now change correctly without mouse interaction.
* Added deviceTransform() which returns a matrix that maps between item
and device (viewport) coordinates.
* Added the ItemSceneChange notification flag.
* [128696] Enabled moving of editable text items.
* [128684] Improved highlighting of selected items.
- QGraphicsItemAnimation
* [140522] Fixed special case interpolation bug.
* [140079] Fixed ambiguity in the position of insertions when multiple
items are inserted for the same step in an animation.
- QGraphicsScene
* [130614] Added the invalidate() function for resetting the cache
individually for each scene layer.
* [139747] Fixed slow memory leaks caused by repeatedly scheduling
single-shot timers.
* [128581] Added the selectionChanged() signal which is emitted when
the selection changes.
* Introduced delayed item reindexing which greatly improves performance
when moving items.
* The BSP tree implementation has undergone several optimizations.
* Added new bspTreeDepth property for fixating the BSP tree depth.
* Optimization: Reduced the number of unnecessary index lookups.
* [146518] Added the selectionArea() function.
- QGraphicsSceneWheelEvent
* [146864] Added wheel orientation.
- QGraphicsView
* [136173] Hit-tests are now greatly improved for thin items.
* [133680] The scroll bars are now shown at their maximum extents
instead of overflowing when the transformed scene is larger than
the maximum allowed integer range.
* [129946] Changing the viewport no longer resets the acceptsDrops()
property.
* [139752] ScrollHandDrag is now allowed also in non-interactive mode.
* [128226] Fixed rubber band rendering bugs (flicker and transparency).
* [144276] The selection is no longer reset by scroll-dragging.
* Added support for QTransform.
* [137027] Added new viewportUpdateMode() property for better control
over how QGraphicsView schedules updates.
* Several convenience functions have been added.
* [146517] Added rubberBandSelectionMode() for controlling how items are
selected with the rubber band.
* [150344] Fixed the scroll bar ranges to prevent the scroll bars from
hiding parts of the scene.
* [150321] Added new optimizationFlags() property, allowing individual
features to be disabled in order to speed up rendering.
* The level of detail algorithm has been changed to improve support for
transformations that change the view's aspect ratio.
* [154942] Fixed background rendering in render().
* [156922] render() now properly supports all transformations, source
and target rectangles.
* [158245] Calling setScene(0) now implicitly calls update().
* [149317] Added NoViewportUpdate to the set of modes that can be set
for updating a view.
- QGridLayout
* [156497] Fix a one-off error that could cause the bottom button in
a QDialogButtonBox to be cropped.
- QHeaderView
* This widget now uses Qt::NoFocus as its default focus policy.
* [99569] Improved performance, providing up to a 2x speed increase for
some cases.
* [146292] Fixed bug that made it impossible to resize the last section
under certain circumstances.
* [144452] Fixed bug that caused setDefaultAlignment() to have no
effect.
* [156453] Fixed column resizing bug that could cause branches in one
column to be drawn in the next.
* [142640] Ensured that the Qt::SizeHintRole is used when available.
* [142994] Hidden items are now restored to their original size when
shown.
* [127430] Added saveState() and restoreState().
* [105635] Added support for drag selecting.
- QHostInfo
* [141946] No longer stops working after QCoreApplication is destroyed.
* [152805] Now periodically reinitializes DNS settings on Unix.
- QHttp
* [139575] Fixed state for servers that use the "100 Continue" response.
* Added support for the HTTPS protocol.
* Improved proxy support.
* Added support for server and proxy authentication.
- QIcon
* Added cacheKey() as a replacement for serialNumber().
* Fixed the streaming operators.
- QImage
* [157549] Fixed a crash that could occur when calling copy() with
negative coordinates.
* Added cacheKey() as a replacement for serialNumber().
* [131852] Optimized rotations by 90 and 270 degrees.
* [158986] Fixed painting onto an images with the Format_RGB16 image
format.
* Fixed rotations by 90 and 270 degrees for images with the Format_RGB16
image format.
* [152850] Fixed bugs in text() and setText().
* Fixed a crash that could occur when passing a 0 pointer to the
constructor that accepts XPM format image data.
* [150746] Added a constructor that accepts an existing memory buffer
with non-default stride (bytes per line).
- QImageReader
* [141781] Fixed support for double byte PPM files (>256 colors).
- QImageWriter
* Added support to enable compression if a plugin supports it.
- QInputDialog
* [115565] Disabled OK button for non-acceptable text (getInteger() and
getDouble()).
* [90535] Input dialogs now have a size grip
- QIntValidator, QDoubleValidator
* Validators now use the locale property to recognize numbers
formatted for various locales.
- QItemDelegate
* [145142] Ensured that text is not drawn outside the bounds of a cell.
* [137198] Fixed handling of cases where the decoration position is set
to be at the bottom of an item to prevent the text from being
incorrectly positioned.
* [142593] Take word wrap into account when calculating an item's size
hint.
* [139160] Ensured that the focus rectangle is shown, even for empty
cells.
- QItemSelectionModel
* Made optimizations for some common cases.
* [143383] Fixed incorrect behavior of hasSelection().
- QLabel
* [133589] Fixed performance problems with plain text labels.
* Fixed support for buddies with rich text labels.
* [136918] Fixed setText() to not turn off mouse tracking when the text
used is plain text.
* [143063] Ensured that the mouse cursor is reset when a link is
clicked.
* [156912] Fixed bug where the mouse cursor shape was changed to the
pointing hand cursor, but would not be correctly cleared afterwards.
- QLayout
* Added new features to Qt's layout system to enable:
- independent values for all of the four margins,
- independent horizontal spacing and vertical spacing in QGridLayout,
- non-uniform spacing between layout items,
- layout items to occupy parts of the margin or spacing when required
by the application or style.
- QLibrary
* Fixed bug that caused QLibrary::load() to discard the real error
message if the error was something else than ERROR_MOD_NOT_FOUND.
(Win32)
* Fixed bug that prevented QLibrary::load() from loading a library with
no suffix (because LoadLibrary automagically appended the .dll suffix
on Win32).
* Corrected behavior of fileName() to ensure that, if we loaded a
library without specifying a suffix and the file found had the .dll
suffix, the fileName found is returned instead of the fileName
searched for (as was previously the case).
* [156276] Fixed behavior of unload() to return true only if the library
could be unloaded.
- QLineEdit
* [156104] Ensured that input methods are disabled when not in the
Normal edit mode.
* [157355] Fixed drag and drop bug on Mac OS X that could occur when
dragging inside the widget.
* [151328] Ensured that the caret is removed when text is selected on
Mac OS X.
* [136919] Ensured that fewer non-printable characters are replaced
with spaces.
- QList
* Fixed a race-condition in QList::detach() which could cause an
assertion in debug mode.
- QListView
* [136614] Fixed the behavior of Batched mode to ensure that the last
item of the batch is displayed.
* Fixed some issues with jerky scrolling in ScrollPerItem mode if the
grid size was different to the delegate's size hint.
* [113437] Prevent noticeable flicker on slow systems in Batched mode
by laying out the first batch immediately.
* [114473] Added a new property to QListView: selectionRectVisible.
* Fixed a bug that could cause too many items to be selected.
* Fixed issue that could cause list views to have incorrect scroll bar
ranges if their grid sizes differed from their item sizes.
* [144378] Improved navigation for cases where an item is taller than
the viewport.
* [148846] Fixed an issue that prevented scroll bars from being updated
correctly when items were moved programmatically.
* [143306] Improved support for keyboard navigation and selection.
* [137917] Shift-click extended mode selection in icon mode now selects
the correct items.
* [138411] Fixed bug where hidden items would cause drawing problems
when pressing Ctrl+A.
- QListWidget
* [146284] Ensured that the effect of SingleSelection mode is also taken
into account when setSelected() is called on items.
* [151211] Added removeCellWidget() and removeItemWidget() functions.
- QLocale
* Updated the locale database to CLDR 1.4: more locales supported;
numerous fixes to existing locales.
- QMacStyle
* [159270] Fixed drawing of icons on buttons with no text.
* [146364] Fixed drawing of multi-line text for items in a QToolBar.
* [145346] Removed unwanted wrapping of text in a QPushButton.
* Fixed drawing of "Flat" group boxes.
* [113472] Fixed drawing of text on vertical headers when resizing.
* [148509] Ensured that the correct font is used for buttons and labels
when the application is not configured to use the desktop settings.
* [106100] Improved the look of push buttons with menus.
* Made fixes to Qt's layout system that enable more native-looking
forms.
* [151739] Buttons with an icon are now centered correctly.
* [142672] Fixed font size bug on the drop down box for QComboBox.
* [148832] The button on a combo box is now showing as pressed when the
drop down menu is shown.
* [147377] Ensured that combo boxes now scale correctly on Mac OS X.
* [143901] Fixed the highlight color for widgets such as QComboBox so
that it follows the system settings on Mac OS X.
* [151852] Fixed size calculation for QPushButton with an icon.
* [133263] Removed the coupling of text size and button kind, enabling
them to be set independently.
* [133263] Ensured that QPushButton respects calls to setFont().
* [141980] Text with small font sizes is now centered vertically correct
inside push buttons.
* [149631] Ensure that beveled button types are chosen if text doesn't
fit inside a button instead of cutting the text.
* [151500] Fixed incorrect QPushButton text clipping behavior.
* [147653] Fixed bug that caused the sort indicator to be drawn on top
of the text in QHeaderView.
* [139149] Fixed issues with CE_SizeGrip in right-to-left mode.
* [139311] Improved drawing of the title in QGroupBox.
* [128713] Ensured that drawing of the focus frame now follows pixel
metrics.
* [142274] Made QSlider tickmark drawing more like Cocoa.
* focusRectPolicy() is now obsolete. This is now controlled by the
Qt::WA_MacShowFocusRect attribute.
* widgetSizePolicy() is now obsolete. This is now controlled by the
Qt::WA_Mac*Size attribute.
* [129503] Ensured that a group box without a title no longer allocates
space for it.
* Ensured that a more appropriate width is used for push buttons.
* [132674] Ensured that tab bar drawing is correct when the tab's font
isn't as tall as the default.
* [126214] Ensured that the QSizeGrip is drawn correctly in brushed
metal windows.
* Improved styling of docked QDockWidgets.
- QMainWindow
* [145493] Fixed a crash that could occur when calling setMainWindow(0)
on X11.
* [137013, 158094] Fixed bugs relating to the handling of size hints,
minimum/maximum sizes and size policies of QDockWidgets in main
windows.
* [147964] Animated tool bar areas adjust dynamically when a QToolBar is
dragged over them.
* Added the dockOptions property. This makes it possible to:
- specify that tabbed dock areas should have vertical tab bars,
- disable tabbed docking altogether,
- force tabbed docking, disallowing the placement of dock widgets
next to each other.
* Fixed bugs in saving and restoring main window state.
* [143026] Fixed support for hiding and showing toolbars on Mac OS X.
* [131695] Add unified toolbar support on Mac OS X.
- QMdiArea
- QMdiSubWindow
* New classes. QMdiArea is a replacement for QWorkspace.
- QMenu
* The addAction() overloads that accept a slot argument now honor the
slot's bool argument correctly.
* [129289] Added support for handling context menus from within a menu.
* [144054] Fixed scrolling logic.
* [132524] Allow setVisible() of separator items on Mac OS X native
menu items.
* [131408] Torn-off menus now have fixed sizes to prevent the window
system from resizing them.
* [113989] Added some fuzziness to the "snap to" detection.
* [155030] Do not disable command actions when merge is disabled.
* [131702] Tear-off menus no longer appear only once.
* [138464] Ensured that, if a popup menu does not fit on the right-hand
side of the screen, it is aligned with the right side of the parent
widget instead of the left side.
* [130343] Ensured that only the left mouse button triggers menu actions
on Windows.
* [139332] Fixed an issue that caused submenus to close when moving the
mouse over a separator.
* [157218] Ensured that torn-off menus are not closed when Alt is
pressed.
* [135193] Ensured that the size hint, maximum size and minimum size are
taken into account for each QWidgetAction.
* [133232] Improved handling of menus that are opened at specified
positions.
* [141856] Fixed bug where exec() would return NULL if the user pressed
a mnemonic shortcut.
* [133633] Fixed focus problem with keyboard navigation between menus
and widget actions.
* [134560] Fixed bug that prevented status tips from being shown for
actions in tool button menus.
* [150545] Fixed memory leak on Mac OS X.
* [138331] Fixed bug that could cause menus to stay highlighted after
the closing of a dialog.
* Menu shortcuts are now cleared if the corresponding QAction is cleared
on Mac OS X.
* Fixed bug that could cause changes to shortcut to not take effect on
Mac OS X.
* [12536] Don't allow Tab to be used to navigate menus on Mac OS X.
* [108509] Prevented shortcuts from stealing keyboard navigation keys.
* [134190] Added support for Shift+Tab to enable backwards navigation.
- QMenuBar
* [135320] Make show() a no-op on Mac OS X to prevent the menu bar from
being visible at the same time as a native Mac menu bar.
* [115471] Fixed torn-off menu behavior to ensure that mouse events
are propagated correctly on second level tear-offs.
* [126856] Fixed an issue that could cause several menus to be open at
the same time.
* [47589] The position of the menu is now shifted horizontally when
there is not enough space (neither above nor below) to display it.
* [131010] Fixed bug where adding an action and setting its menu would
prevent the action from being triggered through its shortcut.
* [142749] Fixed bug where setEnabled(false) had no effect on Mac OS X.
* [141255] Made it possible to make an existing menu bar an application-
wide menu bar with setParent(0) on Mac OS X.
- QMessageBox
* [119777] Ensured that pressing Ctrl+C in message boxes on Windows
copies text to the clipboard.
* Added setDefaultButton(StandardButton) and
setEscapeButton(StandardButton) functions.
- QMetaObject
* Optimized invokeMethod() to avoid calling type() unnecessarily.
- QMetaType
* [143011] Fixed isRegistered() to return false when the type ID does
not correspond to a user-registered type.
- QModelIndex
* [144919] Added more rigorous identity tests for model indexes.
- QMotifStyle
* [38624] Fixed the behavior when clicking on a menu bar item a
second time; the menu will now close in the same way that native
Motif menus do.
- QMutex
* [106089] Added tryLock(int timeout), which allows a thread to specify
the maximum amount of time to wait for the mutex to become available.
* [137309] Fixed a rare deadlock that was caused by compiling with
optimizations enabled.
* Optimized recursive locking to avoid two unnecessary atomic operations
when the current thread already owns the lock.
* Optimized non-recursive mutexes by avoiding a call to pthread_self()
on Unix.
- QNetworkInterface
* [146834] Now properly generates broadcast addresses on Windows XP.
- QNetworkProxy
* Added support for transparent HTTP CONNECT client proxying.
* Added support for complex authenticators through QAuthenticator.
- QObject
* Added a compile time check to ensure that the objects passed to
qobject_cast contain a Q_OBJECT macro.
* [133901] Improved the run time warnings from setParent() that is
output when trying to set a new parent that is in a different thread.
* [140106] Fixed a deadlock that could occur when deleting a QObject
from the destructor of a QEvent subclass.
* [133739] Fixed compiler warnings from g++ in findChildren<T>().
* Documented the QEvent::ThreadChange that is sent by moveToThread().
* [130367] Improved the run time warning that is output when creating
a QObject with a parent from a different thread.
* [114049] Made dumpObjectInfo() also dump connection information.
- QPageSetupDialog
* [136041] Margins are now saved and used properly when printing.
- QPainter
* Fixed stroking of non-closed polygons with non-cosmetic pens in the
OpenGL paint engine.
* [133980] Fixed stroking bug for RoundJoin and MiterJoin with paths
containing successive line segments with a 180 degree angle between
them.
* [141826] Fixed stroking with MiterJoin of paths with duplicated
control points.
* [139454, 139209] Fixed problem with SmoothTransformation that caused
images to fade out toward the edges in raster paint engine.
* Added the HighQualityAntialiasing render hint to enable pixel shaders
for anti-aliasing in the OpenGL paint engine.
* [143503] Fixed broken painting when using a QPainter on a
non-top-level widget where the world matrix is disabled then
re-enabled.
* [142471] Fixed dashed line drawing of lines that are clipped against
the device rectangle.
* [147001] Fixed bug with drawing of polygons with more than 65536
points in the raster paint engine.
* [157639] Calling drawPolygon() from multiple threads no longer causes
an assertion.
* Optimized line and rectangle drawing in the raster paint engine.
* [159047] Fixed case where fillRect() would ignore the brush origin.
* [143119] Fixed bug where drawing a scaled image on another image would
cause black lines to appear on the edges of the scaled image.
* [159894] Fixed X11 errors when using brush patterns on multiple
screens.
* [148524] Fixed X11 errors when drawing bitmaps containing a color
table with alpha values.
* [141871] Optimized and fixed drawing of extremely large polygons.
* [140952] Fixed transformed text drawing on X11 setups that used
fontconfig without Xrender.
* [139611] Fixed smooth transformation of pixmaps for X11.
* [132837] Fixed text drawing on images with certain fonts on Mac OS X.
* [147911] Use font anti-aliasing when rotating small fonts on Windows.
* [127901] Optimized gradient calculations.
* [139705, 151562] Optimized clipping algorithms in the raster paint
engine.
* Optimized blending operations in the raster paint engine using MMX,
3DNOW and SSE2.
* Optimized fillRect() for opaque brushes.
* Made general speed optimizations, especially in the OpenGL and raster
paint engines.
- QPainterPath
* [136924] Correctly convert Traditional Chinese fonts (e.g., MingLiu)
to painter paths.
- QPicture
* [142703] QPicture now correctly preserves composition mode changes.
* Fixed QPicture text size handling on devices with non-default DPI.
* [133727] Fixed text alignment handling when drawing right-to-left
formatted text into a QPicture.
* [154088] Fixed bugs that could occur when reading QPicture files
generated with Qt 3.
- QPixmap
* Added cacheKey() as a replacement for serialNumber().
* [97426] Added a way to invert masks created with createMaskFromColor().
* Fixed a crash that could occur when passing a 0 pointer to the
constructor that accepts XPM format image data.
- QPixmapCache
* [144319] Reinserting a pixmap now moves it to the top of the Least
Recently Used list.
- QPlastiqueStyle
* [133220] Fixed QProgressBar rendering bugs.
- QPrintDialog
* [128964] Made "Print" the default button.
* [138924] Ensured that the file name is shown in the file dialog when
printing to a file
* [141486] Ensured that setPrintRange() correctly updates the print
dialog on X11.
* [154690] Ensured that "Print last page first" updates the QPrinter
instance on X11.
* [149991] Added support for more text encodings in the PPD subdialog.
* [158824] Disable the OK button in the dialog if no printers are
installed.
* [128990] X11: Don't immediately create an output file when a file name
is entered in the print dialog.
* [143804] Ensured that the default printer is set to the one specified