| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
RevBy: bnilsen
AutoTest: All pass + plasma ok
|
|
|
|
|
|
|
|
| |
RevBy: bnilsen
AutoTest: Bench
Details : if we come from setPosHelper (so itemChange) we don't need to do all the stuff regarding the size in setGeometry because the size doesn't change.
I remove two calls to fullUpdateHelper and update() because prepareGeometryChange already call updateHelper and setPosHelper call fullUpdaterHelper too so we don't need to call them inside setGeometry.
We can only call prepareGeometryChange only if we don't come from setPos.
|
|
|
|
|
|
| |
RevBy: Andreas
Details: Use QPainterPath::addRect() rather than addPolygon() and
closeSubPath().
|
|
|
|
|
| |
RevBy: Andreas
AutoTest: Still pass
|
|
|
|
|
| |
RevBy: Andreas
AutoTest: tst_QGraphicsItem::opacity still passes
|
|
|
|
|
|
|
| |
Task: none
RevBy: Samuel
AutoTest: Still pass
Details: Please do not perform (potentially expensive) calculations just for fun :)
|
|
|
|
| |
Details: Be a little bit smarter before doing *= :)
|
|
|
|
|
|
|
|
|
|
| |
Task: none
RevBy: Ariya Hidayat
AutoTest: Still pass.
Details: QTransform::type() is cached, so only the first call to it
should be expensive. However, it is not inlined so there's
an overhead involved (especially when these functions are
called a gazillion times).
|
|
|
|
|
|
| |
RevBy: Andreas
Details: Note that isNull() implies isEmpty(), but it only catches
the cases where width and height is 0.
|
|
|
|
|
|
| |
Details: Checking for QRect::isNull() was wrong in the first place, and
checking for isEmpty()/isNull() is overhead after
4a491a84aeba68279927597a261522dcc23bb3ff.
|
|
|
|
|
|
|
|
| |
Details: Those cut-offs are extremely important. After few seconds
interaction with the iphone demo, updateRect() was called
approx. 3000 times with an empty rect. Then imagine what
happens when having e.g. FullViewportUpdate. We do
q->viewport()->update() JUST FOR FUN!
|
|
|
|
|
|
|
|
| |
Task: -
RevBy: Andreas
AutoTest: -
Details: Accumulate the parentToItem transform as we iterate instead of
creating it from bottom-up each time.
|
|
|
|
|
|
|
| |
QFileSystemModel::filter().
Task-number: 250285
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
|
|
|
|
|
|
| |
desktop environment.
Task-number: 250338
Reviewed-by: Jens Bache-Wiig <jbache@trolltech.com>
|
|
|
|
|
|
|
|
| |
We changed the logic for determining sheets, but it seems we forgot to
take the parentWidget() into account. It's required for WindowModality
to make any sense.
Reviewed-by: Richard Moe Gustavsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that GetThemeTextColor is not available at all for 64-bit
versions of the operating system and there is no good equivalent.
We were using a technique where we would create a small pixmap and then
use HIThemeSetTextFillColor() with the proper enum. However, this
function will silently set a black color if it doesn't know about the
enum. So, we get black when we really shouldn't. It also seems to
produce colors that are a bit different from the Carbon function. So, in
the meantime, just hard code the values in. It might break if you are
hacking the resources in Mac OS X, but we'll have to live with that
until we get a real function.
Task-number: 248918
Reviewed-by: Prasanth Ullattil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well actually this change is a bit bigger than just that.
*We no longer override the palette you provide in polish so it should
be a bit more frienly toward custom application changes.
* Another issue was that we would generate the palette information
when we got the style callback from gtkButton but then the line edits might not yet have been
polished. Hence we now return from the callback and instead post the
update for later.
* We had to modify the PE_Frame entry to draw a raised menu when the
custom combo box delegate was used.
* We now simply ignore custom
qtconfig palette entries when using GtkStyle since they only cause
trouble with it.
Task-number: 250142
Reviewed-by: nrc
|
|
|
|
|
|
|
|
|
| |
If we get an hover event while the model gets invalidated, we might ends
up calling itemDecorationAt before the viewitem is refreshed.
Can be reproduced in KTorrent (Relates to KDE bug 172198) or Kopete trunk
Reviewed-by: Thierry
|
|
|
|
|
|
|
|
| |
This fixes KRunner on XMonad. The Qt::Dialog flag of the krunner dialog
was lost when the Qt::WA_TranslucentBackground was set, leading to
incorrect behaviour in some window manager (such as xmonad)
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main problem is that enterDirectory received a QModelIndex that can
be a proxy index and not a source index if there is a proxy set on the
QFileDialog. This fix basically discover some other crashes in the
completer. The problem was that we didn't apply the proxy to the
completer too. So we basically messed up source and proxy indexes.
Both have a proxy set now and convert the model indexes if needed.
Task-number:250194
Reviewed-by:jasplin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 4a00810cc394b7da99ddb2d13eb045352ede25d3 ensures
that setting the focus policy of a widget applies to its
proxy (if any) as well. This propagation effect is however
unfortunate for a QCompleter in PopupCompletion mode.
The client widget (typically a QLineEdit or a QTextEdit)
acts as the focus proxy to the popup menu. Internally,
the completer sets the focus policy of the popup menu to
NoFocus, but this should not affect the focus policy of
the editor.
Reviewed-by: janarve
Task-number: 250064
|
|
|
|
|
|
|
|
|
|
|
| |
This issue would cause Qt Creator and similar apps with proxy styles to loose
their custom styling whenever any x11 system settings changed.
This happened because we would re-read the settings and override the
system style even if the system style did not actually change would be set on
the application. We
Task-number: 250199
Reviewed-by: ogoffart
|
|
|
|
|
|
|
|
|
|
| |
This makes sure that style sheets set both ButtonText and WindowText roles
for all widgets. This fixes among other things the fact that you could not
configure text colors for combo box popups on Mac, Gtk and CleanLooks or
set the background for the whole scrollbar.
Task-number: 160713
Reviewed-by: ogoffart
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently CoreText is too good for us and always gives us fractional
information. Which would be food for design metrics, but not good for
drawing to the screen. The upshot of it is that we do the ceiling of
every value we get. This is as stop gap solution for the moment. Things
in Creator should look better now.
Also added the ability to disable kerning.
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right before Qt 4.5.0 was released, Alexis and I submitted change
7e9b000ee418ef2d9c8fadb2c6b8870e0335bd5e, which accidentally introduced
a rounding error causing items whose bounding rect contains fractional
numbers (e.g., QRectF(-0.5, -0.5, 11, 11)), to always be drawn with a
one-pixel strech even if otherwise untransformed. This caused a
significant slowdown for pixmap items and any shape item that uses
almost any pen width != 0, if they enable ItemCoordinateCache.
The fix is to consistently use the aligned rectangle both when generating
the cache pixmap and when drawing it.
Reviewed-by: Alexis
|
|
|
|
|
| |
Task-number: 240164
Reviewed-by: Jan Erik Hanssen <janerik@trolltech.com>
|
|
|
|
|
|
|
| |
QMessageBox, but provided by the style.
Task-number: 249946
Reviewed-by: TrustMe
|