| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
the API for these 2 classes is identical, the implementation is almost
identical, they share the same data structures, so bite the bullet and
merge them.
this means we go back to using screenPos() instead of globalPos()
again
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
src/gui/graphicsview/qgraphicsitem_p.h
src/gui/graphicsview/qgraphicsscene_p.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QPainter::worldTransform() does not return identity matrix when created
on a redirected widget. It should always be identity by default, and
should only change as a result of QPainter::setWorldTransform. The
reason it didn't return identity for redirected widgets, was that we
translated the shared painter's world matrix directly.
Since we cannot modify the world matrix directly, we have to store
the shared painter's current world transform in a separate matrix
(redirectedMatrix), reset the world transform to identity, and later
combine the redirectedMatrix with world transforms set on the painter.
Note that redirection_offset was in negative coordinates before,
and that redirectionMatrix now is in positive coordinates, hence opposite
signs around.
Auto-test included.
Reviewed-by: lars
Reviewed-by: Samuel
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 631
Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It should not be necessary to adjust the expose rectangle by 1 in all
directions; the expose has already been adjusted by the scene and view.
Reviewed-by: bnilsen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We use stable sorting to keep insertion order. This works fine as long
as we sort a complete list of siblings in one go, and this list already
has items in insertion order. But if we shuffle such a list, the only
way to get proper sort order again (with insertion order intact), is
if each item has a sibling index. We used to have this, but we don't
have it anymore (as it's not needed for NoIndex mode).
So until we separate the BSP index into a separate class and add this
index there, we add this workaround which uses the toplevelitems list
to ensure the items have the correct order.
Reviewed-by: bnilsen
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes the zValue autotest, which regressed when the member list was
added.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we pass the viewport widget as the widget pointer when rendering to
an arbitrary painter (e.g., onto a pixmap), we confuse the rendering
functions to thinking that it's the viewport's region we should render
into. So instead, when drawItems() is passed a painter that's different
from the view, we pass 0 for the widget.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change introduced an unexpected interdependency for scenes with
items that enable ItemStacksBehindParent, and that contain children
that are transformed. There's a manual test for this, called
clippingAndTransformations, which shows this problem.
The bug has been fixed and this change also includes an autotest that
covers exactly this problem.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This flag toggles whether we should send notifications for setPos,
setMatrix, and setTransform. It's off by default. Docs have been updated.
All autotests pass. This change also cleans up a bit so that we both
have readable code, and keeping the optimized path for when we need to
send the notifications.
By enabling this flag by default we are going to trigger regressions in
end-user code.
Reviewed-by: bnilsen
|
| | | |
| | | |
| | | |
| | | | |
See also: 1c9032f29d4500b33622d7510b6361c99d9af296
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
properly pass to drawItemHelper.
The second is a double conversion to deviceTransform in createStyleOption
of QGraphicsItem. Since the recursive drawing already give a transform
in device mode we don't need to convert it two times.
Reviewed-by:andreas
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reapply commit 8ad5020940f10d4ecc5c5e8b3b9656531cb84ef3 and its
dependent change that has been reverted while rebasing the
recursivepaint branch.
With the new properties it is possible to easily animate transformations
Reviewed-by: Andreas
Documentation still need to be reviewed.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
E.g. item->update(QRectF(0, 0, 5, 5)); item->update();
The problem was that we discarded all update requests whenever the item
was already marked as dirty. The dirty bit only means it has pending
updates (which might be a full update). However, we have a separate bit
for full updates (fullUpdatePending) so we have to check against that
bit instead.
Makes tst_QGraphicsProxyWidget::paintEvent happy.
Another auto-test included.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Once a _q_processDirtyItems call is queued, it means we at least have
one item that is marked as dirty and we must reset it when the
_q_processDirtyItems slot is called. The problem however, was that
we didn't reset the item's dirty state if a full scene update occurred
in between, i.e. item->update(); scene.update();
We don't have to calculate the item's dirty rect if a full scene update
occurs in between, but we still have to reset its state.
Auto-test included.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is necessary after we made the sceneRect grow lazily when it's not
assigned.
|
| | | |
| | | |
| | | |
| | | | |
Makes tst_QGraphicsScene::update happy.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We have to keep the growingItemsBoundingRect up-to-date if there's no
scene rect. The only difference now is that sceneRectChanged will not
be emitted before entering the event-loop, but the documentation
only states it'll be emitted when the scene rect changes, so we
consider it harmless.
Makes tst_QGraphicsView::sceneRect_growing and
tst_QGrahicsScene::sceneRect happy.
Reviewed-by: Andreas
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Enable QGraphicsView::IndirectPainting to make sure it detects which
items are drawn.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is work-in-progress, so don't expect everything to work perfectly.
Most of the auto-test pass and examples and demos seem to run fine.
Unfortunately I'm too tired to write about the actual update mehanism
now, but it's faster than the old approach (if that helps:)). There's
more to optimize, but I'll come back to that later. I need some sleep now :)
To be continued.
|
|\ \ \ \
| | |_|/
| |/| | |
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
add an auto-test when we copy file infos.
Reviewed-by: ogoffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The MODULE placeholder shouldn't be used anymore, and neither should the
old Trolltech license header.
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add support for reading and writing for Mono, MonoLSB and Indexed
images in the tiff format.
Previously, the images were always written in RGB32, dismissing the
input format.
Task-number: 254317
Reviewed-by: Samuel
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoid a division by 0 when doing QImageReader::setScaledSize(QSize(0, 0))
for jpeg formats.
Reviewed-by: thierry
Task-number: 255627
|
| | | |
|
| |/ |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
still paint them.
The autotest is included.
Task-number: 254449
Reviewed-by: ogoffart
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty/phonon/qt7/mediaobject.mm
src/3rdparty/phonon/qt7/quicktimevideoplayer.mm
src/gui/text/qfontengine_win.cpp
tools/linguist/shared/cpp.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some of the tests (including the httpsServer one) requested that the
server close the connection (Connection: close). It could happen that,
well, the server did close the connection and we noticed it while doing
the waitForBytesWritten in the doSocketFlush function. Then we'd create
an error in the next step because the socket wasn't connected.
Reviewed-by: TrustMe
|
| | |
| | |
| | |
| | |
| | | |
cursorPositionChanged() singals of QTextDocument. The contentChange() signal
is used for the syntax highlighter.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
More information in task 166873.
Merge-request: 514
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also, issue a warning if a type is not known to the meta-type system.
Task-number: 248129
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Converting the array to its string representation is not very useful.
Now round-trip conversion will work as well.
Reviewed-by: Ariya Hidayat
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The fix that was introduced adds regressions, and I don't see a way we
can fix it without breaking someone elses code. So restoring the
original fix that just avoid a crash (autotest by Thierry is included).
Revert "Revert Avoid a crash when setting a focus in a widget
hierarchy containing"
Revert "Setting a focus on a widget hierarchy which contains both
visible and invisible widgets could cause a crash."
This reverts commit be833a4f25a8ec8c3dd7a8ac4fa4b0507c93e7ee.
This partially reverts commit 1a7da7096bbda17197738061902f4489af234bc0
Reviewed-by: Thierry Bastian
Reviewed-by: Prasanth Ullattil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
added new method QNetworkAccessManager::deleteResource (naming the
method "delete" was not possible since it is a reserverd word in
C++) and adjusted all the internals necessary.
Task-number: 242916
Reviewed-by: Thiago
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When cross-compiling, it's possible that the size of qreal for moc
itself (host platform) is different from the size of qreal on the target
platform. Thus, we should not encode the metatype-id of qreal at moc
time. Instead, use QMetaType::QReal in the generated code so that the
the property flags are only derived at compile time.
We also need to support the pesky QT_COORD_TYPE. In this case, qreal can
be _any_ type (not just float or double), so we encode the property type
as 0 and have a special check in QMetaProperty::type() that resolves the
correct type at runtime.
Reviewed-by: Simon Hausmann
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
So far, only operator% was working for concatenation in those circumnstances.
Now, defining QT_USE_FAST_OPERATOR_PLUS and QT_USE_FAST_CONCATENATION is
enough, so user code will work without any source changes.
Reviewed-by: joao
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
this makes sure that we get the proper start/last position maintenance
and global->local translation.
|
| | |
| | |
| | |
| | | |
Qt::WA_AcceptTouchEvents
|
| | |
| | |
| | |
| | |
| | | |
The mask isn't used and changing it doesn't do anything, so this is
just a cosmetic/clarification change.
|
| | | |
|
| | | |
|