summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* BT:Stop widgets disappearing in unified when clicking the toolbar buttonNorwegian Rock Cat2009-04-171-1/+12
| | | | | | | | | | | | | | | The comment in the code pretty much says it all, so I'll repeat it: This is a workaround for NSToolbar. When a widget is hidden by clicking the toolbar button, Cocoa reparents the widgets to another window (but Qt doesn't know about it). When we start showing them, it reparents back, but at this point it's window is nil, but the window it's being brought into (the Qt one) is for sure created. This stops the hierarchy moving under our feet. Task-number: 251294 Reviewed-by: Prasanth Ullattil (cherry picked from commit 139265031939d676f049edd2c91918040e0659b4)
* Doc - Some minor cleanups in the documentation of QInputDialog. AlsoKavindra Devi Palaraja2009-04-171-85/+96
| | | | | | | | | | | marked getInt() as since Qt 4.5 and finally modified the StandardDialogs example to reflect the fact that getInteger() is deprecated. Task-number: 251288 Reviewed-by: nrc <qt-info@nokia.com> BT: Yes (cherry picked from commit 08dff2935af2d71f2fe76182079da636c1bb6f5b)
* Fix crash in the SQLQueryModel testsOlivier Goffart2009-04-171-3/+4
| | | | | | | | | | | | | Amend fd5f83e612729cebc5395c992bd98628bb9ea25f calling fetchMore in create_mapping was a bad idea bacause it may lead to infinite recurtion Make a special case for hasChildren instead Task-number: 250023 Reviewed-by: Marius Bugge Monsen BT: yes (cherry picked from commit f8fba0d48a1f30540ddf15f0d36f415b192d1d8b)
* QX11Embed crashes on 64-bit SolarisBradley T. Hughes2009-04-171-4/+3
| | | | | | | | | The data passed to XChangeProperty should be long arrays, as this is what Xlib expects. Task-number: 244062 Reviewed-by: Rhys Weatherley (cherry picked from commit 1ae4c7b989b04f89a5069d5a5db78c0d8914972b)
* Fixes QSortFilterProxyModel not reporting child if the model need to fetchMoreOlivier Goffart2009-04-151-0/+3
| | | | | | | | | QSortFilterProxyModel::hasChildren need to construct the mapping. And when it tries to construct the mapping, it needs to fetch the childs, so there is none. Task-number: 250023 Reviewed-by: Marius Bugge Monsen (cherry picked from commit fd5f83e612729cebc5395c992bd98628bb9ea25f)
* Doc - clarified that on Windows, for 32-bit programs running in WOW64Kavindra Devi Palaraja2009-04-151-0/+4
| | | | | | | | | mode, the settings are stored in HKEY_LOCAL_MACHINE\Software\WOW6432node. Task-number: 232011 Reviewed-by: Martin Petersson <martin.petersson@trolltech.com> (cherry picked from commit bbad83a64373b7e01f6abee98d854380f03aa6b6)
* Prevent crash in qt_scrollRectInImage.Samuel Rødal2009-04-151-2/+5
| | | | | | | | | Clip both against the source and target device rectangles. Task-number: 247937 Reviewed-by: Trond BT: yes (cherry picked from commit 9da65ead69c92df717b1a63fe3c98c0cc73270f9)
* Update the item if the text has changed but the boundingRect is theAlexis Menard2009-04-151-0/+1
| | | | | | | | | | | | | same. updateBoudingRect update the item only if the boundingRect change but if we have 123 as an initial text and then we set 321 as the new text, then nothing happen because the rect is the same. In case the boundingRect change then we call update 2 times but the item is already dirty so the second call will just return. BT:yes Reviewed-by: Andreas (cherry picked from commit 36b16a126e24cb8d8e5c34cfd807bc7c51ea49cf)
* Reparenting QGLWidgets did sometimes caused warnings to be printed onTrond Kjernåsen2009-04-151-1/+1
| | | | | | | | | | | Mac/Cocoa. Check if the view is visible before attaching it to a context. Task-number: related to 250066 Reviewed-by: Norwegian Rock Cat BT: yes (cherry picked from commit b646787cf0d67f4df00212f62a83432c641eae95)
* BT: Namespace compile fixes for Cocoa.Norwegian Rock Cat2009-04-153-6/+15
| | | | | It worked in 4.5.0, so it should work in 4.5.1 too. (cherry picked from commit d7e8586e6ab009a6da1eb63aa6798d7c6a34c30d)
* Don't crash or loop infinitely when we retrieving the accessible accel.Jan-Arve Sæther2009-04-151-3/+10
| | | | | | | | | qt_accHotKey() was pretty buggy; it could both crash or spin forever in some cases. Task-number: 221731 Reviewed-by: alexis (cherry picked from commit b33ebce3de3efd98a45c8ca0a349f78aac09c875)
* BT: OpenGL ES 2.0 now compiles properly for Windows CEThomas Hartmann2009-04-151-4/+6
| | | | | | | glpixmapfilter should not be compiled for OpenGL ES 2.0 on nay platform Reviewed-by: Tom Cooksey (cherry picked from commit 9f6146dd3a7c111923e79c490c9504f39b205f0b)
* BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-155-23/+32
| | | | | | | | | | | | | The NSOpenGLContext seems to be tied to the window. So if the view changes from one window to another, the OpenGL context needs to be cleared. We can do this by hooking into the viewWillChangeWindow and viewDidChangeWindow events and clear and reset the drawable respectively. We also found out that QCocoaOpenGLView was not being used at all, so just remove it to get rid of any confusion. Task-number: 250066 Reviewed-by: Trond (cherry picked from commit b4234ab3f4dbd8c7017d749888b2d8effd3c5983)
* BT: Fix a crash on certain theme changes in GNOMEJens Bache-Wiig2009-04-151-0/+1
| | | | | | | | | | | We did not update initGtkWidgets on theme changes which could lead to crashes as the contents of the widget hash depend on certain properties in the style. A simple way to reproduce this would be to change between the redmond gtk theme and cleanlooks. Task-number: 251115 Reviewed-by: paul (cherry picked from commit a55f477b2a40b89e690fe6b61509cf665e96243b)
* BT: QAbstractSocket: fix check for closing state (typo)Peter Hartmann2009-04-151-1/+1
| | | | | | | | | emit disconnected() if we were in ConnectedState or in ClosingState before Reviewed-by: Thiago Task-number: 250976 (cherry picked from commit 85db19b2eef0f7933fa28e8e5e1d365aab72458a)
* The submenu of a multicolumn menu have an incorrect positionThierry Bastian2009-04-151-2/+2
| | | | | | | | | The submenu would always appear to the side of the menu instead of its right. Task-number: 250673 Reviewed-by: ogoffart (cherry picked from commit 8f223e03effba1aef6be5e50caf7482af1d7dd8a)
* Revert "Fixup update rect regression by adjusting expose rectangles."Jason McDonald2009-04-151-34/+8
| | | | | | This reverts commit 66fe4167b123c644874216af4f1c1a2fb3c478b2. Oops, missed the bit in the comment about not fixing for a 4.5 patch release.
* BT: compilefix for Qt in namespaceThomas Hartmann2009-04-151-3/+3
| | | | | | | RevBy: mauricek Details: using prefix qt_ instead of ::global namespace (cherry picked from commit 9904f77b26d3b75f8ed53e82c14ff8e9baf710dc)
* BT: Fix a regression to 4.4 in Graphics View's handling of child clippersAndreas Aardal Hanssen2009-04-151-14/+16
| | | | | | | | | | | | | | | | | | | | | Regression caused by optimizations in QGraphicsItem and QGraphicsScene. The changes in QGraphicsItem fix bugs in QGraphicsItem::mapToParent functions, which did the translation before applying the transformation, instead of the other way (transform, then translate). This bug caused almost all mapToParent and mapRectToParent functions to behave wrongly. Unfortunately the new helper functions in QGraphicsScene for discovering items made use of these functions, which introduced a regression. Fixing these functions also fixes item discovery. The other part of this change fixes a regression caused by c1909321, which luckily happened after 4.5.0 and never saw the light of day. The fix is to also invalidate the cached clip path even if there is no scene, which is necessary if you build your scene graph outside the scene, and finish off by adding the root item to the scene. Task-number: 250680 Reviewed-by: Alexis (cherry picked from commit 7a0f9ae94ca7a47dc285431d31f6839c07870194)
* QGraphicsView: Rubber Band drag mode not updated correctly when scrolling ↵Alexis Menard2009-04-151-20/+20
| | | | | | | | | | | | [regression] The problem was that we didn't update the new region when we paint the rubber band and we scroll at the same time BT:yes Task-number: 245766 Reviewed-by: bnilsen Reviewed-by: andreas (cherry picked from commit 0f6950e11389a3ddf657116a98ee8f4ec0753eb4)
* Fixup update rect regression by adjusting expose rectangles.Andreas Aardal Hanssen2009-04-151-8/+34
| | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit cc18633fe45d599bfeac2a8b2737d155f1dd5564)
* Fixes: Wrong adjustment of rect added in ↵Bjoern Erik Nilsen2009-04-151-3/+2
| | | | | | | | | | | 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. (cherry picked from commit 416fd77e653d089b7832002a68d5b7725fa492db)
* Fixes: We have to adjust the item's bounding rect.Bjoern Erik Nilsen2009-04-151-2/+16
| | | | | | | | | 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. (cherry picked from commit 3dc62362f3380fa653bc1225ce06e5e4cefa745a)
* Fixes: Optimize the way we adjust rectangles.Bjoern Erik Nilsen2009-04-152-47/+68
| | | | | | RevBy: Olivier AutoTest: Still pass (cherry picked from commit 32767aa5699937a3737b9515f4f82acc04ccdfcd)
* Fixes: Partially revert 9b0af2395c84a6895a5ce6368f151d4ec00c8755Bjoern Erik Nilsen2009-04-151-2/+2
| | | | | | | | | | | 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 (cherry picked from commit 79799ec4788692d44862832d85f80953d386cb27)
* Fixes: Minimize QVariant overhead related to QGraphicsItem::itemChange.Bjoern Erik Nilsen2009-04-152-43/+51
| | | | | | RevBy: Andreas AutoTest: included (cherry picked from commit d516e5fbed3a7eac20229ead34221c732f85cdb6)
* Optimise QPainterPath::contains(QPointF)Lars Knoll2009-04-151-1/+1
| | | | | | | We can shortcut quite some calculations for the common case by first checking whether the point is contained in the control point rect. (cherry picked from commit bc3d96a902d16a9bb358c05de9f6bfede3594731)
* Optimise QGraphicsScene/View::items(const QPointF &pos)Lars Knoll2009-04-153-14/+88
| | | | | | Implement specialized (and more efficient versions) of item_helper() and child_helper() that test for QPointF in the scene. (cherry picked from commit 30d01c387179160c8c418ecedfb4506a55d282e8)
* Fixes: Simplify the cut-offs and be more agressive :-)Bjoern Erik Nilsen2009-04-153-42/+68
| | | | | | AutoTest: Still pass. Details: It's easier to read and understand the code now. (cherry picked from commit 73ce29e6bc09651a4e70b5e61c36d56e568905c7)
* Fixes: Discard update requests if possible.Bjoern Erik Nilsen2009-04-152-10/+35
| | | | | | | | | 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:)) (cherry picked from commit 23c73210fc79055f4bac44de0e43f9917f8d0e7f)
* Fixes: Don't bother updating hidden items.Bjoern Erik Nilsen2009-04-152-1/+4
| | | | | AutoTest: Still pass (cherry picked from commit d85835580463f88df6a71d27d2577739e5366f68)
* Fixes: Do not update children if not required.Bjoern Erik Nilsen2009-04-151-1/+2
| | | | | AutoTest: Still pass (cherry picked from commit 15098c5ec73db5de8ca724f744a1484f888ed271)
* Fixes: Don't check the force boolean.Bjoern Erik Nilsen2009-04-151-1/+1
| | | | | Details: It's clipped away regardless. (cherry picked from commit 5564ef89f46fe96aa0b22b888a9a8ba053eea6c7)
* Fixes: Minimize QVariant constr/destr in setPosHelper.Bjoern Erik Nilsen2009-04-151-2/+3
| | | | | RevBy: TrustMe (cherry picked from commit a914eb155e085ba0efa5b95154bf7345d4be7cd7)
* Fixes: Optimize QGraphicsViewPrivate::itemUpdated.Bjoern Erik Nilsen2009-04-151-21/+19
| | | | | | | | 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. (cherry picked from commit 9ed299a3edba92791e1c5af64b8fd9c9fe74c0ea)
* Fixes: Discard update requests if possible.Bjoern Erik Nilsen2009-04-153-21/+44
| | | | | | | | | 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:)) (cherry picked from commit 0d959a6c402ea3a3a55d7076d453d4bdbf8dce8e)
* Fixes: Don't bother processing items that are clipped away.Bjoern Erik Nilsen2009-04-152-52/+67
| | | | | RevBy: Andreas (cherry picked from commit deccc867b244fbc52ca58e21623febbc27310b05)
* Fixes: Optimization: Clip path is empty if the bounding rect is empty.Bjoern Erik Nilsen2009-04-151-1/+10
| | | | | RevBy: TrustMe (cherry picked from commit 95fa7a93bc840e0f49ee30e76abb2b4f8579c997)
* Fixes: Clever invalidating of the cached clip path.Bjoern Erik Nilsen2009-04-152-13/+129
| | | | | | | | | 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(). (cherry picked from commit c1909321a486621ef196dd4bb3cf354406d86d46)
* Fixes: Compile on funky scratchbox ARM compiler.Bjoern Erik Nilsen2009-04-151-1/+1
| | | | (cherry picked from commit 5910dbe6e7a024301d431102703f9abe323ebd13)
* Fixes: Get rid of lots of calls to qFuzzyCompare.Bjoern Erik Nilsen2009-04-152-3/+9
| | | | | | | | 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. (cherry picked from commit bd4b177e051852f0fb94df9c0ee2e512478e0d38)
* Fixes: Only use the parent's cached clip path if it is clipped.Bjoern Erik Nilsen2009-04-151-2/+3
| | | | | | RevBy: TrustMe Details: ...otherwise it'll be empty and too much will be clipped away. (cherry picked from commit 4d019e66fb62d6f25627144539abd7f59413abee)
* Add a cut-off for simple rectangle lookups.Andreas Aardal Hanssen2009-04-151-0/+5
| | | | | | | | | 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> (cherry picked from commit 4020327503eaefae42da4bd6e71125b6972ac97f)
* Fixes: Cleanup/Optimize QGraphicsView::findItems.Bjoern Erik Nilsen2009-04-153-115/+94
| | | | | | | | | | | | | | | 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). (cherry picked from commit f4547b98b52bfc95fb0c14ec58df204cfcec0db2)
* Fixes: Optimization: Cache QGraphicsItem::clipPath().Bjoern Erik Nilsen2009-04-152-7/+53
| | | | | | | RevBy: Alexis AutoTest: Still pass Details: No-brainer. (cherry picked from commit 4556bcbd40c8feb7185aae7da5f0686f12d87565)
* Fixes: Don't fill the pixmap because we will copy the cache into it.Alexis Menard2009-04-151-3/+1
| | | | | | RevBy: bnilsen AutoTest: All pass + plasma ok (cherry picked from commit 0985805ab3c7de5b15c115a98afb15944b6d93b9)
* Fixes: Be a bit more smarter when calling setGeometry from itemChangeAlexis Menard2009-04-154-29/+39
| | | | | | | | | 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. (cherry picked from commit d74f1a91b05b943c1a8ae7847de6ee50b2093b89)
* Fixes: Small optimization in QGraphicsItem::clipPath().Bjoern Erik Nilsen2009-04-151-7/+6
| | | | | | | RevBy: Andreas Details: Use QPainterPath::addRect() rather than addPolygon() and closeSubPath(). (cherry picked from commit b67dffcccea9166918ac93c281d87fd5eb3baf84)
* Fixes: Optimize: QGraphicsItem::clipPath.Bjoern Erik Nilsen2009-04-151-31/+15
| | | | | | RevBy: Andreas AutoTest: Still pass (cherry picked from commit 7f50f45da0ad4a9eedd3ad7d8a82f719f7f8dd73)
* Fixes: Speed up QGrahicsItemPrivate::effectiveOpacity().Bjoern Erik Nilsen2009-04-152-1/+13
| | | | | | RevBy: Andreas AutoTest: tst_QGraphicsItem::opacity still passes (cherry picked from commit ab130a0019fadeff4622778ca9f8b3e630da14da)