Add [ChangeLog] tags to qtdeclarative changelog.

Change-Id: Ia235b6b2397cfaeb20f0c7ea0d6196c603b2aaaa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Always implement text input "canPaste" property

This is needed for TextField control for instance.
If QT_NO_CLIPBOARD is defined, canPaste will always return false.
Fixes dialogs auto test when QT_NO_CLIPBOARD is defined.

[ChangeLog][QtQuick][Platform Specific Changes] Added canPaste
property to TextInput element also on platforms that don't support
a clipboard (QT_NO_CLIPBOARD is defined).

Change-Id: Ia85205672ba59c1fce70852458c514b03d332de6
(cherry picked from commit c2d802049e48d1d6f0bce6eb0972fb26dc4d6ce3)
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
StocQt demo improvement

Along with general demo improvements, this task implements the new layout
to the StocQt demo. Also few bugs on the functionality are corrected, like
drawing the stock graph on right way and initial values reset on stock
model when changing active stock.

Task-number: QTBUG-38254
Change-Id: I9d3387ed0e3f23512b8e60c70246589c10237818
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Android: Fix crash in String.replace() in release builds

When enabling optimizations in the compiler, it produces bogus
code for the regExp->value deref in the line

nMatchOffsets += regExp->value->captureCount() * 2

This is a random refactoring to work around the compiler bug.
The only line that actually needs to be touched is the one mentioned
above, but I replaced all uses of regExp->value so that it
wouldn't look too weird.

Task-number: QTBUG-38692
Change-Id: Ib33a523a86ce51ebc6c7095a803fedaebcaa8e63
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Update qmltypes files

Additionally, fixes some revisioning errors which a manual inspection
of the qmltypes files diffs revealed.

-mipmapChanged signal is new
-windowTitleChanged signal is new
-Matrix4x4 made 5.3, but was revisioned for 5.4

Task-number: QTBUG-29806
Change-Id: I4cb8bca6ac6fe8040871734c88aabcd392c1d696
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Fix crash on host/target word size mismatches

When compiling on a 64-bit host and using the QV4::CompileData on a 32-bit
target, the size of QArrayData is different. Therefore we cannot use it in
the QV4::CompiledData and have to resort to storing only the characters in
there. We can at least still use fromRawData when extracting strings, but the
QStringData will have to be allocated now.

Change-Id: Ia9dab1722ed72186451b65ba74457051c6ce3155
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix QJSEngine::evaluate using the wrong execution context

In contrary to what the documentation says, QJSEngine in Qt 5.x executes
in the context of the global object (QScriptIsolate always called enter
on the QV8Engine's "root" context, thus making it current). The v4
implementation unfortunately did what the documentation said and used
the current context, which is wrong in many ways. For example it completely
breaks the optimization of stack allocated contexts, because when a C++
callback is called from within a JS function with a stack allocated context
and that C++ code calls QJSEngine::evaluate and creates new closures, the
stack context would become an outter context and cause crashes during GC.

This patch restores the behavior of Qt 5.0/5.1 and fixes the documentation.

Task-number: QTBUG-38530
Change-Id: Ie6481f02e676954cc94b188a1c87c88e7c56dafa
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Doc: Describe property bindings in terms of relationships

- This patch aims to help readers think about bindings more
  "declaratively" by introducing a new (albeit very leaky) level of
  abstraction: Treat bindings as finitary relations, rather than mere
  JavaScript expressions.

- In essence, property bindings are for describing relationships between
  properties. The fact that the QML engine reactively updates a
  property's value when its dependencies change, and the fact that
  arbitrarily complex expressions are valid bindings, are simply
  implementation details.

- Discourage the use of side effects in property bindings. They are not
  essential for the main purpose of property bindings, they break the
  finitary relation model, and their use can reduce code
  readability/maintainability/toolability.

- Discourage complex property bindings for similar reasons.

Change-Id: I5a0a03bd02768d4c504797a0f86569f3ac066e96
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Doc: Polish property binding explanations

- Minor rearrangements
- Express things more clearly and/or concisely
- Add links

Change-Id: If1ed639609e39ed1a2c12aed3971da3ee2c8f8a0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Accessibility: add focus action

This at least implements the focus action for items with activeFocusOnTab
which works with most controls. VoiceOver for example uses this action.

Task-number: QTBUG-38870
Change-Id: I3bdaacec6b07e9baf020499e2e4826e42fe316f0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
TextEdit: fix cursor rectangle positioning

QQuickTextControl::cursorRectangleChanged() wasn't emitted as
appropriate when dragging mouse => The cursor delegate was stuck
in wrong position under certain circumstances, especially when
selecting multiple lines.

Task-number: QTBUG-38947
Change-Id: Ib5b0d2f6ea2a1b3712fbaba4a7ad1865d2b0a74e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Fix crash with running animators on re-shown windows.

The non-threaded render loops would clean up the nodes for a window
when it was hidden, but the animators kept running and had a reference
to the deleted nodes. This was not a problem for the threaded render
loop as it would wipe the animator controller as well which would
clean the jobs.

Fix it by triggering a reset of all nodes in the animators when the
window is told to clean up. If an animator is ticked when it doesn't
have a node, it will simply do nothing. When the window is made visible
again, we call initialize on all animators to find the new node.

Task-number: QTBUG-37995
Change-Id: Ie5609d95db29f4b2b30ca5bf641dce901e528389
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Fix tst_qquicktextedit::cursorRectangle_QTBUG_38947()

Fix the uninitialize variable and make sure the test creates
a window that has a sensible (200x200) size.

Change-Id: I02616ab3c832276921e84ae98b7ed926d8fc5f5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
Fix improper antialiasing property behavior

For components antialiased by default the property was returned
as false if default true value was set to true again.

Task-number: QTBUG-39047
Change-Id: I16960a12b6d38a0d9e487fc6612610c39c4949d4
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I939d6b9d10b3f50d9024b80d7a215b8fd04e8d56
Make a pro file based project out of the photoviewer example

Having a .pro file project is necessary to be able to deploy to
Android. Further patches for Android support will be needed, but
this is the base.

Task-number: QTBUG-38122
Change-Id: I878ec1df50d7375ae9153f8a34f763b5678d7774
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Focus event fix for QQuickWidget

Relay focus in/out events to the offscreen QQuickWindow, and also
make the offscreen window believe it has the focus when the
render window has it.

Task-number: QTBUG-39033
Change-Id: Ib50b134e635833ad3813693ca272f04607c525b8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Fix copy and paste error

Fix error 10 identified by static analysis from
http://www.viva64.com/en/b/0251/

Change-Id: I42ba9caa43c2c4925774bdc6aa7942a83cb37ba5
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Fix copy and paste error

Fix error 14 identified by static analysis from
http://www.viva64.com/en/b/0251/

Change-Id: I5f0fa6bd1f14db8e4a86c27610666df6dfd60b1c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Don't crash on Android

If the platform plugin does not support the features needed
for QQuickWidget, then don't try to use it. This is a minimal
change to stop applications from crashing: it does not give
the application a way to find out if QQuickWidget is supported,
since that would mean new API, which we can't do in a patch
release.

Task-number: QTBUG-38268
Change-Id: I975a03b105b1d5c21a1d8ae440a5802ce8c1967b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>