| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (159 commits)
Doc: Adding loading image to search textbox
qdoc: Yet another revision of the top doc page.
Doc: Update on web template
Added QDateTime::msecsTo()
Doc: Fixed tables and images for the new docs
qdoc: Yet another revision of the top doc page.
Revert "Improve QUrl handling of local file paths"
Revert "[QNAM FTP] Check for the "ftp" scheme case-insensitively"
Revert "QUrl::fromLocalFile: fix silly mistake: it's fromNativeSeparators, not to"
Revert "Use QUrl::isLocalFile and fix the scheme checking in local URLs."
qdoc: Another revision of the top doc page.
Doc correction to css
Doc: Updates to the html template and javascript
tst_SuiteTest: Fix a meaningless switch statement
My 4.7.0 changelog entries.
qdoc: Fixed annotated list generation to use <td>, not <th>.
Doc: Tuning search script
qdoc: Reorganized examples panel.
Doc: Chages to search feature, css and table order
QtDeclarative: avoid waiting for a network load on URIs with empty schemes.
...
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (158 commits)
qdoc: Yet another revision of the top doc page.
Doc: Update on web template
Added QDateTime::msecsTo()
Doc: Fixed tables and images for the new docs
qdoc: Yet another revision of the top doc page.
Revert "Improve QUrl handling of local file paths"
Revert "[QNAM FTP] Check for the "ftp" scheme case-insensitively"
Revert "QUrl::fromLocalFile: fix silly mistake: it's fromNativeSeparators, not to"
Revert "Use QUrl::isLocalFile and fix the scheme checking in local URLs."
qdoc: Another revision of the top doc page.
Doc correction to css
Doc: Updates to the html template and javascript
tst_SuiteTest: Fix a meaningless switch statement
My 4.7.0 changelog entries.
qdoc: Fixed annotated list generation to use <td>, not <th>.
Doc: Tuning search script
qdoc: Reorganized examples panel.
Doc: Chages to search feature, css and table order
QtDeclarative: avoid waiting for a network load on URIs with empty schemes.
QtDeclarative: RFC 3986 requires schemes to be considered case-insensitively
...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This only affects X11 code, and are the only 2 places in Qt where rand() is
used instead of qrand().
Task-number: QTBUG-9793
Reviewed-by: TrustMe
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/declarative/qml/qdeclarativeengine.cpp
tools/qdoc3/htmlgenerator.cpp
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (132 commits)
Make QCompleter cope with restricted screen real estate (mobile devices)
Don't initialize Wintab if QT_NO_TABLETEVENT is defined.
QDBusXmlGenerator: get the true name from QMetaType for the return type
Add missing newline to static XML snippet
Fix compilation in C++0x mode (narrowing of constants)
My changelog entries for core and network
Doc: updating html and search feature
my changelog
Doc - mention vcsubdirs as a possible value for TEMPLATE
doc: Second attempt to begin reorganizing the top doc page.
Fix syntax error in configure script
fix qmake project file following msvc2010 addition
remove extraneous return statement
cosmetics: change enum value
isOnActiveSpace is available from 10.6.
QTcpServer: Fix documentation for previous commit
Keep support for maximum pending connections in derived QTcpServer
[QNAM FTP] Check for the "ftp" scheme case-insensitively
Use QUrl::isLocalFile and fix the scheme checking in local URLs.
Improve QUrl handling of local file paths
...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Always prefer the bottom area for the list popup - if that doesn't work out
use the maximum available space (top or bottom) and resize the popup if
it still does not fit.
RevBy: Dominik Holland
RevBy: ogoffart
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Functions qt_tablet_init() and qt_tablet_init_wce() are now wrapped with
QT_NO_TABLETEVENT macro.
Merge-request: 2383
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The fix for qtcreatorbug-827 included a call to isOnActiveSpace, which
is only available from 10.6 so this patch adds a runtime check for it.
Since it is a runtime check there is no need for multiple builds.
Notice that the fix for qtcreatorbug-827 will work only on 10.6+
Task-number: QTCREATORBUG-827
Reviewed-by: Richard Moe Gustavsen
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Work around the case when we reach QGestureManager indirectly from
QGraphicsObject destructor.
Task-number: QT-3262
Reviewed-by: Thomas Zander
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Another fix for the same problem - we also need to be careful - when ungrabbing
a gesture for the recognizer that has already been destroyed and cleaning up
the QGesture object for it we need to make sure we know it is removed from the
obsolete gestures list so that we won't delete it again in the QGestureManager
detructor.
Task-number: QTBUG-9801
Reviewed-by: Thomas Zander
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The default QObject constructor was not called, meaning the vista helper
was never registered as a child of the QWizard (and therefore never
deleted when the QWizard was destructed).
Task-number: QTBUG-10203
Reviewed-by: olivier
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Removes unused code from gkt and cleanlooks.
Reviewed-by: Trust Me
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Sliders that draw groove decorations did not invert appearance
correctly in vertical or rtl cases. With this fix we will
flip the rectangles of the respective decorations and tell
gtk if we are using an rtl widget or not.
Task-number: QTBUG-8986
Reviewed-yb: thorbjorn
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Pushing this to 4.7 as it is an easy fix and highly noticable
in the latest official release of Ubuntu.
Task-number: QTBUG-10396
Reviewed-by: thorbjorn
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The problem here arises from the fact that when a window is raisen we
didn't check the current space. This patch fixes that and adds a simple
logic so the window is raisen in the right space.
Task-number: QTCREATORBUG-827
Reviewed-by: Richard Moe Gustavsen
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The title and creator fields in the PDF information
section were not propperly escaped leading to invalid
pdf documents when the title contain ')','(','\' (or
any of the bazilion utf16 characters where one of the
bytes happen to be the same as the ascii code for
one of these).
Merge-request: 2375
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When configuring Qt to be in a namespace then the Mac specific Qt
classes should be namespaced as well to prevent any duplicated class
names when a non namespaced version of Qt is used in conjunction.
Reviewed-by: Richard
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
add static QChar::is(High|Low)Surrogate methods
Increase tooltip margin for cleanlooks+gtk
Fixes a crash in QGestureManager when unregistering recognizers.
Propagate LocaleChange event from application to widgets.
Support updating system locale data on Symbian
QMap: make sure we never access forward and backward through typed Node structs
Don't quote $COMPILER because it may contain flags
Unix configure: fix sed pattern extracting C and C++ flags from mkspec
qdoc: Added more API topics. Are these important?
Prevent accelerators from firing on X11 and QWS during a drag
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
While gtkstyle should really query the width/height
individually, this will help visually for now.
The current 1-pixel margin look quite ugly in
the Qt Creator editor at the moment.
Reviewed-by: mae
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-9801
Reviewed-by: Thomas Zander
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The LocaleChange event will be sent to the QApplication object and then
propagated to all widgets down the hierarchy starting with toplevels.
Reviewed-by: Thomas Zander
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Subscribing to the locale change notification to be able to update the
system locale whenever the user changes the current system locale.
Task-number: QTBUG-4870
Reviewed-by: Thomas Zander
Reviewed-by: Jason Barron
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Drag-and-drop has always been modal, and already blocks key events. It
should block all application accelerators as well, to avoid unexpected
things like being unable to cancel the drag-and-drop (as mentioned in
the task), or by being able to unexpectedly recurse the drag-and-drop
event loop (by, for example, opening a file dialog).
Task-number: QTBUG-9786
Reviewed-by: TrustMe
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (34 commits)
Fix TextEdit and TextInput input panel support for mode RSIP_OnMouseClickAndAlreadyFocused
Fix for graphics widget in the background stealing declarative item's focus
Fix broken benchmarks.
Possibly fix autotest
Correctly assign bool to variant properties
Improve Image docs. Move all fillMode image examples to fillMode
Flickable small API changes.
Reset the dragDropItem to 0 when the item dies while dragging on top it.
Avoid warning (and possible future crash) upon reload.
Don't pass sequential (QNetworkReply) to image reader, it doesn't work well enough.
Stop GIF handler claiming it can report Size for sequential devices,
Use raster graphicssystem for qml.app on OS X.
Add missing test, qdeclarativelayoutitem, to declarative.pro
Sorted the tests list in declarative.pro
Bail out early if the same target value is reassigned to a Behavior.
Correctly position any input method popups for TextInput.
Correctly resize TextInput in the presence of preedit text.
Apply signal handler changes immediately.
Remove unused image
Qt.widgets was removed, point to graphics layouts example
...
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-10584
Reviewed-by: Warwick Allison
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If you drag something on top of an item and the former is deleted then
we need to reset the dragDropItem pointer to 0.
Task-number:KDE BUG 232182
Reviewed-by:leo
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
That's many "use" in the sentence.
Task-number:QT-1652
Reviewed-by:TrustMe
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-10576
Reviewed-by: Alexis Menard
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QElapsedTimer usage was corrected
Task-number: QTBUG-9857
Reviewed-by: Alessandro Portale
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Remove test cases which cause stack overflow
Fix compile errors
Run autotests with minimal capabilities
Documentation updates for Qt/Symbian on Linux development
Allow EPOCROOT env var to be without trailing slash.
Workaround for Symbian Open C bug in socket connect.
Fix fetchedRoot test variable to work also in Symbian
Add configure time checks for symbian environment
Check for existance of sis file parameter to runonphone
Fix thread synchronization issues in Symbian QFileSystemWatcher
Disable compiling of the plugin when extra package not found
Added missing UID3 for qsymbianbearer.dll.
Enabled previously disabled Qt features.
Fix includes so it compiles
Use lowercase includes so it compiles in Linux too
Fixed library dependency for Gnupoc.
Removed the --export_all_vtbl from linking.
Cleaned up the elf2e32 options a bit.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
RVCT builds cannot seem to be able to deal with data symbols at runtime,
so made accessors for fetchedRoot test variable. Also moved it out
of QFileInfoGatherer class as there is no need to have it there.
Reviewed-by: Janne Koskinen
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Disable compiling of the plugin when extra package not found
Added missing UID3 for qsymbianbearer.dll.
Enabled previously disabled Qt features.
Fix includes so it compiles
Use lowercase includes so it compiles in Linux too
Fixed library dependency for Gnupoc.
Removed the --export_all_vtbl from linking.
Cleaned up the elf2e32 options a bit.
|
| | |\ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Added missing UID3 for qsymbianbearer.dll.
Enabled previously disabled Qt features.
Fix includes so it compiles
Use lowercase includes so it compiles in Linux too
Fixed library dependency for Gnupoc.
Removed the --export_all_vtbl from linking.
Cleaned up the elf2e32 options a bit.
|
| | | |\ \
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Enabled previously disabled Qt features.
Fix includes so it compiles
Use lowercase includes so it compiles in Linux too
Fixed library dependency for Gnupoc.
Removed the --export_all_vtbl from linking.
Cleaned up the elf2e32 options a bit.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Mostly by avoiding sending useless QVariant at construction time.
itemChange is virtual, the user implementation will never be called.
Worst case the QGW one.
Reviewed-by:janarve
|
| | | | |
| | | | |
| | | | |
| | | | | |
(should fix compile on Symbian)
|
|\ \ \ \ \ |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (118 commits)
Avoid repeated create/destroy at top list boundary with sub-pixel movement.
Call QDeclarativeItem::geometryChanged() base implementation
qdoc fixes.
Avoid warnings as delegates with bindings to parent are created and destroyed.
qdoc fixes
TextInput echoMode doc.
Make sure to call base class implementation.
More cleanup
Cleanup
Cleanup
Use enum for drag.axis in doc and examples.
Add missing test file.
Fix autotest
Add QML_XHR_DUMP option
Compile
doc fixes
Doc: more clarification of cacheBuffer
Fix some compiler warnings.
Another initialization fix. Unleak.
Fix compile in namespace.
...
|
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
Conflicts:
translations/translations.pri
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
QS60Style did check if the tab icon size was larger than pixel metric
for default tab icon size. If it was, then it reset the icon size to
match pixel metric. It was impossible to set large icon to tab widget.
As a fix, this check was removed from style.
Task-number: QTBUG-3102
Reviewed-by: Jason Barron
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
QComboBoxPrivateScroller calls eraserects for menu scroller areas,
expecting the style to fill the gaps. Unfortunately, the QS60Style
does not draw menu scrollers at all
(but they are functional when interacted with).
Therefore, these areas are now drawn as holes.
As a fix, the eraseRect call from provate class
QComboBoxPrivateScroller is removed when "s60 flag" is defined.
Task-number: QTBUG-10371
Reviewed-by: Janne Koskinen
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Normally Qt uses scrollbuttons together at right (for LeftToRight UI)
side of the horizontal QTabBar; for vertical tab bar, scrollbuttons are
displayed below/above the widget.
Using QTabBar's scroll buttons with touch device that has capacitive
screen, is somewhat hard as the touch area for either of the scroll
buttons is somewhat smallish. So user is experiencing frequent wrong
taps. Making the touch area larger, would make the tabbar tab shape
area smaller, so it isn't a very good solution.
Therefore, when QS60Style is in use, QTabWidget draws the scrollbuttons
on either side of the QTabBar.
Task-number: QT-3104
Reviewed-by: Alessandro Portale
|
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
do not consume excessive amounts of memory, and so can still be reasonably kept
cached with the pixmap.
Saves 8K for every pixmaps drawn to on raster paint engine. Saves about 2K for other graphicssystems.
Task-number: QTBUG-10215
Reviewed-by: Gunnar
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On non-gl graphics systems smooth rendering of qDrawBorderPixmap()
with a transform applied resulted in ugly artifacts. Better to draw
without smooth and get a correct looking result, though with jaggy edges.
Task-number: QTBUG-5687
Reviewed-by: Gunnar
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | | |
Conflicts:
src/declarative/graphicsitems/qdeclarativeitem.cpp
|
| |\ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits)
QGraphicsView drawing artifacts due to rounding errors.
Fixed OpenGL version flags for versions > 3.2.
Do not link QtGui in benchmarks which don't need it
Revert "Revert "Revert "Implement heightForWidth support for QTabWidget and QStackedLayout."""
Fix project file generation for MSVC 2010
Fix wrong translation and clip for the raster paint-engine on Mac
Return the correct library name in qt_gl_library_name for GLES*
qmake: remove useless evaluation of variables from VS project generators
Fix QT_NO_LIBRARY
Documentation for the Elastic Nodes example.
qmake: fix duplicate linker options in VS project files
Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
qmake: fix duplicate compiler options in VS project files
Documentation for the Drag and Drop Robot example.
Fix crash in styles example when running with opengl graphicssystem
Fixed the sizehint for cols/rows in qtableview
QUrl: parsing of host name with an undercore.
Null pointer check
Revert "Try to use multisampled opengl graphicssystem on all platforms"
A small mistake when comparing the flag.
...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Found during investigation of QTBUG-8820, and clearly visible in
examples/graphicsview/diagramscene when slowly moving an item out of the
viewport (left and top edge). Caused by two problems:
1) Using QRectF::toRect() instead of QRectF::toAlignedRect().
2) Didn't adjust the item's bounding rect properly in drawSubtree().
QRectF::toRect() is completely useless since all the coordinates are rounded
to the nearest integer. E.g. QRectF(-0.4, -0.4, 10.4, 10.4).toRect()
-> QRect(0, 0, 10, 10), whereas toAlignedRect() returns QRect(-1, -1, 11, 11).
Then when we have a proper aligned rect, we have to adjust it by 2
pixels in all directions (or 1 pixel in case of
QGraphicsView::DontAdjustForAntialiasing). At first glance this
adjustment seems too much, since one would assume adjusing the QRectF by
0.5 before using toAlignedRect() would be sufficient. That's sufficient
in an untransformed world with pens using BevelJoin. However, the story
is completely different as soon as the world is transformed or the pens
use a different join. It's basically complicated (in some cases
impossible) to calculate a pixel perfect aligned QRect, so instead we
adjust by the amount of pixels required in the worst case.
This commit also includes some optimizations for QRegion updates (since
I anyways had to change the code). There's no point in using QRegion
granularity if the viewport update mode is either FullViewportUpdate or
BoundingRectViewportUpdate.
Auto tests adjusted and new ones included.
Task-number: QTBUG-10338
|