| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This happens only on keyboard layouts like French. The is mainly due to
the key event processing done by the Input manager. In carbon, the key
down event has to be replayed after the input manager finishes his
processing. In Cocoa, while unmarking we have to accept the current text.
Task-number: 123740
Reviewed-by: nrc
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can save on some creation and only show the container when we really
need to. It does mean that we need to ensure that everything is correct
on construction as well. It's now factored into another file.
Reviewed-by: Jens Bache-Wiig
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The function was added in fde7f3d03782c801901f511131458d6fcb1021a5
and we believe qFuzzyIsNull is a better naming and more in line
with qFuzzyCompare.
Reviewed-by: Lars Knoll
Reviewed-by: nrc
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| | |
See also fde7f3d03782c801901f511131458d6fcb1021a5
Reviewed-by: Olivier
Reviewed-by: Samuel
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The main use case for fixed-point support is to build large
arrays of vertices. This can be handled using qvertextype or
something similar at higher levels. So it isn't worth risking
numerical instability in the core classes.
Reviewed-by: trustme
|
|/ /
| |
| |
| |
| | |
QTextEdit fakes an infinite width, while QPlainTextEdit defaulted to 0.
This was discovered in creator's auto tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't need mouse tracking unless there are items in the
scene that either accept hover events or have a cursor set.
This cut-off is extremely efficient in the common case since
all items ignore hover events and use the standard cursor
by default.
We no longer dig for items and do lots of intersection and
calculating just for fun :-) We even get rid of the overhead
of 2 x QCoreApplication::sendEvent!
The next step is to optimize the items(*) functions to
simply check for hasCursor()/acceptsHoverEvents() before
we do complex checks like intersects/collidesWithPath() etc.
Auto test included.
Reviewed-by: Andreas
|
| |
| |
| |
| |
| | |
qIsFuzzyNull is much cheaper than qFuzzyCompare, and
in this case qIsFuzzyNull will do the trick.
|
| |
| |
| |
| |
| |
| | |
Add some private inline constructors and do inlining
other places.
All test still pass.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we have QPainterPath::translate, we can use
that instead of itemTransform()/map(To|From)Scene, which
lowers the number of QTransform operations involved.
Reviewd-by: Andreas
|
| |
| |
| |
| |
| |
| |
| | |
Also removed the old obsolete qkbpc101_qws files. Somehow this removal got
lost in the rebase before the keyboard handler refactoring commit.
Reviewed-by: TrustMe
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not update the cache's exposed list if the entire cache
is already exposed.
Makes tst_QGraphicsItem::cacheMode pass again.
Reviewed-by: Andreas
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
src/gui/graphicsview/qgraphicsitem_p.h
src/gui/graphicsview/qgraphicsscene.cpp
src/gui/painting/qtransform.cpp
|
| |
| |
| |
| | |
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| | |
Looks like a typo.
Reviewed-by: Bradley T. Hughes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWidget::childAt() makes some assumptions about its children (they are
all contained in its geometry). This does not hold up when using the
unified toolbar because the toolbar ends up in the "non-client" area.
So, when dispatching an enter/leave event in tooltip show, we end up
dispatching to the wrong widgets and that results in the tooltip
cleverly thinking that it needs to hide itself because we've left the
widget that needs the tooltip. I've special cased this by just having a
"native" mapFromParent() that is only called for on the mac, though
there is nothing that is limiting this from being called on other
platfroms.
Also QWidget::mapFromParent() probably needs to be looked at at some
point.
Task-number: 248048
Reviewed-by: Richard Moe Gustavsen
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RevBy: bnilsen
Task: 249394
Details: When going through the backingstore a repaint in a
toplevel resize should just discard the repaint() as
it will repaint shortly after anyway. This is in line
with the implementation of update().
|
| |
| |
| |
| |
| |
| | |
RevBy: Samuel
Details: The IMAGE_FROM_PIXMAP has to be doing a local copy or
something, because it is sure not fast...
|
| |
| |
| |
| | |
RevBy: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old code did not split up the frame from the central
parts of the itemview selection box correctly. We now
draw the edges as border images instead. Previously this
would lead to somewhat ugly scaling artifacts for small
header sections.
Task: 248839
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a regression in the background color for QComboBox popups.
This should resolve it. It essentially tells the system to stay off
the system palette while QGtkStyle is used. We will introduce
a cleaner style hint for this in 4.6.
Reviewed-by: nrc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change shows a limitation in Graphics View caused by QPen's
default width being 0 (cosmetic), while Graphics View actually
does not support cosmetic pens at all. Because items are at risk of
drawing lines that poke 1 pixel outside their bounding rect,
QGraphicsView must look for items that are up to one pixel
larger than their bounding rect mapped to viewport coordinates.
Furthermore, mapToScene(QRect) forces us to adjust the
input rectangle by (0, 0, 1, 1), because it uses QRect::bottomRight()
(etc) when mapping the rectangle to a polygon (which is _wrong_). Since
this behavior has been there since 4.2, we don't want to fix it in
a 4.5 patch release...
The only _proper_ fix to this problem is for the view to know the item's
"adjust" in device coordinates, allowing items to use cosmetic pens
freely. Fex, we could introduce QGraphicsItem::viewportMargins() or so.
Added an autotest to ensure this doesn't break again.
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
0aa2ef27249dc8e782c2942340776bb19de80a0d
RevBy: TrustMe
AutoTest: tst_QGraphicsItem::boundingRegion() pass again
Details: The original code adjusted the QRect version of a mapped bounding rect,
wheras my patch adjusted a mapped bounding rect (QRectF) and then
converted it to a QRect.
|
| |
| |
| |
| |
| |
| |
| |
| | |
RevBy: Andreas
AutoTest: Still pass
Details: QRectF::intersects does not work with flat rectangles, so
we cannot intersect the bounding rect without adjusting it
first.
|
| |
| |
| |
| |
| | |
RevBy: Olivier
AutoTest: Still pass
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RevBy: Andreas
AutoTest: tst_QGraphicsView::itemAt2 pass again
Details: A QPoint in the view has to be mapped to a pixel in the
scene, otherwise it won't be possible to e.g. click
on items that are smaller than a pixel.
So...we have to optimize the hit-testing code in another way
|
| |
| |
| |
| |
| | |
RevBy: Andreas
AutoTest: included
|
| |
| |
| |
| |
| |
| | |
We can shortcut quite some calculations for the common case
by first checking whether the point is contained in the
control point rect.
|
| |
| |
| |
| |
| | |
Implement specialized (and more efficient versions) of item_helper()
and child_helper() that test for QPointF in the scene.
|
| |
| |
| |
| |
| | |
AutoTest: Still pass.
Details: It's easier to read and understand the code now.
|
| |
| |
| |
| |
| |
| |
| |
| | |
AutoTest: Still pass.
Details: Update requests can be discarded if the item itself is
clipped away and the item clips all its children to shape.
This cut-off is extremely effective (and aggressive:))
|
| |
| |
| |
| | |
AutoTest: Still pass
|
| |
| |
| |
| | |
AutoTest: Still pass
|
| |
| |
| |
| | |
Details: It's clipped away regardless.
|
| |
| |
| |
| | |
RevBy: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
AutoTest: Still pass
Details: Get rid of QTransform::inverted()/operator*= and do
nothing if the item clips all its children and the update
rect is outside the bounding rect.
|
| |
| |
| |
| |
| |
| |
| |
| | |
AutoTest: Still pass.
Details: Update requests can be discarded if the item itself is
clipped away and the item clips all its children to shape.
This cut-off is extremely effective (and aggressive:))
|
| |
| |
| |
| | |
RevBy: Andreas
|
| |
| |
| |
| | |
RevBy: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| | |
RevBy: Andreas
AutoTest: still pass
Details: Adds emptyClipPath bit, a cut-off to test if the item
has an empty clip path (i.e., is clipped away). Also adds
code for invalidating the cache from inside setPos().
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
RevBy: Olivier
AutoTest: Still pass.
Details: Items usually don't have effective opacity, i.e. it is 1.0, so
don't bother doing fuzzy compare if that's the case.
|
| |
| |
| |
| |
| | |
RevBy: TrustMe
Details: ...otherwise it'll be empty and too much will be clipped away.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure we use the rect-variation of QGraphicsScene's item lookup
functions if the view has a simple transform and a simple expose
region.
Reviewed-by: Bjoern Erik Nilsen <bjorn.nilsen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RevBy: Alexis
AutoTest: Still pass
Details: findItems() does almost exactly the same as
QGraphicsView::items, the only difference is that it checks
whether we are about to redraw all items. Next step
is to optimize the items_helper functions.
The patch does also include a fix for
::items/childItems_helper(const QPainterPath ...); it didn't
take Qt::Intersects/ContainsItemBoundingRect into account
(in the same fashion as we do in the other helper functions).
|
| |
| |
| |
| |
| |
| | |
RevBy: Alexis
AutoTest: Still pass
Details: No-brainer.
|