fix QSqlTableModel:revert() for OnFieldChange

revert() should operate in OnFieldChange edit strategy just as
submit() does. The reason in Qt 4 for excluding OnFieldChange
was that there was no opportunity to revert. The model was
refreshed, causing all changes to be lost. In Qt 5 a failed
edit remains in the cache until user action, which could be
to revert.

Change-Id: Ide021c4f83a53834b7ed81f2abfa3aa49317704d
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
QSqlResult: note in doc about misnamed method

Change-Id: I488a915622445527c529b35db639ec3b6e887d1d
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
QSqlResult: consolidate SQL parsing for binding

Consolidated SQL parsing for binding values, removing repeated code.

Change-Id: I77aadcfd2673b067f7deb52b826d7b5a2ba2ae2a
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Include the CMake Extras file and the Macros file only once.

As the Extras file can do things like append to a property (as in
QtCore for include directories), that is something that should be
done only once when the QtCore target is first defined.

Change-Id: I5163912bccfda1ff43a02eb01f67ac59e6f6b24b
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
QSqlResult::savePrepare() simplify logic

Change-Id: If0b54a4c17f1c71c2bb33ae4d514ad6a9cc17e4c
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Don't duplicate the 'top-level' include dir in all modules.

This is the <prefix>/include directory which is independent of the
module and which only has to be used once. As everything uses QtCore,
it is enough to set it only there.

The CI system is a special case, in that it tests things before
installation. Handle that case too.

Change-Id: Idcdf9617e199b7d490cb3553cce07f1f464b3bec
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>