aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash in listmodel when data is assigned incorrectly.Glenn Watson2012-03-091-7/+11
| | | | | | | | | | If a listmodel with static role types is created, it would crash if a role was assigned a value type such as string, and then subsequently assigned an array (sub list) value from a dynamic meta object (created when using get() from JS). Change-Id: Ibfd0b0b40be13b04103b49462cfae42a5c9f9fb9 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Handle QEvent::TouchCancel in QML_TRANSLATE_TOUCH_TO_MOUSE modeMartin Jones2012-03-091-0/+8
| | | | | | | | Just remove the mouse grab. The elements will react to this and correct their state. Change-Id: I8b91295606eaface54aa95b1500e7b138d9bc82e Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Keep high-level intermediate representation for IR::BINOPs.Roberto Raggi2012-03-092-24/+17
| | | | | | | | | That is, keep binary expressions in HIR, this will make constant folding more effective. Also, the register allocator for expression-trees used in the V4 compiler will do a better job. Change-Id: I2d5eea08ecd9c8d6f3aa21f1fd674a691ef9e1b0 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Remove non explicitly typed IR::CONST() nodes.Roberto Raggi2012-03-093-33/+28
| | | | | | | | | This change ensures that IR::CONST expressions created by BasicBlock::BINOP(op,left,right) have the correct types. Change-Id: Iabac3f4ee1b897cc0d0bdf7e7385d7ae6dc513e4 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* QmlDebugging: Remove QQmlDebugClientAurindam Jana2012-03-095-2025/+0
| | | | | | | | Remove QQmlDebugClient and relevant classes from the library and move to client code. Change-Id: I6f526b3f0c92970dcad5e5abd8585bb9b406349e Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlProfiler: Avoid overhead if profiling is not enabledKai Koehne2012-03-091-1/+2
| | | | | Change-Id: I7ecf32fca53fdb2672760a5b0c5ae88d6bd8fe5a Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Remove unused QTextCursor code from rewriter.Matthew Vogt2012-03-093-32/+7
| | | | | | | | | | The rewriter previously supported rewriting operations on either a QString or a QTextCursor. In order to remove the dependency on QtGui, remove the unused QTextCursor support. Task-number: QTBUG-24559 Change-Id: I7a4acceff8097a8bd8c022db23b6b89d356e305a Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Fix selected text highlight in TextEdit.Andrew den Exter2012-03-081-1/+1
| | | | | | | | | The call to QQuickTextNode::addTextDocument() omitted the anchor color argument meaning every subsquent argument was off by one and the selection end was always the default of -1. Change-Id: Iac3165e7aa95a3db935a19e54144d3967a3e6e38 Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
* Improve accessibility action support for Qt QuickMorten Johan Sorvig2012-03-074-19/+92
| | | | | | | | | | | Add interface_cast for the action interface. Implement actions for the following roles: Button : Press CheckBox, RadioButton : Press, Check, Uncheck Slider, Spinbox, Dial, ScrollBar : Increment, Decrement Change-Id: Ic8e0d17c709ba51655f3f4b699092baf603b6f18 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QML Debugger: Change prefix of warningsKai Koehne2012-03-074-21/+21
| | | | | | | | | Since we've been changing from QtDeclarativeDebugServer to QQmlDebugServer anyway, we might as well change it to the more readable "QML Debugger:" prefix. Change-Id: I852577233d7cdb1f57adc43ec1b85a14d212574d Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QQuickView with the default constructor doesn't show any window decorations.Alexis Menard2012-03-071-2/+2
| | | | | | | | | | | | | The default parameter takes a 0 which is propagated to the window platform which sets it to 0. QWidget have a method called adjustFlags which takes care of adding QWindow when necessary. There is no such check in QWindow or the platform plugin for QPA. The default flag of QWindow is Qt::Window but in that case it is overiden as QQuickView constructor calls setWindowFlags(0). Qt::Window as a default parameter is a solution. Change-Id: Iccbebc5b7e4f094c7fc6dc61b37d9f9622be0237 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Install compat into the correct dirJørgen Lind2012-03-071-1/+1
| | | | | Change-Id: I699a943862d6388add2e4e7c24ed416ec1bd1444 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* QmlDebugging: Remove deprecated classesAurindam Jana2012-03-073-156/+0
| | | | | | | Remove the deprecated QQmlDebugHelper class. Change-Id: I56823774f67ee06ccf7e0a797e250178f4a141f7 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlDebugging: Revert the names of servicesAurindam Jana2012-03-076-13/+13
| | | | | | | | | Revert the names of the services changed in b855240b782395f94315f43ea3e7e182299fac48 to maintain BC. Change-Id: I79826d92fd09c41e0020541b0c7bb77b5b2ecb1f Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Compile after API changes in QCoreApplicationGunnar Sletta2012-03-071-3/+1
| | | | | Change-Id: I6bc6978a5c68503facd8085bd35e66f86af58a90 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use StringRef::load() to initialize DefaultProperty stringKent Hansen2012-03-071-1/+1
| | | | | | | | Micro-cleanup; don't access the string data directly. load() is inline. It additionally asserts that the string length matches. Change-Id: Ie24df83ea68b96179792995d062db7872933b1a8 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Don't needlessly create alias property names in the meta-objectKent Hansen2012-03-072-3/+6
| | | | | | | | | | | | When aliases should not be resolved, there is no need to create the alias name StringRef, since it would occupy space in the meta-data even though the string was never actually initialized. Similarly, when aliases should be resolved, it's enough to create the StringRef once. Change-Id: I44dfe665fe8d7bd5754bc939ff62ad75efe19d5b Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Make sure QML type "real" always maps to C++ type "double"Kent Hansen2012-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The type "real" was documented to be a single-precision float, but that's incorrect. It's always been double. However, signal parameters of type "real" would be mapped to the C++ type "qreal", which can be either float or double depending on the platform. Since JavaScript floating point numbers have double precision, QML should use the same, to avoid potential loss of precision. With this change, "real" behaves the same as the QML "double" type (which already guaranteed double precision). Even though it's redundant, "double" is kept to preserve compatibility. Added tests for the "double" type to the QML meta-object autotest, and a test for the "real" type that ensures there's no loss of precision. Change-Id: I1a77f1fd45082ff670684a935e17d1a46ea75d84 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Correctly place '.' when building name for call expressions.Michael Brasser2012-03-071-1/+1
| | | | | Change-Id: Ic0119a0f4c02387ed19e2905f0b24c4ce86565cb Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Don't link against QtWidgets and QtOpenGLLars Knoll2012-03-071-1/+1
| | | | | Change-Id: I3a949dff488d200762b18a0c0a16103f8908052e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* ListView can freeze if flicked beyond its bounds.Martin Jones2012-03-072-14/+17
| | | | | | | | | | | | | | If the delegate's size changes in componentComplete and all items are flicked out of view, an incorrect jump calculation in addVisibleItems() resulted in a new delegate being created in the wrong position, and retriggering the jump calculation, which resulted in a new delegate being created in the wrong position, and retriggering the jump... Also fixed currentItem visibility. Change-Id: Iad5f211c4fc5eed9c009d51a0ce3b58181a7b36e Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Fix setting of target lists when target Transition is not setBea Lam2012-03-074-106/+94
| | | | | | | | | | | Target items are now set from QQuickViewItem::prepareTransition() instead of QQuickItemView and QQuickPositioner to ensure they are for a displaced transition even if there is no matching target transition. Task-number: QTBUG-24535 Change-Id: I0a6c7e3c6198786527014d421b96fc562c6186dc Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Change the default renderTarget and renderStrategyCharles Yin2012-03-071-4/+4
| | | | | | | | | | As we always use OpenGL and scenegraph render thread now, the best default render target should be FBO and the best render strategy should be cooperative mode (use the render thread). Task-number:QTBUG-23956 Change-Id: I64b070dec566e359d27c84680fef1c691d6ce411 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Repaint the canvas item properly when canvas resizedCharles Yin2012-03-072-13/+13
| | | | | | Task-number:QTBUG-23594 Change-Id: I703a5190b5b306666ffd61001ff94f296399465f Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* prepareTransition() must cancel current transitionBea Lam2012-03-071-7/+6
| | | | | | | | | | | | | | | | If it does not, itemX() or itemY() will still return the current transition's 'to' position instead of the nextTransitionTo pos that was scheduled for the next transition (which the item now has moved to using the direct setPos() method). Also refactor prepareTransition() to always move the item directly to the nextTransitionTo if transition is not going ahead. Also fix some broken test code. Task-number: QTBUG-24523 Change-Id: I2e536fbc0da2acbf96fdf2d177190a8968f7fdb1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix texture leaks in QQuickCanvasItemCharles Yin2012-03-071-2/+9
| | | | | | | | | | In commit be4c74948371ddf6f1ed260783b43b5a3d9e60a7 we removed the QQuickCanvasItemNode, but textures are not automatically deleted with QSGSimpleTextureNode, so add a very thin sub class of QSGSimpleTextureNode to just cleanup canvas texture to avoid texture leaks. Change-Id: I31aac1068e8218a75129b52afbbf30fb66e4bbf7 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Check for parent item before calling functions on it.Frederik Gladhorn2012-03-061-1/+1
| | | | | Change-Id: Ic4066d133ef16ce8cf11fcb9fb5ddcc19599e85d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix missing glyphs when using shared distance-field cacheEskil Abrahamsen Blomfeldt2012-03-063-14/+24
| | | | | | | | | | | | | | | | | | | | | | When using a shared distance field cache, signals such as itemsMissing() and itemsUpdated() can be triggered in the server process by external requests. This, in turn, can lead to unnecessary storeGlyphs() calls (performance hit) and, even worse, calls to setGlyphPositions() for glyphs which have not previously been requested through populate(). The latter could cause missing glyphs when the same characters were requested later, as they would then be stored in the cache with the bounding rect of a default constructed QPainterPath (in setGlyphPositions()). To fix this, we ignore all glyphs which have no been requested in this process, thus filtering out all events for glyphs which have only been used externally so far. I've also added an assert to the setGlyphPositions() to help us catch this case early if it should return. Change-Id: Ief333f612e4affea768d9c60409d43ce29fe3f60 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Cleanup QQuickCanvas and QQuickView docs.Martin Jones2012-03-062-1/+19
| | | | | | | Mark reimplemented protected methods. Change-Id: I544d68e16d82a37f5612fd72cd185a23c70157a7 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Continue refactor of Canvas rendering.Justin McPherson2012-03-066-49/+49
| | | | | | | | - Remove sync() - not necessary - Queue buffer before flush Change-Id: If7dea8e56a612d241c67a82eae265febc45059a8 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Use NPOT support if available.Justin McPherson2012-03-062-52/+43
| | | | | | | In QQuickContext2DTexture. Change-Id: If0311450658a837b7e2665c041ec2846e3c8c2dd Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove QQuickCanvasItemNode.Justin McPherson2012-03-064-206/+4
| | | | | | | A custom SGNode is not necessary. Change-Id: Ibde71dd502bc782503dbd7d98e6ad8b811b7aedb Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Fixed QQuickCanvas header with QT_NO_KEYWORDSRohan McGovern2012-03-061-1/+1
| | | | | | | slots -> Q_SLOTS Change-Id: I971a0077a2606e197e9542ccb864e57d0b0e9f4f Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Handle MouseArea.enabled = false after mouse is pressed.Martin Jones2012-03-051-6/+6
| | | | | | | | | | | | | Currently this leaves the MouseArea in a broken state, i.e. still in pressed state, and the next press after it is re-enabled is ignored. In this case we now allow subsequent mouse move or release events to continue. Following the release, no further press will be accepted. Change-Id: I65a890da90e2166ad568505fffdbd3db6c97165b Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
* Do not store an explicit QImage in the declarative pixmap cache.Gunnar Sletta2012-03-054-73/+65
| | | | | | | | This opens up for the scene graph adaptation only storing textures which effectively halves the memory usage for textures and images. Change-Id: I3452a15844ceeb4fc3a465865f99ee16e3e05607 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Made QQuickWindowManager pluggable via QSGContext.Gunnar Sletta2012-03-056-29/+45
| | | | | | | | | | Also rename paint() to exposureChanged() as that is what the function actually means. The implementation of paint() has been removed in both trivial and threaded version as it is superflous as show() already triggers rendering. Change-Id: I7e53f42786efaf961921f10a39977de511965d71 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fix crash with AnimatedImage caused by race condition.Gunnar Sletta2012-03-051-4/+23
| | | | | | | | | | | | In QDeclarativePixmap::setImage() we deleted a QDeclPixmapData and recreated a new one in a very short timespan and the new texture factory was the same pointer as the deleted one, yet a queued destroyed signal was still emitted. Depending on when the queued connection was handled in the rendering thread, this would cause problems with the value returned from textureForFactory. Change-Id: Ibd785ca12667c99efb88b92689ae7ac4fa87c7ee Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Use premultiplied format because it's fasterAlan Alpert2012-03-051-1/+1
| | | | | Change-Id: I4d78830d2cf03f2deba70c29c2fc221eeec9d63c Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-05214-3274/+5901
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Profiler: Use RAII helper structs for rangesKai Koehne2012-03-027-91/+179
| | | | | | | | | | | | | | Exclusively use RAII helper structs for ranges. Change-Id: Ief9ab25a9e49e1b2c3c091e5d9de6479e36eaa50 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
| * Fix when animating items that are already movingBea Lam2012-03-022-5/+16
| | | | | | | | | | | | | | | | | | | | The view must transition displaced/moved items that are currently transitioning to another position; check against the current transition-to position, not just the current item position. Task-number: QTBUG-24522 Change-Id: Icf1c290f76ceb8c93716f1562ae0bc5a75445b78 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Use velocity from touch events only when they are validLaszlo Agocs2012-03-023-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the capability flags to the extended mouse events. Otherwise it is not possible to tell if the velocity is valid. While the original version is fine if velocity is guaranteed to be available whenever QT_TRANSLATE_TOUCH_TO_MOUSE is set, some platform and driver combinations, e.g. the evdevtouch plugin that comes with Qt, do not provide velocity data in touch events. The touch-only mode of QML may be very useful in these cases too, we just need to fall back to the built-in velocity calculation. Change-Id: Iec5e7632a66380dc04c9435b09f5c173107bbe00 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Treat parentless items as focus scopesAlan Alpert2012-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | The root item of a tree is implicitly a focus scope simply because it is the root of the tree. QQuickRootItem could gain the focus scope flag in order to solve this for most cases, but there would still be a possiblity of a crash for disconnected trees. Change-Id: I6e04f11df4268fb3b96660d50707d70935a5dc5e Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Add QColor support to v4.Michael Brasser2012-03-028-1/+115
| | | | | | | | | | | | | | | | Change-Id: I033e92007f894d45695ea48d7f954d534a2fadee Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
| * Return correct propertyIndex for v4 bindings.Michael Brasser2012-03-022-1/+4
| | | | | | | | | | Change-Id: I4aa37491d36331889f6b30c4d4af8b56cef96225 Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
| * Improved transitions for Row, Column, Grid, FlowBea Lam2012-03-024-181/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | The view transitions functionality for ListView and GridView has been integrated into the positioner elements. Not all of this functionality is available for positioners, though, since they don't have models (and thus cannot identify certain model operations) and they don't manage the lifetime of their children. Task-number: QTBUG-24336 Change-Id: I71588de289555d2ef5a763af11358bc0af7b31a7 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * Fix if transitioner is deleted before transition job finishesBea Lam2012-03-022-62/+111
| | | | | | | | | | | | | | | | | | Don't let TransitionJob call finishedTransition() on a deleted transitioner. Also don't use target transitions that are not enabled. Change-Id: I94d58e8c7b072f7f3d76533956cac2d63ac33ff6 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
| * Correct QDeclarativeInspectorInterface iidMartin Jones2012-03-021-1/+1
| | | | | | | | | | Change-Id: I874c501dc1839712d2da663f13e437e3c7a0e4fe Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
| * V4 handles a maximum of 32 temporary registers.Martin Jones2012-03-022-2/+4
| | | | | | | | | | | | | | Drop back to V8 if there are more than 32 being used. Change-Id: I11f6e84746d897cd9b6789a5e9e4d2848909de00 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
| * More verbose compiler stats.Michael Brasser2012-03-022-3/+26
| | | | | | | | | | | | | | Report shared and unshared v8 bindings separately. Change-Id: Iaa198dcc93035a778b13d7137742a7b308aa782f Reviewed-by: Chris Adams <christopher.adams@nokia.com>