summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'qt/master'Jason Barron2009-08-131-1/+1
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/samplebuffers/glwidget.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer.cpp src/gui/gui.pro tests/auto/qhttp/tst_qhttp.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp
| * Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Refactor S60 related changes to QGraphicsItem / QGraphicsView.Andreas Aardal Hanssen2009-08-111-21/+7
| | | | | | | | | | | | The change mostly removes duplication and does minor touchups. Reviewed-by: axis
* | Merge commit 'qt/master-stable'Jason Barron2009-08-101-6/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer_impl.h src/gui/widgets/qdatetimeedit.cpp src/gui/widgets/qlinecontrol.cpp src/gui/widgets/qlineedit.cpp tests/auto/qcssparser/qcssparser.pro tests/auto/qicoimageformat/tst_qicoimageformat.cpp tests/auto/qmultiscreen/qmultiscreen.pro tests/auto/qresourceengine/qresourceengine.pro tests/auto/qresourceengine/tst_qresourceengine.cpp tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp
| * Fix compiler error on GCC 4.2.0 mips/sh3Anders Bakken2009-08-071-6/+3
| | | | | | | | | | | | | | Before this patch gcc would fail with this message: internal compiler error: in add_virtual_operand, at tree-ssa-operands.c:1317 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@nokia.com>
* | Merge commit 'qt/master-stable'Jason Barron2009-07-281-9/+11
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: configure.exe src/corelib/io/io.pri src/corelib/io/qfilesystemwatcher.cpp tests/auto/qfileinfo/tst_qfileinfo.cpp tools/configure/configureapp.cpp
| * Doc: Replace QMatrix with QTransform and respective functions in various places.Volker Hilsheimer2009-07-251-9/+11
| |
* | Merge commit 'qt/master-stable'Jason Barron2009-07-271-169/+93
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe qmake/Makefile.unix qmake/generators/makefile.cpp src/corelib/global/qglobal.h src/corelib/kernel/kernel.pri src/corelib/kernel/qcoreevent.cpp src/corelib/kernel/qsharedmemory_unix.cpp src/gui/graphicsview/qgraphicsscene.cpp src/gui/kernel/qaction.cpp src/gui/kernel/qaction.h src/gui/kernel/qaction_p.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qwidget.cpp src/gui/kernel/qwidget.h src/gui/kernel/qwidget_mac.mm src/gui/painting/qgraphicssystemfactory.cpp src/gui/styles/qwindowsstyle.cpp src/gui/text/qfontengine_qpf.cpp src/gui/widgets/qabstractscrollarea_p.h src/network/access/qnetworkaccessdebugpipebackend.cpp src/network/socket/qlocalsocket_unix.cpp src/network/socket/qnativesocketengine_p.h src/network/socket/qnativesocketengine_unix.cpp src/openvg/qpaintengine_vg.cpp tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp tests/auto/qcssparser/qcssparser.pro tests/auto/qdir/tst_qdir.cpp tests/auto/qfile/tst_qfile.cpp tests/auto/qobject/tst_qobject.cpp tests/auto/qpathclipper/qpathclipper.pro tests/auto/qprocess/tst_qprocess.cpp tests/auto/qsettings/tst_qsettings.cpp tests/auto/qsharedpointer/qsharedpointer.pro tests/auto/qsqlquerymodel/qsqlquerymodel.pro tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro tests/auto/qsqltablemodel/qsqltablemodel.pro tests/auto/qsqlthread/qsqlthread.pro tests/auto/qwidget/tst_qwidget.cpp
| * Merge commit 'origin/4.5'Oswald Buddenhagen2009-07-201-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp src/3rdparty/webkit/WebCore/page/DOMWindow.idl src/corelib/io/qdiriterator.cpp src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h tests/auto/qxmlquery/tst_qxmlquery.cpp tools/linguist/lconvert/main.cpp
| | * Fix the hand scrolling in QGraphicsView that will stop unexpectedly.Alexis Menard2009-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you start a hand scrolling and during moving, you press another button of the mouse than the left one, the scrolling suddently stop working. In mouseReleaseEvent we just stop the hand scrolling if the button is left. Task:258356 Reviewed-by:janarve
| * | Doc: add \since 4.6 for new APIsVolker Hilsheimer2009-07-191-0/+2
| | |
| * | Make sure QGraphicsScene::update() only requires one event-loopBjørn Erik Nilsen2009-07-141-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iteration before the views are updated. A full scene update (scene.update()) already supported it because the scene called update() on the views directly. However, partially scene updates (scene.update(rect)) required two event-loop iterations before the views were updated. Auto-test included.
| * | Cut-off in QGraphicsView not hit if setting a scene rect.Bjørn Erik Nilsen2009-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QGraphicsScene::sceneRect() returns the growingItemsBoundingRect if not a particular scene rect is set; otherwise the sceneRect is returned. This cut-off aims to do less processing when the exposed region covers the entire scene, but it won't get hit in case of a sceneRect because we always check against the growingItemsBoundingRect. Task-number: 257192
| * | Merge commit 'qt/master' into graphicssceneindexBjørn Erik Nilsen2009-07-101-14/+20
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem_p.h tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp tests/auto/qgraphicsview/tst_qgraphicsview.cpp
| | * | Improved the support for input methods in Graphics View.jasplin2009-07-031-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves the graphics view support for input methods in several ways: * A new ItemAcceptsInputMethod flag is introduced to serve the same purpose for graphics items as WA_InputMethodEnabled does for widgets: Input method support can be controlled individually for each item. * The input method sensitivity of a view (i.e. the value of the WA_InputMethodEnabled flag) is updated dynamically whenever the input method support of the current focus item may change. * Input contexts are reset whenever an item that supports input methods loses focus. Reviewed-by: janarve Task-number: 254492
| | * | Refactored gesture apiDenis Dzyubenko2009-07-021-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewritten the api almost from scratch, making it simplier and more flexible at the same time. The current implementation will not have complex gseturemanager class inside Qt, but the QGesture base class, which represents both a gesture recognizer and a gesture itself with a set of properties. A set of common gestures that can use used in third-party applications (and in Qt itself internally) is supposed to be found in qstandardgestures.h, and a base class for user-defined gestures is in qgesture.h Gesture implementation for Pan on Windows7 has also been added as a reference implementation for platform gestures.
| * | | Optimize QGraphicsViewPrivate::updateRect/updateRegion.Bjørn Erik Nilsen2009-07-081-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can do QRect::intersects/contains/operator| faster than QRect because we can assume the rects are normalized. Another important factor is our knowledge about the viewport rect, which is always QRect(0, 0, viewport->width(), viewport->height()). Auto-tests included.
| * | | Reduce QTransform operations in Graphics View.Bjørn Erik Nilsen2009-07-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the item's cached scene transform directly instead of always making a copy of it. Moreover, we don't have to use the transform at all if the scene transform is a "translate only" transform :-). QTransform already use the same cut-offs, but it must update the type() before it can find out. We don't have to check the type() because that is already stored (and we usually don't call type() when we store the value either). All auto-tests pass.
| * | | Merge commit 'qt/master' into graphicssceneindexBjørn Erik Nilsen2009-07-011-7/+112
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsscene.cpp src/gui/graphicsview/qgraphicsscene_p.h src/gui/graphicsview/qgraphicsview.cpp src/gui/graphicsview/qgraphicsview_p.h
| * | | Partially revert be79229eBjørn Erik Nilsen2009-06-251-7/+5
| | | | | | | | | | | | | | | | | | | | The change in processPendingUpdates was completely wrong and broke several auto-tests.
| * | | Merge commit 'qt/master' into graphicssceneindexBjørn Erik Nilsen2009-06-231-2/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsscene.cpp src/gui/graphicsview/qgraphicsscene_p.h
| * | | | More work on getting autotests to pass.Andreas Aardal Hanssen2009-06-231-8/+8
| | | | |
| * | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into ↵Alexis Menard2009-06-181-35/+44
| |\ \ \ \ | | | | | | | | | | | | | | | | | | qt-main/qgraphicssceneindex
| * | | | | Changes after first round of code reviewing.Andreas Aardal Hanssen2009-06-181-122/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes all code that handles ItemIgnoresTransformations from QGraphicsView, and changes the APIs of the scene index intersectors. Reviewed-by: Alexis
| * | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into ↵Alexis Menard2009-06-171-2/+2
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | qt-main/qgraphicssceneindex
| * \ \ \ \ \ Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into ↵Alexis Menard2009-06-161-29/+28
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qt-main/qgraphicssceneindex Conflicts: src/gui/graphicsview/graphicsview.pri src/gui/graphicsview/qgraphicsitem.cpp
| * \ \ \ \ \ \ Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into ↵Alexis Menard2009-06-111-250/+110
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qt-main/qgraphicssceneindex Painfull merge due to recent changes in QGV framework. Conflicts: src/gui/graphicsview/qgraphicsitem.cpp src/gui/graphicsview/qgraphicsscene.cpp src/gui/graphicsview/qgraphicsscene.h src/gui/graphicsview/qgraphicsscene_p.h src/gui/graphicsview/qgraphicsview.cpp
| * | | | | | | | Remove the sorting cache from the QGraphicsScene and move it to the BSP.Alexis Menard2009-06-031-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the QGraphicsScene has no idea how works the index. So we can improve it separatly, add new ones and benchmarks existing ones.
| * | | | | | | | First bunch of changes after an very first API reviewAlexis Menard2009-05-291-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This basically move some logic from the scene to the index base class. Lot of work need to be done in order to benefits from the device transform. The sorting needs to be move in the BSP tree.
* | | | | | | | | Merge commit 'qt/master-stable' into 4.6-mergedJason Barron2009-06-301-46/+161
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore configure.exe src/corelib/concurrent/qtconcurrentthreadengine.h src/corelib/global/qnamespace.h src/gui/graphicsview/qgraphicssceneevent.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qapplication_p.h src/gui/kernel/qapplication_qws.cpp src/gui/kernel/qwidget.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/network/access/qnetworkaccesshttpbackend.cpp tests/auto/network-settings.h tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro tests/auto/qvariant/tst_qvariant.cpp
| * | | | | | | | CompileBradley T. Hughes2009-06-261-10/+10
| | | | | | | | |
| * | | | | | | | Don't always send spontaneous events to QGraphicsSceneBradley T. Hughes2009-06-261-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only do that if the original event delivered to the QGraphicsView was also spontaneous.
| * | | | | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-221-12/+10
| |\ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/qnamespace.qdoc src/corelib/global/qnamespace.h src/gui/graphicsview/qgraphicsscene.cpp
| | * | | | | | | Refactor QGraphicsScene::drawSubtreeRecursive.Bjørn Erik Nilsen2009-06-191-2/+2
| | | |_|_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's easier to read and maintain the code now. This version is also faster than the old one and makes it easier to implement another cut-off I'm working on. All auto-tests still pass. Examples/demos run fine.
| | * | | | | | Use QTransform more efficiently.Bjørn Erik Nilsen2009-06-181-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Samuel
| * | | | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-181-25/+36
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem_p.h
| | * | | | | | Sometimes broken transforms in GV.Bjørn Erik Nilsen2009-06-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broken after: 85f811b849f3b0e0b79e0f1b7bf41512d7f53414 QPainter::worldTransform returns a const reference(!) so we have to make a copy.
| | * | | | | | Reduce QTransform operations in QGraphicsView::paintEvent.Bjørn Erik Nilsen2009-06-171-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The view is usually untransformed, and in that case there's no need to call QGraphicsView::viewportTransform() and QPainter::setWorldTransform(). Reviewed-by: Andreas
| | * | | | | | Remove two work-arounds in QGraphicsView::paintEvent.Bjørn Erik Nilsen2009-06-171-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accelerate scrolling work-around is fixed by: 8ebe882b077fffedc3ff80fb80d2e181d5e56ab8 The other case was trying to avoid doing expensive QRegion calculations when everything must be repainted anyways. However, it was not entirely correct to assume all paintEvents are triggered by GV itself. Anyways, we don't need it anymore :-) Reviewed-by: Andreas
| | * | | | | | Speedup QGraphicsScenePrivate::processDirtyItemsRecursive.Bjørn Erik Nilsen2009-06-171-13/+19
| | | |_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't process invisible items or items with no contents. I've also added cut-offs to QGraphicsViewPrivate::update(Region|Rect) to make sure update areas outside the viewport are discarded immediately. Reviewed-by: lars
| * | | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-171-2/+2
| |\ \ \ \ \ \ | | |/ / / / / | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsscene_p.h
| | * | | | | Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
| | |\ \ \ \ \ | | | |_|_|/ / | | |/| | | / | | | | |_|/ | | | |/| |
| | | * | | Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | | | Merge of masterBradley T. Hughes2009-06-151-0/+2
| | | | | |
| * | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-121-67/+55
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem_p.h
| * | | | | | make sure touch events are enabled on the view's viewport when items are ↵Bradley T. Hughes2009-06-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interested in touch events this is a continuation of 0218d8f8dc569db9a1290f595a814c3690c1b14b
| * | | | | | remove duplicated code and API (merge QTouchEvent and QGraphicsSceneTouchEvent)Bradley T. Hughes2009-06-111-39/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-101-215/+81
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp src/gui/graphicsview/qgraphicsitem_p.h src/gui/graphicsview/qgraphicsscene_p.h
| * | | | | | | Compile on Windows againBradley T. Hughes2009-06-081-1/+3
| | | | | | | |
| * | | | | | | Some API changes after an API review roundBradley T. Hughes2009-06-051-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Don't have QGraphicsSceneTouchEvent::TouchPoint inherit from QTouchEvent::TouchPoint. The only reason to do this is to support an implementation trick, which can be done another way (see below). This means we have to essentially duplicate the API in the GraphicsScene variant. 2. Don't use a list of pointers to touch points in QTouchEvent and QGraphicsSceneTouchEvent. This means we have to make the TouchPoint classes implicitly shared (and the effect of the previous trick of static_casting the widget touch point to a graphics-scene touch point can be emulated by sharing the d-pointers between the classes). 3. QEvent::RawTouch isn't really an event type, it's a backdoor. Remove it and export the bool qt_translateRawTouchEvent(QList<QTouchEvent::TouchPoint>, QWidget *) function instead. 4. Rename QTouchEvent::TouchPoint::area() to size() (which is more clear as to what the function returns). QGraphicsSceneTouchEvent::TouchPoint gains size(), sceneSize(), and screenSize() functions (the actual translation from screen to scene to item still needs to be implemented).