| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Problem was that we used the children's raw bounding rect instead of
using their effective bounding rect when calculating the bounds.
Auto test included.
Task-number: QTBUG-10756
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The biggest and most important issue was that QGraphicsItem::scroll
always accelerated the scroll without taking overlapping items or
opacity into account, which caused drawing artifacts. We can only do
accelerated scrolling if the item is opaque and not overlapped by
other items. There's no (sane) way to detect whether an item is
opaque or not (similar to Qt::WA_OpaquePaintEvent), which means we
cannot support accelerated scrolling unless the item is cached into
a pixmap (QGraphicsItem::setCacheMode).
The second issue was that QStyleOptionGraphicsItem::exposedRect always
contained the whole boundinRect() after an accelerated scroll
(even with the QGraphicsItem::ItemUsesExtendedStyleOption flag enabled).
Auto test included.
Task-number: QTBUG-8378, QTBUG-7703
Reviewed-by: yoann
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 a child marks its parent as dirty (and the parent has an effect) and they are
not in a scene, they must not set fullUpdatePending to 1 because if the scene
is in fullUpdate (not yet painted) then the item will not be processed by
processDirtyItemRecursive so the fullUpdatePending flag will never be
reset by resetDirtyItem. Any calls to update() will be then discarded
because it will think that a full update is pending for the item. A full
update will be done anyway by the scene and if not then markDirty will do
its job when the parent will be added to the scene.
Task-number:QTBUG-10037
Reviewed-by:bnilsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the echoMode changes for QDeclarativeTextInput we need to update
the inputmethod hints.
Also in QGraphicsView we need to update the input context installed on the
view to make the former is aware of the change.
For the input context framework the only way to deal with the current widget
is focusWidget(). Unfortunately the widget that has the focus is the
QGraphicsView so the input context don't know the real object QGraphicsView
is actually focusing. We must keep in sync the inputMethodHints of QGV
with the object QGraphicsView is focusing so the input context just
called focusWidget()->inputMethodhints() to update itself.
Task-number:QTBUG-9922
Reviewed-by:janarve
Reviewed-by:bnilsen
Reviewed-by:Michael Brasser
|
|
|
|
|
|
|
|
| |
The event ShortcutOverride was not handled by QGraphicsTextItem.
Autotest included.
Task-number: QTBUG-7333
Reviewed-by: bnilsen
|
|\
| |
| |
| |
| | |
Conflicts:
src/multimedia/audio/qaudioinput_win32_p.h
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Needs investigation of autotest failures on QWS, osx, win platforms.
This reverts commit 741b75b8e595a26944ba8fca8835463787b02676.
Conflicts:
tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
|
| |\ \
| | | |
| | | |
| | | | |
into 4.6-multimedia
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: rohan mcgovern
|
| | | |
| | | |
| | | |
| | | | |
not passes
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by:TrustMe
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QGraphicsItem is no more lacking a way to notify the input method of a
changed micro focus.
Reviewed-by:denis
Reviewed-by:simon hausmann
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
doc/src/modules.qdoc
mkspecs/common/symbian/symbian.conf
src/gui/graphicsview/qgraphicswidget.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (47 commits)
QScript: More missing APIShim
QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines
Work-around Symbian 10.1's broken egl.h
Add some #warnings to debug Symbian EGL build failure
Don't detect EGLImage presence by testing function pointers
Implement proper QStaticText support in QPaintBuffer
Make QStaticText layout lazy
Change QStaticText::setMaximumSize() to setTextWidth()
Respect QPainter::pen() in QPainter::drawStaticText()
QVarLenghtArray: add some API to be consistant to QVector
Don't try to resolve EGLImage function pointers if they are defined
Change ORs to ANDs when checking EGLImage extension defines
Protect EGLImage function definitions in #ifdef
Fix a bug in greek shaping causing infinite loops
Define QT_NO_EGL in configure.exe
improve mingw 64 bit support
Fix build on Windows
Round instead of ceil font metrics when ForceIntegerMetrics is enabled
cetest: remove source file duplicates from cetest.pro
Remove EGLImage create/destroy resolving from VG pixmap data
...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When changing transformation properties (i.e., setRotation(),
setScale(), setTransformOriginPoint()), itemChange() is now called to
allow notification and change of the values. The flag
ItemSendsGeometryChanges needs to be set to enable this.
Autotest included.
Task-number: QTBUG-8112
Reviewed-by: alexis
|
| |\ \ \ \
| | |/ / /
| |/| | /
| | | |/
| | |/|
| | | |
| | | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
qmake/generators/symbian/symmake.cpp
src/3rdparty/webkit/WebCore/WebCore.pro
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We can't rely on the exposed rect since the item can be outside the view
so we need to regenerate the complete pixmap.
Task-number:QTBUG-8750
Reviewed-by:sroedal
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
SetX and setY were calling setPosHelper directly therefore events for
itemSendGeometryChange and itemSendScenePositionChange were not sent
properly.
Task-number:QTBUG-9093
Reviewed-by:janarve
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also a harmless test added to check that the flag is actually set.
Reviewed-by:TrustMe
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
configure.exe
examples/multimedia/audioinput/audioinput.cpp
src/corelib/io/qfsfileengine.cpp
src/gui/egl/qegl_wince.cpp
src/gui/egl/qeglproperties.cpp
src/gui/egl/qeglproperties_p.h
src/gui/embedded/directfb.pri
src/gui/kernel/qapplication_win.cpp
src/gui/painting/qdrawutil.cpp
src/opengl/qgl_p.h
src/sql/drivers/odbc/qsql_odbc.cpp
src/sql/drivers/odbc/qsql_odbc.h
tests/auto/auto.pro
tests/auto/qgl/tst_qgl.cpp
translations/assistant_adp_ru.ts
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The patch was wrong. The new one is pushed into 4.6. The old one
is reverted to avoid merge conflicts.
This reverts commit a7ef2d899d711d750238a8d69284da808188b407.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When clearing the focus on an item, the focus was previously passed to
the closest parent focus scope (if any). But the focus should go to the
closest parent focus scope only if the item being cleared of the focus
is itself a focus scope. This incorrect behavior leaded to invalid
pointers in QGraphicsItem under specific circumstances, eventually
leading to a crash when destroying the item.
Auto-test included.
Task-number: QT-2649
Reviewed-by: Andreas Aardal Hanssen
|
| |\ \ \ |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/gui/kernel/qcocoapanel_mac.mm
src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
src/gui/kernel/qeventdispatcher_mac.mm
src/gui/kernel/qt_cocoa_helpers_mac.mm
src/gui/widgets/qmenu_mac.mm
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Reviewed-by: trustme
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Going back to always blitting the newly painted areas to the cache (and
not blending it like before). To avoid painting artifacts when the item
is rotated and when it uses DeviceCoordinateMode cache mode, the entire
cache is always repainted in that case.
Task-number: QTBUG-7863
Reviewed-by: trustme
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
No repaint is triggered anymore when setting the cache mode to
DeviceCoordinateMode when already using that mode.
Also added an autotest for checking repaints when setting cache modes.
Task-number: QTBUG-9391
Reviewed-by: ahanssen
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before calling addItem we need to invalidate the depth otherwise if
someone call anything relating to sorting when itemChange is called
(because of the scene change for instance) then qt_closestItemFirst
for example can crash because of an invalid state.
Task-number:QTBUG-6932
Reviewed-by:janarve
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The focus is now properly cleared when hiding or showing focus scopes or
when a child of a focus scope is destroyed.
No change of behavior in how focus scope works for QML.
Autotest included.
Task-number: QT-2649
Reviewed-by: Andreas Aardal Hanssen
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The DataStore could have been destroyed before.
Even if having static QGraphicsItem is not really supported, it is
better not to crash
Task-number: QTBUG-7629
Reviewed-by: bnilsen
|
| | |
| | |
| | |
| | |
| | | |
The two views were displayed on top of each other, so some repaints were
not triggered.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need to set the paintedViewBoundingRectsNeedRepaint flag when an item
becomes visible again because when the item has opacity 0.0 the
paintedViewBoundingRects struct can get set as outside of viewport, so the
next time the item is set to visible again we need to diregard this cached
data (otherwise the item will not be updated).
Task-number: QTBUG-7714
Reviewed-by: bnilsen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When doing a full update of a parent item, by setting one of these flags,
QGraphicsItem::ItemIgnoresTransformations | ItemClipsChildrenToShape |
ItemIsSelectable, the child items that were transparent would not be
shown when setting their respective opacity to 1.0
We just need to set the ignoreOpacity flag when setting opacity to 0.0.
This avoids propagating this flag to the child items when it's not
needed.
Task-number: QT-2653
Reviewed-by: bnilsen
|
| |/
|/|
| |
| |
| |
| | |
Unified multiple class definitions for MyGraphicsView and cleaned whitespaces.
Reviewed-by: bnilsen
|
|/
|
|
|
|
|
|
|
|
| |
Calling setParentItem is causing the previous opacity/visible updates
to be discarded because the dirty flags were not propagated to the new parent.
Also removed some unnecessary 'markDirty' and 'update' calls.
Task-number: QTBUG-6738
Reviewed-by: bnilsen
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
New transformation properties added in 4.6, such as rotation or
transformOriginPoint were not taken into account in addTogroup and
removeFromGroup.
Autotest and manual test included.
Task-number: QTBUG-5071
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
|
| |
QGraphicsEffect::boundingRectFor() needs the source bounding rect in
device coordinates. This patch fixes the documentation to reflect this,
and fixes some internal usage of boundingRectFor() to ensure it always
gets the device rect of the source.
Task-number: QTBUG-5918
Reviewed-by: Bjørn Erik Nilsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWidget
with setGraphicsEffect(0).
The effect was not deleted in that case, problem solved for both QGraphicsItem
and QWidget.
Autotest included.
Task-number: QTBUG-5917
Reviewed-by: bnilsen
|
|
|
|
|
|
|
| |
Some applications call setDefaultTextColor in the paint event.
Task-number: QTBUG-6242
Reviewed-by: Gabriel
|
|
|
|
|
|
|
|
| |
Correctly set the ItemAcceptsInputMethod flag in setTextInteractionFlags.
Reviewed-by: Andreas
Reviewed-by: axis
Reviewed-by: Janne Koskinen
|
|
|
|
|
| |
Task-number: QTBUG-5418
Reviewed-by: Gabriel
|
|\ |
|