aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fix some broken snippet pathsSze Howe Koh2013-05-067-71/+71
| | | | | Change-Id: Ib79bfbea402b86e26a503de47383522317ca906b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QmlProfiler: SceneGraph profilingChristiaan Janssen2013-05-069-120/+321
| | | | | Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587 Reviewed-by: Kai Koehne <kai.koehne@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>
* 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-031-48/+48
| | | | | | | | | | | 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>
* 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-031-1/+0
| | | | | | | | | | 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-301-2/+4
| | | | | Change-Id: I92317d8f5a6d6f60160139f7486ffa8ec5985656 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Added doc and test for active and requestActivate in QQuickWindowLiang Qi2013-04-301-0/+16
| | | | | | | | 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>
* QmlProfiler: Pixmap CacheChristiaan Janssen2013-04-303-5/+118
| | | | | 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-291-1/+1
| | | | | | | 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>
* 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-271-1/+2
| | | | | | | | | | | | | | | 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-265-7/+41
| | | | | | | | | | | | | 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-261-1/+36
| | | | | | | 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-262-5/+15
| | | | | | | | | | 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>
* Disable native glyph rendering on embeddedGunnar Sletta2013-04-254-3/+10
| | | | | Change-Id: I71769affe8f0138dd65f3b94fb27176bd069ab8d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Doc: corrected snippet issue by changing extension snippet file.Nico Vertriest2013-04-253-11/+52
| | | | | | | | | | | | Task-number: QTBUG-30746 Changed in deployment.qdoc Deleted example.qrc Created example.qdoc Added license text to example.qdoc Change-Id: I9699dcdb4977506c0a62d1a9e952c98babfaf03d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Expand example (importing multiple modules into 1 namespace)Sze Howe Koh2013-04-251-2/+9
| | | | | | | | | Snippet is for the Qt QML "Import Statements" page. Show how to use the namespace to reference types from different modules Change-Id: I8c49703194a18657439afdef75e47ff7e97be653 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Make pathElements designer readyMarco Bubke2013-04-241-0/+20
| | | | | | | | The append and clear case was not handled before but the designer is changing the pathElements. Change-Id: I373e26a7c597774c3e985a8c26a564700e9ee9de Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Refactor the pathElements property in QQuickPathMarco Bubke2013-04-242-2/+47
| | | | | | | A prequel to make QQuickPath pathElements designer ready. Change-Id: I1f3e30c699c958c827fdecfb57c35f5c24cd810a Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Refactor QQuickPath componentCompleteMarco Bubke2013-04-243-11/+39
| | | | | | | | | It is a prequel for the refactoring of the pathElements property. Change-Id: I56cc4b9b419fecf96e331a6cab58b33157742e70 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> Reviewed-by: Aurindam Jana <aurindam.jana@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Doc: Replace some references to NokiaSze Howe Koh2013-04-245-8/+8
| | | | | | | Link to internal QDoc pages, or to qt-project.org Change-Id: I5d9adae711213873ab57ccfc5bb2d8f74cf5689b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Renderloop for WindowsGunnar Sletta2013-04-244-24/+593
| | | | | | | | | | | | | | | | | | | | | | | | | | The normal GUI thread render loop has several problems on windows. It does not do vsync animations and on some hardware, where the vsync delta is higher than the time it takes to fire a 16ms timer, the eventloop will always contain at least one event and we never return to processing non-client area events, like resize. Also, threaded OpenGL seems rather unstable, so the threaded renderer is not a stable option. So we introduce a windows based renderloop. It is fully cross platform but written to make the most out of the limitations which exist. The overall goal is: - vsync animations when allowed by the system. We get this by using an animation driver and advancing in sync with rendering - Keep system load low and allow for NC processing. The maybeUpdate function will start a short timer which will let the renderloop idle for few ms, allowing the eventloop to pick up system events. (this is similar to what the threaded renderer also does, btw) Change-Id: Ic192fd0ed7d5ecdaa2c887c08cbeb42c5de6b8a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>