Alan Alpert [Thu, 2 May 2013 00:22:14 +0000 (17:22 -0700)]
Fix Instantiator response to model change
Objects were not being created correctly when the model changed after
componentComplete. After correcting that the model change can lead to
an intermediate count change when the old model is cleared, so a flag
is set to ignore intermediate changes fom the QQmlDelegateModel when
the model changes.
Task-number: QTBUG-30379
Change-Id: I55519c9ee378a1b0569567137ebd378f32a6c85c
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Alan Alpert [Thu, 24 Jan 2013 22:07:29 +0000 (14:07 -0800)]
Add qmlClearRegisteredTypes Function
Registered types are stored in a global static variable, not on an
engine instance. For applications managing multiple engines over their
lifetime, there needs to be a way to clear the existing types so they
can register new ones and avoid memory leaks.
Task-Number: QTBUG-28572
Change-Id: Ic70a4dd1e29d99399b21fb42eaf10d4a52bf2adf
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Alan Alpert [Fri, 1 Mar 2013 01:03:43 +0000 (17:03 -0800)]
Add a URL interceptor to the QML engine
Allows for custom file handling to a greater extent than the
QNetworkAccessManager.
Change-Id: Ifd3946bf33530c40ca2edeeb9f441f712e4941f6
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Sze Howe Koh [Tue, 30 Apr 2013 15:35:41 +0000 (23:35 +0800)]
Doc: Make Qt Quick demos accessible from Qt documentation
Add screenshots and brief descriptions. Integrate source code into
documentation.
Create new group, "qtquickdemos".
Change-Id: I92715b2cdd861b1ff2bdd28a640e63d2a220499e
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Leonard Lee [Thu, 2 May 2013 10:25:25 +0000 (12:25 +0200)]
Fix canvas transformation.
Task-number: QTBUG-28711
Change-Id: Icb44359397dcd5407652ff105154124666d0306d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Gunnar Sletta [Sun, 28 Apr 2013 17:24:59 +0000 (19:24 +0200)]
pixelIndex -> pixel since image is now 32-bit
Change-Id: Iac3c8d60d531a93ce6e862dbdfdf53e49e0d2185
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Sze Howe Koh [Sun, 5 May 2013 00:08:41 +0000 (08:08 +0800)]
Doc: Fix some broken snippet paths
Change-Id: Ib79bfbea402b86e26a503de47383522317ca906b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Sat, 4 May 2013 16:31:03 +0000 (00:31 +0800)]
Doc: Make the titles of example pages consistent
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>
Christiaan Janssen [Wed, 17 Apr 2013 14:46:12 +0000 (16:46 +0200)]
QmlProfiler: SceneGraph profiling
Change-Id: Ide71b330b13fc3816ed191bd9af84e0fce0d9587
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Sze Howe Koh [Tue, 30 Apr 2013 15:38:07 +0000 (23:38 +0800)]
Doc: Move full apps from "qtquickexamples" to "qtquickdemos"
"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>
Shawn Rutledge [Thu, 21 Feb 2013 08:16:56 +0000 (09:16 +0100)]
Add new Item.Screen properties to screenInfo example
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>
Shawn Rutledge [Thu, 2 May 2013 13:57:01 +0000 (15:57 +0200)]
mouse synthesis: don't say the left button is pressed during a release
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>
Liang Qi [Tue, 30 Apr 2013 10:33:16 +0000 (12:33 +0200)]
Tests: add qmlCreateWindow in tst_qqmlcomponent
Task-number: QTBUG-30919
Change-Id: I474a327e057978356a4ae395d8f59a66afaf2f7f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Eskil Abrahamsen Blomfeldt [Thu, 2 May 2013 10:46:51 +0000 (12:46 +0200)]
Make sure correct files are bundled on Android
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>
Alan Alpert [Mon, 29 Apr 2013 20:21:10 +0000 (13:21 -0700)]
Only use emitCap when we run into infinite particles
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>
Alan Alpert [Wed, 27 Mar 2013 21:08:28 +0000 (14:08 -0700)]
Avoid rare crash
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>
Topi Reinio [Mon, 29 Apr 2013 13:01:32 +0000 (15:01 +0200)]
Doc: Move example docs related to QtQml under the correct module
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>
Michael Brasser [Tue, 30 Apr 2013 18:06:44 +0000 (13:06 -0500)]
Better handle GL errors in EtcTexture::bind().
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>
Albert Astals Cid [Tue, 30 Apr 2013 21:03:03 +0000 (14:03 -0700)]
Fix crash in QQmlDelegateModel
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>
Samuel Rødal [Tue, 30 Apr 2013 06:29:59 +0000 (08:29 +0200)]
Made Canvas blur better match the one in HTML 5 Canvas.
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>
Samuel Rødal [Mon, 29 Apr 2013 13:36:09 +0000 (15:36 +0200)]
Fixed wrong rendering offset / clipping with shadowBlur in Canvas.
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>
Frederik Gladhorn [Tue, 30 Apr 2013 13:06:40 +0000 (15:06 +0200)]
Canvas: Do not apply transform to text twice
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>
Morten Johan Sørvig [Fri, 12 Apr 2013 11:44:56 +0000 (13:44 +0200)]
Enable touch events on Mac for MultiPointTouchArea
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>
Shawn Rutledge [Fri, 3 May 2013 11:47:42 +0000 (13:47 +0200)]
Enable touch events on Mac for PinchArea
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>
Alan Alpert [Wed, 1 May 2013 23:36:02 +0000 (16:36 -0700)]
Remove from hover list on destruction
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>
Alan Alpert [Mon, 1 Apr 2013 18:07:18 +0000 (11:07 -0700)]
Document percieved memory leak
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>
Alan Alpert [Mon, 22 Apr 2013 22:35:28 +0000 (15:35 -0700)]
Elaborate on versioning docs
Task-number: QTBUG-30808
Change-Id: I1930bd91a6c2089047ac7e7d74da2c977c522e07
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Alan Alpert [Tue, 30 Apr 2013 22:21:26 +0000 (15:21 -0700)]
Fix VS2010 compile warning
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>
Albert Astals Cid [Tue, 30 Apr 2013 19:22:36 +0000 (12:22 -0700)]
Protect against null item at QQuickItemView::destroyingItem
Change-Id: I92317d8f5a6d6f60160139f7486ffa8ec5985656
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Liang Qi [Thu, 18 Apr 2013 07:36:28 +0000 (09:36 +0200)]
Added doc and test for active and requestActivate in QQuickWindow
Autotest is included.
Change-Id: I0f8614b502f1e51cab5612fee283c929e078108b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Paul Olav Tvete [Fri, 26 Apr 2013 15:25:57 +0000 (17:25 +0200)]
Don't eat Back button in TextEdit
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>
Frederik Gladhorn [Tue, 30 Apr 2013 11:24:38 +0000 (13:24 +0200)]
Fix MaskedMouseArea example
Task-number: QTBUG-30916
Change-Id: Icc73118f8d129b6c1ef285fd7a35f7a9a8e04391
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Christiaan Janssen [Wed, 24 Oct 2012 14:09:29 +0000 (16:09 +0200)]
QmlProfiler: Pixmap Cache
Change-Id: Ibc237bb162c24030438b89d54fa8802ee66b080a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Shawn Rutledge [Mon, 29 Apr 2013 10:39:53 +0000 (12:39 +0200)]
QQuickScreen.name can change at runtime
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>
Jerome Pasion [Wed, 24 Apr 2013 13:28:26 +0000 (15:28 +0200)]
Doc: Changed order of pages in QML reference.
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>
Pierre Rossi [Mon, 25 Mar 2013 18:58:46 +0000 (19:58 +0100)]
TextEdit: Better support of QTextTable and inline images
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>
Shawn Rutledge [Mon, 29 Apr 2013 11:51:15 +0000 (13:51 +0200)]
Don't crash if QQuickPath has less than 4 elements
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>
Albert Astals Cid [Thu, 25 Apr 2013 16:10:01 +0000 (18:10 +0200)]
QQmlVMEGuard is not ok if one of the context engines is gone
Task-number: QTBUG-30632
Change-Id: Idff323f5b29688477e31030111d4f49f644115cd
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Jerome Pasion [Fri, 19 Apr 2013 14:01:37 +0000 (16:01 +0200)]
Doc: Moved "QML Application Developer Resources" to qtdoc repository.
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>
Topi Reinio [Mon, 29 Apr 2013 10:51:14 +0000 (12:51 +0200)]
Doc: Fix example path for Qt Quick scenegraph examples
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>
Sze Howe Koh [Sun, 28 Apr 2013 02:59:06 +0000 (10:59 +0800)]
Doc: Remove "qmldemos" group
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>
Shawn Rutledge [Fri, 26 Apr 2013 12:46:05 +0000 (14:46 +0200)]
Add more geometry properties to the Screen attached property
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>
Frederik Gladhorn [Wed, 3 Apr 2013 20:03:09 +0000 (22:03 +0200)]
Be more strict about accessible text selection
Change-Id: I0eda4c29235035824105992f3db2d9a0c06dc6b5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Frederik Gladhorn [Fri, 26 Apr 2013 14:18:54 +0000 (16:18 +0200)]
Fix hover after press event
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>
Alan Alpert [Thu, 11 Apr 2013 23:57:19 +0000 (16:57 -0700)]
No longer apply pending changes when accessing ItemView properties
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>
Alan Alpert [Fri, 12 Apr 2013 17:30:51 +0000 (10:30 -0700)]
Avoid modifying cacheCount while iterating over it
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>
Gunnar Sletta [Thu, 18 Apr 2013 15:02:24 +0000 (17:02 +0200)]
Implement QQuickWindow::grabWindow() for isVisible=false
Webkit uses this for testing.
Change-Id: I4539e169a02592fb6c0062903917d4dd23a4303c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Gunnar Sletta [Fri, 26 Apr 2013 12:54:04 +0000 (14:54 +0200)]
Optimize particle mask extruder
Change-Id: Ideed246f49301f826935d3fe4a25a3b593ee6b07
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Frederik Gladhorn [Fri, 26 Apr 2013 14:11:56 +0000 (16:11 +0200)]
Simplify setting of hover
Change-Id: I620dad5a07749a25c97f5c17e8f7f552593cfd2d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Samuel Rødal [Fri, 26 Apr 2013 10:40:18 +0000 (12:40 +0200)]
Fixed segmentation fault when setting shadowBlur in Canvas element.
Task-number: QTBUG-30882
Change-Id: I6c941394527bac62c0d2792acf5cf223279babc7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Nico Vertriest [Thu, 25 Apr 2013 11:32:47 +0000 (13:32 +0200)]
Doc: corrections (Writing Guidelines) and language edits
Corrected punctuation issues.
Task-number: QTBUG-30774
Change-Id: I144d2487d4f7c248c60bf824b909145416d356fa
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Shawn Rutledge [Thu, 25 Apr 2013 09:16:40 +0000 (11:16 +0200)]
Re-implemented itemChange must always call QQuickItem::itemChange
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>
Morten Johan Sørvig [Wed, 17 Apr 2013 07:04:12 +0000 (09:04 +0200)]
Fix spelling error.
Change-Id: I8f889d9c60cf4ac53fee75001efefc697c8d2076
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Frederik Gladhorn [Tue, 5 Mar 2013 00:19:42 +0000 (01:19 +0100)]
Implement a basic accessible text interface
Change-Id: Ic8a807f9de66d2d13da1193fe6e2abb7ccccb2a2
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Albert Astals Cid [Thu, 25 Apr 2013 10:41:44 +0000 (12:41 +0200)]
Initialize lastPos
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>
Gunnar Sletta [Thu, 25 Apr 2013 10:34:29 +0000 (12:34 +0200)]
Mark the canvas texture dirty when we change it.
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>
Gunnar Sletta [Thu, 25 Apr 2013 11:26:04 +0000 (13:26 +0200)]
Quote scenegraph example code from the right place.
Change-Id: I0eced5b0062aa36dc67b575615ed4c82d3ea6d3d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Gunnar Sletta [Thu, 25 Apr 2013 13:17:40 +0000 (15:17 +0200)]
Disable native glyph rendering on embedded
Change-Id: I71769affe8f0138dd65f3b94fb27176bd069ab8d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Nico Vertriest [Thu, 18 Apr 2013 10:07:04 +0000 (12:07 +0200)]
Doc: corrected snippet issue by changing extension snippet file.
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>
Sze Howe Koh [Wed, 24 Apr 2013 14:31:41 +0000 (22:31 +0800)]
Doc: Expand example (importing multiple modules into 1 namespace)
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>
Marco Bubke [Wed, 24 Apr 2013 12:01:20 +0000 (14:01 +0200)]
Make pathElements designer ready
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>
Marco Bubke [Wed, 24 Apr 2013 11:52:10 +0000 (13:52 +0200)]
Refactor the pathElements property in QQuickPath
A prequel to make QQuickPath pathElements designer ready.
Change-Id: I1f3e30c699c958c827fdecfb57c35f5c24cd810a
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Marco Bubke [Wed, 24 Apr 2013 11:26:51 +0000 (13:26 +0200)]
Refactor QQuickPath componentComplete
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>
Sze Howe Koh [Wed, 24 Apr 2013 14:20:30 +0000 (22:20 +0800)]
Doc: Replace some references to Nokia
Link to internal QDoc pages, or to qt-project.org
Change-Id: I5d9adae711213873ab57ccfc5bb2d8f74cf5689b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Gunnar Sletta [Tue, 16 Apr 2013 15:25:04 +0000 (17:25 +0200)]
Renderloop for Windows
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>
Janne Anttila [Wed, 24 Apr 2013 09:00:54 +0000 (12:00 +0300)]
Fix tst_qqmldebugjs and tst_qquickfolderlistmodel build for WinCE.
tst_qqmldebugjs:
Some WINCE header files define IN and OUT macros, and those make
the following assignments in tst_qqmldebugjs.cpp to fail later on:
const char *IN = "in"
const char *OUT = "out"
Since platform macros are not needed in the context of this file,
undef them to make build pass for WinCE.
tst_qquickfolderlistmodel:
WinCE does nothave drive letter concept, so lets execute the
changeDrive test only on desktop Windows.
Change-Id: I5c159e3b3ee82e888aeac1da559fd63a875d089e
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Sze Howe Koh [Mon, 22 Apr 2013 11:49:30 +0000 (19:49 +0800)]
Doc: Un-overload the word "module"
"The Qt Quick module contains the QtQuick QML module and the Qt Quick
C++ module" is an odd way to describe things.
The concept of a "QML module" is deeply entrenched so this patch won't
touch it, but at least we can get rid of references to "C++ module"s.
Change-Id: Ib06f8e3152551901dc6016cb37507cb9608d7863
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Fri, 19 Apr 2013 17:14:53 +0000 (01:14 +0800)]
Doc: Create links to Qt Quick 1
Point to the porting guide, so that users who search for the old names
will be directed to an explanation of the name change.
Also made some new links to Qt Quick 2, and changed "favour" -> "favor"
(Sanity Bot complained)
Change-Id: If30c8d619d8fdb9df72b7b5f3efd356f1e07b23a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Pierre Rossi [Mon, 25 Mar 2013 15:52:45 +0000 (16:52 +0100)]
QQuickTextEdit: make the update logic work with multiple text frames
We can't assume that the text nodes are added in order since we're
iterating over all the blocks of a text frame before processing its child
text frames. The only way for all this not to collapse is to sort the text
nodes once we're done each time we're replacing/adding new ones.
Task-number: QTBUG-30349
Change-Id: Ia5d804f7f196b2348fd68fdd62a6585c189baaa4
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Fawzi Mohamed [Wed, 24 Apr 2013 08:46:22 +0000 (10:46 +0200)]
qtdeclarative: update .qmltypes, and use -notrelocatable option
this should fix some bugs in the code support due to incorrec/outdated
meta info
Change-Id: I90925daa5376ebdfb9a6f9d73103893065c15d64
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Fawzi Mohamed [Tue, 23 Apr 2013 17:03:14 +0000 (19:03 +0200)]
qmlplugindump: add an explicit -relocatable switch
this will enable us to switch the default to nonrelocatable
Change-Id: Ic4bff6466ee2fb6d4d1dd89829034ad239422a7e
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Sze Howe Koh [Tue, 23 Apr 2013 14:15:47 +0000 (22:15 +0800)]
Doc: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
Qt3D -> Qt 3D
QtLocation -> Qt Location
QtScript -> Qt Script
Change-Id: Id59cb209e0e0407d564de0bfaab73990e64a02e6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Fri, 19 Apr 2013 16:33:27 +0000 (00:33 +0800)]
Doc: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
QtGui -> Qt GUI
QtMultimedia -> Qt Multimedia
QtScript -> Qt Script
QtSensors -> Qt Sensors
QtSvg -> Qt SVG
QtWebkit -> Qt WebKit
Also fix a broken link to "Qt WebKit QML Types"
Change-Id: Ica6081024d3957a3ca2ef3d870f623506c69d877
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Tue, 23 Apr 2013 14:19:05 +0000 (22:19 +0800)]
Doc: Qt Quick: Fix module name format (Pt 2/2)
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
Attempt to differentiate between the whole module ("Qt Quick") and the
QML import ("QtQuick") by encoding the latter with monospace font. There
are places in the text where both representations are valid.
Change-Id: If398304757e0a5106542c09099e1814084e54c5c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sze Howe Koh [Wed, 17 Apr 2013 15:03:16 +0000 (23:03 +0800)]
Doc: Qt Quick: Fix module name format (Pt 1/2)
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
Attempt to differentiate between the whole module ("Qt Quick") and the
QML import ("QtQuick") by encoding the latter with monospace font. There
are places in the text where both representations are valid.
Change-Id: Id6e157a4191aaa4e23a9cd5c76abfe902fe43d33
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Jerome Pasion [Tue, 23 Apr 2013 13:50:20 +0000 (15:50 +0200)]
Doc: Reinstating \qmlmodule page.
Was removed in an earlier commit.
Change-Id: I1fdaf6c7e1e522f6ba7e36a20040b8222b1714cc
Reviewed-by: Martin Smith <martin.smith@digia.com>
Gunnar Sletta [Thu, 7 Mar 2013 09:20:19 +0000 (10:20 +0100)]
Create BG context and fake surface on GUI thread
This makes the example more messy and also makes it very hard
to avoid the initial black frame, but it is not compliant with
the limitations we experience on Windows.
Task-number: QTBUG-30077
Change-Id: If5a6da16f8fc1269cd20d2aa1190588025203d4f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Kai Koehne [Tue, 23 Apr 2013 09:49:36 +0000 (11:49 +0200)]
Debugger: fix race condition in block mode
Make sure that the GUI thread & debugger thread actually sync on startup. So far
the GUI thread would block forever in waitCondition.wait() if the debugger thread
spawns & receives the HELLO before.
Also remove unused code and rename variables to make their use more obvious.
Change-Id: I8285e8860667496d491807e696535353d9f14dea
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Aurindam Jana [Tue, 23 Apr 2013 11:44:41 +0000 (13:44 +0200)]
V8Debugging: Set Isolate when sending debug messages to v8
Pass the Isolate used for setting the DebugMessageDispatchHandler
to SendDebugMessage. This is to ensure that the proper dispatch
handler is called since the Debugger is per Isolate.
Change-Id: I4497155b90d4b678a5c4116859269892441ce70e
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Gunnar Sletta [Mon, 22 Apr 2013 11:41:53 +0000 (13:41 +0200)]
Clear the pendingUpdate flag every frame.
Change-Id: Icd9bf8ec63e46341f5a43dbb85fe6a3a885f6afb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Jerome Pasion [Wed, 17 Apr 2013 15:19:35 +0000 (17:19 +0200)]
Doc: Refactored and focused the Qt QML documentation.
Before it wasn't clear to what the module provided, especially
with the coupling of Qt QML and Qt Quick.
The doc is centered around these documentation:
-QML refernce: the language syntax and the application constructs
-JavaScript environment: the environment provided by the module
-Integration with C++: more about the engine and the C++ API
-QML Types and Classes reference (created by \qmlmodule and \module)
The distinction are made in the directory and the section titles in
the Qt QML landing page.
Change-Id: I033bfcbf8368b94ffa5ee4b1225bee74347f53eb
Reviewed-by: Martin Smith <martin.smith@digia.com>
Gunnar Sletta [Tue, 23 Apr 2013 10:32:01 +0000 (12:32 +0200)]
Use the actual size of the image for the iteration.
If the rectangle dimension was a floating-point value, we could
sample outside the image, causing tons of warnings.
Change-Id: I10abece9a6b0cf769551f554fb5999d5d90e4c9d
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Mitch Curtis [Wed, 13 Mar 2013 13:34:51 +0000 (14:34 +0100)]
Use the platform theme's password mask character for text input fields.
Task-number: QTBUG-29871
Change-Id: I3b15dfab5ca6455df465c502c93aac7b85a64531
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Thomas Hartmann [Tue, 23 Apr 2013 07:25:29 +0000 (09:25 +0200)]
Adding emitComponentCompleteSignalForAttachedProperty()
Each item that is created by a component gets the
attached property "Component".
This property has the signal onCompleted.
This function allows the designer to manually emit this
signal once the item is setup.
I had to export QQmlComponentAttached for this.
Change-Id: I45b4e72af4f12cdcda29f165cc9bc4d9dee8faf7
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
Liang Qi [Fri, 12 Apr 2013 09:52:48 +0000 (11:52 +0200)]
Expose nextItemInFocusChain in QQuickItem
Convenient for other use cases related with tab focus chain.
Autotest is included.
Change-Id: I1ba6317e20edacc2b672bc5b78e3fcd29ac80bdc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Frederik Gladhorn [Tue, 23 Apr 2013 08:04:28 +0000 (10:04 +0200)]
TextInput: Fix cursor navigation with mask
text().length() was used to check if a cursor movement
to the right was valid. The problem is that with a mask and
not text set yet (inputMask: "#0:00;*") pressing the right
arrow would not move the cursor.
The input and other functions use the actual d->m_text
since that includes the mask length.
Task-number: QTBUG-30740
Change-Id: Ic225778e5a49d80b754b63d0eb4a438eaa9818e2
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Samuel Rødal [Tue, 23 Apr 2013 07:38:19 +0000 (09:38 +0200)]
Fixed crash in QQuickCanvasItem.
The d->contextInitialized variable is useless as it gets out of sync
with d->context when the latter is set to 0. Simply checking that
d->context is non-null fixes some crashes.
Task-number: QTBUG-30810
Change-Id: I474a807a402396b170ba45ae7546781eea92b481
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Friedemann Kleint [Mon, 22 Apr 2013 14:39:34 +0000 (16:39 +0200)]
Fix lupdate-warning "Cannot invoke tr() like this".
Change-Id: I3ded3d9ab9fa202a3133c53fd6e17a8354481d0c
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Mitch Curtis [Thu, 18 Apr 2013 09:20:57 +0000 (11:20 +0200)]
Prevent segfault on trying to access null cacheItem object.
In the situation mentioned in the bug report, a segfault occurs in
QQmlDelegateModelPrivate::incubatorStatusChanged. This
happens because cacheItem's object member is null but is still accessed
several times. This patch adds a check for null before operating on the
pointer.
Task-number: QTBUG-29727
Change-Id: Ia4c0699442c6d0f50e090b401a58ed06c69b351a
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Thomas Hartmann [Thu, 18 Apr 2013 14:09:08 +0000 (16:09 +0200)]
Allow disabling of component complete signal for the designer
We emit the signal later in the designer.
Change-Id: I5da4a2234467444446f168888a3ad3682f4ccc22
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Sze Howe Koh [Wed, 17 Apr 2013 15:03:16 +0000 (23:03 +0800)]
Doc: Qt QML: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
QtQml -> Qt QML
Change-Id: I45ca4496a02214feab48707b026c6bec085df138
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Sergio Ahumada [Fri, 19 Apr 2013 10:19:53 +0000 (12:19 +0200)]
docs: Fix snippets paths for QML Tutorial
This seems to be a leftover from
1a23fbc59a1389677b3f232379f441ed5b4cdf90
Task-number: QTBUG-28898
Change-Id: I7adcb6a3f05a4fed08ff73b522a042b1ad9cee1e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Frederik Gladhorn [Wed, 17 Apr 2013 11:44:40 +0000 (13:44 +0200)]
Fix crash in repeater when model gets deleted
Task-number: QTBUG-200461
Change-Id: Ia8e48668960ac005cf773bf6f53da40f1c753b9b
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Frederik Gladhorn [Wed, 17 Apr 2013 09:14:12 +0000 (11:14 +0200)]
docs: Remove warning that is no longer applicable.
Change-Id: I1d7359b48ab4bb6001171901ab55d4c5030fb1f9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Thomas Hartmann [Thu, 18 Apr 2013 08:16:13 +0000 (10:16 +0200)]
Dumping plugins.qmltypes for Window with -notrelocatable
The code model needs this option.
Change-Id: I5daaa222c467444446f168888a3ad3682f42cc20
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Friedemann Kleint [Wed, 17 Apr 2013 11:54:49 +0000 (13:54 +0200)]
Fix crash on empty child list in QAccessibleQuickWindow::rootItem().
Change-Id: I07f1482216c3147bf851046e61a56ec74f074dea
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Morten Johan Sørvig [Wed, 17 Apr 2013 06:43:17 +0000 (08:43 +0200)]
Restore checkbox toggling on pressAction.
Looks like this was accidentally removed by the
check/uncheck->toggle replacement (
4ac33a52).
Change-Id: I7f8742bd4c53fba52ab3460348221570dc17aeb7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Jerome Pasion [Tue, 9 Apr 2013 10:08:44 +0000 (12:08 +0200)]
Doc: Reassigned types and pages to their correct modules.
1)Moved classes and basic types to \module QtQml 2.
-QQml* classes are in QtQml 2 for 5.1
2)Removed \inqmlmodule commands in overviews and tutorials.
-Only QML API should have \inqmlmodule commands because they are added
to the auto generated list of types.
Change-Id: I9aa3ca8062fa9fed76734885829879122841b119
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Pierre Rossi [Thu, 11 Apr 2013 13:00:48 +0000 (15:00 +0200)]
Silence a warning for unused variable in QQuickTextNode.
While refactoring it seems the position was forgotten.
As it is exposed in addTextLayout, we should try to pass
it along when initializing the selection engine.
Task-number: QTBUG-30338
Change-Id: Id8d9221efe0027315ba1d48c47c9ea2ecd8d7561
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Jerome Pasion [Wed, 17 Apr 2013 12:40:11 +0000 (14:40 +0200)]
Doc: Fixed whitespace in qqmlcomponent.cpp
-Done by the split-ws tool.
Change-Id: I9d1af670fadcbfdaa2f40c33c11e48fee96f0b0a
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>