aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fix some broken snippet pathsSze Howe Koh2013-05-0626-194/+194
| | | | | Change-Id: Ib79bfbea402b86e26a503de47383522317ca906b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Make the titles of example pages consistentSze Howe Koh2013-05-065-6/+6
| | | | | | | | | | Most of the example titles have either a "Qt Quick Examples -" prefix or a "Scene Graph -" prefix. Also fixed a typo ("Scenegraph" -> "Scene Graph") Change-Id: Ibeb25d88d1888be3fb004a9ad95dc7ccbfeed7e3 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QmlProfiler: SceneGraph profilingChristiaan Janssen2013-05-0611-120/+418
| | | | | Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Doc: Move full apps from "qtquickexamples" to "qtquickdemos"Sze Howe Koh2013-05-064-10/+8
| | | | | | | | | | | | | "qtquickexamples" is for illustrating code usage; "qtquickdemos" is for showcasing fully-functional apps. Renamed titles and screenshots to match the other demos. Also, attempt to make the descriptions sound more interesting. Change-Id: I2fb43c5d32f24159cd39564576d4ebd76b2cbeaa Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Add new Item.Screen properties to screenInfo exampleShawn Rutledge2013-05-041-34/+35
| | | | | | | | Also removed the rotation animation which doesn't seem useful. (On most platforms the content will auto-rotate anyway.) Change-Id: Ia6ca1046fc2162a13be5c26cbf5d2b698ffa2367 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* mouse synthesis: don't say the left button is pressed during a releaseShawn Rutledge2013-05-041-1/+1
| | | | | | | | | Follows the same reasoning as Iefe63cd753f9f8bb04278fd04a4d728e3deda25e in qtbase: buttons should have only the buttons which are still pressed. Change-Id: I894df43254eb1b1ce173fd7acc7190e9765beb48 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Tests: add qmlCreateWindow in tst_qqmlcomponentLiang Qi2013-05-042-0/+39
| | | | | | Task-number: QTBUG-30919 Change-Id: I474a327e057978356a4ae395d8f59a66afaf2f7f Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Make sure correct files are bundled on AndroidEskil Abrahamsen Blomfeldt2013-05-041-0/+4
| | | | | | | | | | When we're bundling Qt inside the apk, we need to know which extra files to bundle which might be dependencies of the app. In this case, qml/ which contains the imports for Qt Quick 2, and the accessible/ plugins. Change-Id: I0782a6146a4d41d895db20d912eb6877e54ef6c8 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Only use emitCap when we run into infinite particlesAlan Alpert2013-05-041-1/+3
| | | | | | | | | | | | | | | | | | | emitCap is intended to prevent issues with multiple emission of infinite life particles, but it can currently prevent emission of any particles when particleCount() changes after a reset. Tracking particleCount() on changes would be inefficient and be more work to integrate with the correct behavior of infinite particles, so this patch delays the impact of emitCap until an infinite particle is discovered. This will lead to a subtle behavior difference of limiting infinite particle counts based on the count at the first emission, not the first reset, which could be construed as a bug fix in some situations. This seems reasonable as a futher subtle behavior change will be needed in the future to properly support varying counts of infinite particles. Task-number: QTBUG-30915 Change-Id: I4172aee1d03f00cc63ce7c9d12ace052bc41436d Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Avoid rare crashAlan Alpert2013-05-041-10/+12
| | | | | | | | | In the case where a QML type had been registered with the same metaobject, you could dereference the c++ type union data when it hadn't been allocated. Change-Id: I906d68710cf88b379933eb13cf0668738f07d5f4 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Doc: Move example docs related to QtQml under the correct moduleTopi Reinio2013-05-0341-64/+64
| | | | | | | | | | | This change moves 'Extending QML' qdoc file and the tutorials from examples/quick to examples/qml, which is the correct location for them. Change-Id: I24bd9dfa75baaab7bc8efe08489f09a7b65d98a6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Better handle GL errors in EtcTexture::bind().Michael Brasser2013-05-031-0/+6
| | | | | | | | | The scenegraph as a whole does not typically do GL error checking. That means GL errors occurring elsewhere could cause the etcprovider to unload textures that loaded correctly. Change-Id: Ic8e0caa62dab50b391e226cf0a493bc7e357dc46 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix crash in QQmlDelegateModelAlbert Astals Cid2013-05-031-3/+23
| | | | | | | | | | | | | | | | | | | | It can happen that when the QQmlDelegateModel goes away some of the QQmlDelegateModelItem from d->m_cache are still incubating, this means that isReferenced() will return true and we will not delete them. This also means that when these QQDMIncubationTask finish they may end up calling QQDMIncubationTask::statusChanged which will try to access the delegate model that is already gone. This commit makes sure we set vdm to 0 in these orphaned QQDMIncubationTask so in QQDMIncubationTask::statusChanged we know no one cares about us anymore and don't reference the already gone delegate model Task-number: QTBUG-30928 Change-Id: Ief6176cec151d861dad09ca2498ca27e17ee6385 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Made Canvas blur better match the one in HTML 5 Canvas.Samuel Rødal2013-05-032-34/+70
| | | | | | | | | | | | | | | | | | | | | Fixed blur being too faint by fixing the weight to correctly match the amount of pixels being sampled based on the blur radius, and by not multiplying and flooring to int inside the sampling loop which leads to excessive rounding down errors. The "half" value in the previous implementation was also wrong due to using integer division instead of floating point division, which caused the blur being slightly offset down and to the right. By not calling scanLine() and constScanline() repeatedly and by only applying the weight once in the single-weight case we can also gain a slight performance improvement. Also, make sure blur radii below 2 don't get floored to 0. Change-Id: Ibe15d0f51c919594b168923485c051d21f8d7822 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fixed wrong rendering offset / clipping with shadowBlur in Canvas.Samuel Rødal2013-05-031-74/+125
| | | | | | | | | | | | | | | | If the item being rendered didn't have a bounding rect starting in the origin the shadow path would be get an additional offset equal to the distance of the item from the origin. Also, the stroke's shadow did not take the pen width into account, causing clipping artifacts. Combine all the common shadow generating code into a single function, and avoid rendering into an intermediate image that is then blitted into a larger image. Task-number: QTBUG-30914 Change-Id: I16c7c15897ab8e2d46f37da835f75f97fe680863 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Canvas: Do not apply transform to text twiceFrederik Gladhorn2013-05-032-4/+2
| | | | | | | | | | The path already has the transform, no need to apply it a second time manually. Task-number: QTBUG-30501 Change-Id: Iedcb2e2f85a1f9eeac8e6264e00536c43bf16ddb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Enable touch events on Mac for MultiPointTouchAreaMorten Johan Sørvig2013-05-032-0/+30
| | | | | | | | | | | | | | Enabling touch events on a window causes scroll event lag so we want to avoid avoid it as far as possible. Enable/disable on scene changes, similar to what we do for WA_AcceptTouchEvents for widgets. Task-number: QTBUG-28483 Change-Id: I2e5b5e2b093cccfc5253f7228f5ec0c588c60371 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Enable touch events on Mac for PinchAreaShawn Rutledge2013-05-032-0/+30
| | | | | | | | | | | | Enabling touch events on a window causes scroll event lag so we want to avoid avoid it as far as possible. Enable/disable on scene changes, similar to what we do with WA_AcceptTouchEvents for widgets, and in change I2e5b5e2b093cccfc5253f7228f5ec0c588c60371 for MultiPointTouchArea. Change-Id: I8cd8d172ffd93cfc4ec115917cc8662202f3b069 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Remove from hover list on destructionAlan Alpert2013-05-031-2/+1
| | | | | | | | | | | | | | When hoverEnabled is unset the item remains in a hovered state until the mouse leaves. In this circumstance, the item could be destroyed without cleaning up the reference in the hovered items list. To catch this and similar circumstances, the item is removed from the list when destroyed, regardless of hoverEnabled status. Task-number: QTBUG-30962 Change-Id: I982ab8c9e1077fecc885fd166d70bbbbbe8fc179 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
* Document percieved memory leakAlan Alpert2013-05-012-0/+6
| | | | | | | | | | | | QJSEngine doesn't call collectGarbage upon deletion, because this operation can be expensive and in most cases the JS engine is deleted during application shutdown, when the memory can be deallocated cheaper. This can lead to an apparent memory leak if multiple engines are created and destroyed in the same process. Documenting how to avoid this. Change-Id: Ie02cb8bedc8821e0bb04dfa52a5a2d65b4b085a3 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Elaborate on versioning docsAlan Alpert2013-05-011-0/+5
| | | | | | Task-number: QTBUG-30808 Change-Id: I1930bd91a6c2089047ac7e7d74da2c977c522e07 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix VS2010 compile warningAlan Alpert2013-05-011-1/+1
| | | | | | | | | warning C4510: 'QQmlPrivate::RegisterCompositeType' : default constructor could not be generated Task-number: QTBUG-30454 Change-Id: I16ec8995ac1df3c92353006473ca082c4ed4e5b7 Reviewed-by: Josh Faust <jfaust@suitabletech.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Protect against null item at QQuickItemView::destroyingItemAlbert Astals Cid2013-04-303-3/+120
| | | | | Change-Id: I92317d8f5a6d6f60160139f7486ffa8ec5985656 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Added doc and test for active and requestActivate in QQuickWindowLiang Qi2013-04-304-0/+98
| | | | | | | | Autotest is included. Change-Id: I0f8614b502f1e51cab5612fee283c929e078108b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
* Don't eat Back button in TextEditPaul Olav Tvete2013-04-302-0/+20
| | | | | | | | | | | | On Android, Key_Back is used to change to the previous state in-app, as well as to exit the application. QTextControl does not react to the back button, so it should not accept the event. Task-number: QTBUG-30752 Change-Id: I010d36c93f14384b96fb0b2f0015c57a2a3d2497 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix MaskedMouseArea exampleFrederik Gladhorn2013-04-301-2/+2
| | | | | | | Task-number: QTBUG-30916 Change-Id: Icc73118f8d129b6c1ef285fd7a35f7a9a8e04391 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QmlProfiler: Pixmap CacheChristiaan Janssen2013-04-309-5/+213
| | | | | Change-Id: Ibc237bb162c24030438b89d54fa8802ee66b080a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QQuickScreen.name can change at runtimeShawn Rutledge2013-04-302-1/+4
| | | | | | | | | It's generally a constant but the attached property doesn't always have its QScreen at startup, so in practice every property needs a notifier. (Followup to Id777caf6cef1df5bc01757605e3085151170760b ) Change-Id: Ia3a321f98dc49b7e75f6eceb8f16b153c73a3134 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Doc: Changed order of pages in QML reference.Jerome Pasion2013-04-301-9/+10
| | | | | | | | | | | | | New order: QML Syntax Basics QML Object Attributes Property Binding Signal and Handler Event System Integrating QML and JavaScript [etc.] Change-Id: I19e6fc10e36963362dd862feeb697f942902aaac Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
* TextEdit: Better support of QTextTable and inline imagesPierre Rossi2013-04-303-39/+72
| | | | | | | | | | | | | | | | | | | | Fix some issues with incremental updates found while playing with the Quick Controls textedit demo. -Grouping text blocks into a single text node is fine as long as it doesn't cross the boundary of a child frame (e.g. a table), otherwise all that node logic collapses. -Text tables are hard to split in a sensible way, ensure we treat them as one text node for the sake of simplicity. -Inline images can cause several text nodes to have the same apparent start position. Beef up the rewinding logic in markDirtyNodesForRange. Change-Id: Ib4518bcd9303035fa00d9f4b16da7ca6c88e2313 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Don't crash if QQuickPath has less than 4 elementsShawn Rutledge2013-04-301-1/+1
| | | | | | | | | When running the Qt Cinematic demo on Android, the assertion ASSERT: "i >= 0 && i < elementCount()" in painting/qpainterpath.cpp failed because of a zero default size at startup. Change-Id: I2c46c43319cf71030cf03b1f7c6cdaec782ce11a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QQmlVMEGuard is not ok if one of the context engines is goneAlbert Astals Cid2013-04-293-1/+104
| | | | | | | Task-number: QTBUG-30632 Change-Id: Idff323f5b29688477e31030111d4f49f644115cd Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Doc: Moved "QML Application Developer Resources" to qtdoc repository.Jerome Pasion2013-04-2959-5383/+2
| | | | | | | | | | The guide is more relevant to Qt, not just Qt QML and Qt Quick. It would need to include information about the tools and other Qt modules which provide QML types. Change-Id: I0cab0db015022dd27f08811a88ea4a6c3c6e917d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
* Doc: Fix example path for Qt Quick scenegraph examplesTopi Reinio2013-04-292-2/+2
| | | | | | | | Base path (examples/quick) is now defined in qdocconf file, example docs need to adjust their paths for \example command. Change-Id: I18412c4adf73691903ee58c9a056b6a4998d4d6a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Remove "qmldemos" groupSze Howe Koh2013-04-291-1/+1
| | | | | | | | | The group is a remnant of Qt Quick 1, and currently only contains 1 member. Move it to the "qtquickexamples" group. Change-Id: I211b9b769274e139321760f4b52220449e03a6ad Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Add more geometry properties to the Screen attached propertyShawn Rutledge2013-04-292-3/+91
| | | | | | | | | desktopAvailableHeight is useful for positioning windows, and logicalPixelDensity is useful for ensuring that touch controls are a reasonable size even on very high-resolution displays. Change-Id: Id777caf6cef1df5bc01757605e3085151170760b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Be more strict about accessible text selectionFrederik Gladhorn2013-04-291-2/+7
| | | | | Change-Id: I0eda4c29235035824105992f3db2d9a0c06dc6b5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Fix hover after press eventFrederik Gladhorn2013-04-273-1/+59
| | | | | | | | | | | | | | | When a mouse press event was rejected, we would unconditionally cancel the hover and claim that the mouse is not contained any more. Instead check if the mouse left and only then cancel the hover state. Task-number: QTBUG-30783 Change-Id: I5fac6f3a1f2807ef03e07982c603492d40d2a249 Reviewed-by: Florian Boucault <florian@boucault.net> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* No longer apply pending changes when accessing ItemView propertiesAlan Alpert2013-04-2611-46/+198
| | | | | | | | | | | | | Applying changes in the getters can lead to binding loops, and is currently inconsistently applied. Removing the applyPendingChanges calls from remaining getters, and adding a forceLayout() function for cases where the immediate-apply behavior is needed. Task-number: QTBUG-30555 Parts-of-patch-by: Albert Astals Cid Change-Id: I64632601e02f2a53060296ab7739577a749d916f Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au> Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
* Avoid modifying cacheCount while iterating over itAlan Alpert2013-04-261-13/+16
| | | | | | | | | | | | | Because the cache items can be referenced in bindings, the last ref for the item can be cleared at any time due to JS ownership. This could modify the cache count while iterating over it. The removal from the cache list is now postponed until iteration is finished. All iteration cases can already handle an invalid cache item being found in the list. Task-number: QTBUG-30555 Change-Id: I1c0721b4d7e0dd69ce7a73824c1aa7b50d2c32a2 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Implement QQuickWindow::grabWindow() for isVisible=falseGunnar Sletta2013-04-262-3/+52
| | | | | | | Webkit uses this for testing. Change-Id: I4539e169a02592fb6c0062903917d4dd23a4303c Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Optimize particle mask extruderGunnar Sletta2013-04-261-11/+24
| | | | | Change-Id: Ideed246f49301f826935d3fe4a25a3b593ee6b07 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Simplify setting of hoverFrederik Gladhorn2013-04-261-5/+1
| | | | | Change-Id: I620dad5a07749a25c97f5c17e8f7f552593cfd2d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fixed segmentation fault when setting shadowBlur in Canvas element.Samuel Rødal2013-04-261-1/+1
| | | | | | Task-number: QTBUG-30882 Change-Id: I6c941394527bac62c0d2792acf5cf223279babc7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Doc: corrections (Writing Guidelines) and language editsNico Vertriest2013-04-266-139/+144
| | | | | | | | Corrected punctuation issues. Task-number: QTBUG-30774 Change-Id: I144d2487d4f7c248c60bf824b909145416d356fa Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Re-implemented itemChange must always call QQuickItem::itemChangeShawn Rutledge2013-04-265-19/+24
| | | | | | | | | | Documentation for that fact, and the windowChanged signal. Fix existing QQuickItem subclasses which didn't call QQuickItem::itemChange. Examples should rather connect to the windowChanged() signal. Change-Id: Ieddcdbe69f849ddb120b64be9c5e0a21393b0ed9 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix spelling error.Morten Johan Sørvig2013-04-261-1/+1
| | | | | | Change-Id: I8f889d9c60cf4ac53fee75001efefc697c8d2076 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Implement a basic accessible text interfaceFrederik Gladhorn2013-04-264-21/+170
| | | | | Change-Id: Ic8a807f9de66d2d13da1193fe6e2abb7ccccb2a2 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Initialize lastPosAlbert Astals Cid2013-04-261-1/+1
| | | | | | | | | I was valgrinding a scene with a flickable and i come to see that in some ocassions we use lastPos before initializing it in QQuickFlickablePrivate::viewportAxisMoved Change-Id: Ibfeeefc00f62493163d5d44f676bec79a4c004c2 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Mark the canvas texture dirty when we change it.Gunnar Sletta2013-04-261-0/+1
| | | | | | | | | Because the texture is the same instance and the rect is the same, the early-out checks in QSGSimpleTextureNode will abort. Task-number: QTBUG-30666 Change-Id: I0e6a1fd3d4de33436057e8cdf62dc0e7964b5c21 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>