| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/src/development/qmake-manual.qdoc
mkspecs/symbian-gcce/qmake.conf
qmake/project.cpp
src/corelib/global/qnamespace.qdoc
src/declarative/graphicsitems/qdeclarativetext.cpp
src/gui/text/qtextdocumentlayout.cpp
src/gui/text/qtextdocumentlayout_p.h
tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
tests/auto/networkselftest/networkselftest.pro
tests/auto/qscriptengine/tst_qscriptengine.cpp
tools/designer/src/components/signalsloteditor/signalslot_utils.cpp
tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt-html-templates.qdocconf
tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf
tools/qdoc3/test/qt.qdocconf
tools/qdoc3/test/qt_ja_JP.qdocconf
tools/qdoc3/test/qt_zh_CN.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow the input context to be reset twice. The context is reset
because of two events, the first is because an item lost focus and that
reset needs to occur before the focus moves away from the item or events
won't be delivered to it. The second redundant reset is because the
Qt::WA_InputMethodEnabled flag was cleared on the view widget because
no item has focus and it has no way to know the context doesn't need
to be reset.
Change-Id: Ie3b3fc6898d144ed3f8b3822e49ea0eee7e029f4
Reviewed-by: Martin Jones
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moving the cursor to the corner of the desktop (0, 0) will typically
trigger things to happend in the OS, at least on Mac (spaces, synergy etc).
So I changed those tests to move it to (1, 1) instead. The reason to move
it to (0, 0) was just to get the mouse away from the window anyway.
And second, it takes some time after using QCursor::setPos on Mac
before the events from the move actually arrive. And many tests
that use this function relies on this. So I introduces a little
delay. This alone will fix a couble of tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test reveals a real bug when updating and scrolling
at the same time in graphicsview. The problem is that the scroll
will issue an update to cocoa that gets handled before already
queued Qt events. This means that the viewport of graphicsview
will receive a paintevent, and clear dirtyScrollOffset, before
the posted call to _q_processDirtyItems is executed. This means
that we 'loose' the scrolling information upon painting.
I discussed this problem with Bjørn Erik, and he had strong opinions
about this promblem not worthwhile fixing. The raster engine is
anyway about to be default on Mac, and there the problem will not exist.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/imageanalyzer/imageanalyzer.h
examples/webkit/imageanalyzer/mainwindow.h
mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h
src/corelib/io/qfsfileengine_iterator_unix.cpp
src/corelib/io/qfsfileengine_iterator_win.cpp
src/corelib/kernel/qcoreapplication.cpp
src/network/access/qnetworkaccessdatabackend.cpp
src/plugins/bearer/connman/qconnmanservice_linux.cpp
src/plugins/platforms/openvglite/qwindowsurface_vglite.h
src/s60installs/bwins/QtCoreu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/s60installs.pro
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/qdoc3/test/qt-html-templates.qdocconf
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/declarative/minehunt/minehunt.pro
src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
src/plugins/phonon/mmf/mmf.pro
src/s60installs/s60installs.pro
tests/auto/qapplication/test/test.pro
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |
| |
| |
| |
| |
| | |
This ammends commit 0af1f5508e165f3b494ab236cb1cdf1b0edcffa5.
Reviewed-by: trust me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGraphicsView::mapFromScene() returns a QRect instead of a
QRectF. Thus, we were prematurely rounding the micro focus rectangle
coordinates in QGraphicsView::inputMethodQuery(). (The
Qt::ImMicroFocus query returns a QRectF from QGraphicsScene, which is
the result of querying QDeclarativeTextEdit and mapping it to the
scene.)
Auto-test included.
Reviewed-by: leo
Reviewed-by: bnilsen
Task-number: QTCOMPONENTS-288
Task-number: QTBUG-16063
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
mkspecs/features/symbian/symbian_building.prf
src/network/access/qhttpnetworkconnectionchannel.cpp
|
| |
| |
| |
| | |
Fixed some conversion problems using qreal
|
| |
| |
| |
| |
| | |
This should fix autotests regression on all platforms. There was a
very silly typo in the test.
|
|/
|
|
|
|
|
|
|
| |
When constructing QGraphicsSceneHoverLeave event out of QEvent::Leave
we should set the widget pointer to the graphicsview's viewport, th
same as we do for other graphicsscene events like QGraphicsSceneMouseEvent.
Reviewed-by: Yoann Lopes
Reviewed-by: Bjørn Erik Nilsen
|
|
|
|
|
|
|
|
|
| |
World transform and opacity was sometimes not restored correctly after
drawing items.
Auto test included.
Task-number: Discovered while working on QTBUG-12760
|
|
|
|
|
|
| |
connected.
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only happens when the ItemHasNoContents and ItemClipsChildrenToShape
flags are set. Problem is that items with no content are threated as 'dummy'
items, which means they are never drawn or 'processed' otherwise, so the
cached bounding rect is not reliable/usable. This means that in case of
changing the geometry of such items, its children always have to take
care of invalidating the occupied areas and the update can not be
clipped to the item's bounding rect.
Regression after commit: c1c7dbf2
Auto test included.
Task-number: QTBUG-11504
Reviewed-by: yoann
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the child rect is bigger than the parent rect and parent has the
ItemClipsChildrenToShape flag set, then by updating the child, the whole
child rect is marked as dirty, resulting in a much larger update area
than required. This has a major impact on performance in Orbit/HB,
where e.g. item-views typically consist of a container item that clips
its children/items to shape. See attached video in QTBUG-9024.
Auto test included.
Task-number: QTBUG-9024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When focusInEvent is called we need to ensure that WA_InputMethodEnabled
is set, since FocusInEvent might lead to that
QInputContext::setFocusWidget is called (with the QGraphicsView as the
widget parameter).
However, if the widget still does not have WA_InputMethodEnabled set
yet it will assert in QInputContext::setFocusWidget (it requires that
the widget has the flag set).
This was a problem for the morbit bridge, where Dui requires the
attribute to be set (while Orbit actually does not require)
Task-number: QTBUG-10276
Reviewed-by: jasplin
Reviewed-by: Alexis Menard
|
|/
|
|
|
|
|
|
| |
The cursor was reset even when it had not been previously saved.
Autotest included.
Task-number: QTBUG-7438
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
|
|
| |
This change partially reverts commit a589005f and therefore fully reverts
68be6457. We cannot assume that only opaque pixels are painted in
drawBackground().
Regression against 4.5. Auto-test included.
Task-number: QTBUG-8168
Reviewed-by: trond
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem was that the cached view bounding rect was never updated when
overriding QGraphicsScene::drawItems or QGraphicsView::drawItems, without
calling the base class implementation. The same for 'updateAll' boolean.
We also have to make sure there are no unpolished items before we draw.
Regression against 4.5.
Auto-test included.
Task-number: QTBUG-7880
Reviewed-by: yoann
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
| |
We now automatically enable mouse tracking on the viewport of the
GraphicsView when setting AnchorUnderMouse as transformationAnchor or
resizeAnchor.
Autotest included.
Task-number: QTBUG-6835
Reviewed-by: bnilsen
|
|
|
|
|
|
|
| |
NokiaX86 compiler doesn't like QCOMPAREs unless the compared pointers
are cast correctly.
Reviewed-by: Janne Anttila
|
|
|
|
|
|
|
|
|
| |
The problem was that the 'exposed rectangle' passed to the Item's paint() function was rounded to Int values, whereas the one passed to drawBackground and drawForeground was not.
Autotest included.
Task-number: QTBUG-5859
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
| |
The problem was that the scene was not notified it lost the focus
when it was disconnected from the view (with setScene)
So when it got back the focus, nothing was updated because the
scene thought it still had the focus.
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4bf7f90a27377f439e86d6175e5e3cdebd131be0.
The change is already reverted in kinetic-declarativeui.
Reviewed-by: Warwick Allison
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows items to check painter->clipRegion() to find out what the
imposed clip is, in order to cull elements that don't need to be
painted. This is an alternative approach to getting the same
information from QStyleOptionGraphicsItem::exposedRect. It's better
because it's a pull operation, but it's slightly worse because it
doesn't include the complete system clip, and because QRegion has
integer resolution only (whereas QGraphicsItem's coordinate uses
qreal.
A better approach may be to access QPainter's combined clip region;
this option is open for future versions of Qt.
Original patch by Warwick (which is why he's on reviewed-by), but the
patch was modified to operate in device instead of logical coordinates.
Reviewed-by: jasplin
Reviewed-by: Warwick Allison
|
|\
| |
| |
| |
| | |
Conflicts:
src/gui/effects/qgraphicseffect.cpp
|
| |
| |
| |
| |
| | |
Make sure the view is painted, otherwise the transforms are identity and
comparisons don't make sense.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The painter's worldTransform() is updated for each item we draw, and
when the DontSavePainterState optimization flag is set, this change is
not protected by save() and restore(). After all the items are drawn, it
means the painter is left with the last drawn item's transform. We
therefore have to make sure it is reset back to whatever it was before
the items were drawn.
Auto-test included.
Task-number: QTBUG-4973
Reviewed-by: alexis
Reviewed-by: andreas
|
|/ |
|
|
|
|
|
|
|
|
| |
Accounting for double resolution devices on Windows Mobile in the test
data sets (tst_qgraphicsview_2.cpp).
Skipped a test involving mouse tracking (tst_qgraphicsview.cpp).
Reviewed-by: Joerg
|
|
|
|
|
|
|
|
|
|
| |
Cocoa doesn't support regions update and always update the
bounding rect (see comment in QWidgetPrivate::update_sys
in qwidget_mac.cpp)
Change tests that checked that we get the exact regions.
Reviewed-by: MortenS
|
| |
|
|
|
|
| |
On mac, we always get full update.
|
|
|
|
| |
When a widget is shown we get two paint avent on Mac
|
|\
| |
| |
| |
| | |
Conflicts:
tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
We must make sure that the graphics view scene is centered to make
this test work. On Windows mobile, the widget was too wide and the
scene wasn't centered.
Reviewed-by: thartman
|
| | |
|
| | |
|
| |
| |
| |
| | |
QGraphicsProxyWidget test
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
Reviewed-by: Joao
Conflicts:
src/gui/graphicsview/qgraphicsview.cpp
src/gui/widgets/qspinbox.cpp
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Regression against Qt 4.4. Children of items with ItemClipsChildrenToShape
would only be discovered if the view's expose region contained the outer
bounding rect of all items, _if_ there was at least one item in the
scene that enabled ItemIgnoresTransformations.
The reason for this bug is that the presence of an untransformable item
causes the item lookups to go through a different path
(QGraphicsViewPrivate::itemsInArea()). This function had the bug that it
didn't correctly discover children of clip-items. Because of this, in
the provided test case you could "work around" the bug by either removing
the clip flag, or the transformation flag.
Task-number: QTBUG-4151
Reviewed-by: Alexis
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| | |
|
| |
| |
| |
| |
| |
| | |
static_cast from QGraphicsView* to QWidget*. Change QPlastiqueStyle to QWindowsStyle for some platforms like S60.
Reviewed-by: Jason Barron
|