QRegularExpression: add method for extracting the capturing group names

It may be useful to know which named capturing groups are defined
in an regular expression, and for each of them, what's the
corresponding index. This commit adds the needed method
to QRegularExpression.

Note that extracting the information doesn't happen while holding
the mutex in the private -- pcre_fullinfo just reads information
from the compiled pattern, so that's thread-safe.

Task-number: QTBUG-29079
Change-Id: I50c00ee860f06427c2e6ea10417d5c0733cc8303
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Add qDegreesToRadians and qRadiansToDegrees math functions

Change-Id: I6e9fd76f2d2860f46531a72349b46193b8eeaaa7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Manual test for QFontDialog

Change-Id: I2bcdd30990e88af45c8d4b2756fcdd48fc2a47d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Add enablers for Android port in QPlatformMenu

We need a couple of functions here for the Android support.

Change-Id: I50e27277d7e838e277d616dbd3af9be817fb7197
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
qsql ibase: remove duplicate class definition

Follow-up to 1580f558472e2c37936fe817fc546a79a8b0a9a5

Task-number: QTBUG-29455
Change-Id: Id254a166ac901fb0cc0ba81db4bf1051a2acb53f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Add QT_{BEGIN,END}_HEADER definition back

This commit partially reverts 07e3bcdc106ac42703ae0fb88b6cac2d2bfdd072
The empty macro defition was not supposed to be removed yet.

Change-Id: Ie83b2adbe2328b83c70a70274a401e1e6c74498f
Reviewed-by: David Faure (KDE) <faure@kde.org>
Allow overriding subElementRect in QProxyStyle for ItemViewItem

proxy() should be used instead of direct calls to QCommonStyle methods
to allow overriding behavior in QProxyStyle, while keeping fallback
to default behavior.

Change-Id: I338e6b65f4c0ee77c55f03c412f59877fad42b79
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Add note about QT_{BEGIN,END}_HEADER removal for Qt 6

This macro usage has been removed from most of the Qt 5 code, so
adding a note to be completely removed in Qt 6.

Change-Id: I19a90db78745f3cacbcbf206e8642c7d7c36e04a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Increase the size of the QHostInfo cache.

This change increases the size of the DNS cache in QHostInfo from 64
entries to 128. Given the figures in the google chrome performance paper
http://www.igvita.com/posa/high-performance-networking-in-google-chrome/
this should mean we can cache enough entries to handle 4 tabs at once.

Change-Id: I34e32e9e0966473591c59ca5f222623a354650d2
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Add the pristine SHA3 reference sources.

Add the SHA3 reference implementation (public domain) which will be used
in a later commit to add support for SHA3 to QCryptographicHash.

Change-Id: Id0e9d47d628cc94f1d3d2a7696836bc43f6ddf61
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
SSL: Implement session sharing and use it from QNetworkAccessManager

This improves performance since a network round trip can be avoided.

Change-Id: I1aaff7e48ef9638cb137de0f43942c3a4dd2884a
Initial-patch-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Dialog testing tool: add missing enableDeleteModalDialogButton() calls

Change-Id: I012dc8c7c07fced69f8b7eda7a1686af1e11033f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
QColorDialog manual test: add initial color selection

Change-Id: I956404af728ef0d70977f6c69b1059b3656edd91
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Add qunsetenv(), next to qputenv() and friends.

The existing tst_qgetputenv shows that qputenv with an empty value
doesn't lead to the same result on Windows and on Unix, and there was
no way to fully delete an env var on Unix (which is needed for some
env vars where not-set and empty are different, such as TZ,
see `man tzset`).
This is also why qglobal has qEnvironmentVariableIsSet() vs
qEnvironmentVariableIsEmpty(), on the getter side.

Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is
needed within Qt too (although this particular startup notification code
has to be re-imported into Qt5 still).

Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QtNetwork: give started threads more verbose naming

i.e. make it obvious that they come from Qt.
This helps when debugging and trying to differ user created threads
from Qt threads.

Change-Id: Idd6804246d6676b17cf15de6b644a5be629aa023
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use QPaintEngineEx to decide if font is too big for using the glyph cache

Instead of having separate logic in the OpenGL paint engine.

Change-Id: I9854328f784864e52ba1bbaafe5e1c5dda976231
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Fix crash-on-exit with some plugin systems (e.g. sensors)

Don't assume that all entries in the QLibrary global data refer to
libraries have have been loaded. There are three (not two) ways of
getting entries there:

 1) creating a QLibrary
 2) using the static QLibrary::resolve
 3) via plugins

The unload code was meant to handle the first two cases only: libraries
are still loaded at the end of the execution if the static methods were
called or if QLibrary objects were leaked. It didn't handle the case of
plugins being found by the directory scanner in QFactoryLoader but never
loaded.

Note it's possible that this assertion also happened with leaked
QLibrary.

Change-Id: Idcd7a551f96d8fe500cbca682f8014f5122b7584
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qMetaTypeId(): deprecate the dummy parameter.

It was there because of MSVC6 compatibility.

It is not removed, because some code used to do
 qMetaTypeId(&myVariable);

This was not a documented feature anyway, so it should not be user
visible.

Change-Id: I55327d7e73e67a6bb741817741d530d5a650291a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Allow actions in a QMenu to show their tooltips

This introduces a property QMenu::toolTipsVisible with
default value set to 'false'.

Task-number: QTBUG-13663
Task-number: QTBUG-2362
Change-Id: I13079609e2a92adc71b2bbff3dd94494cde1f586
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Added version() and setVersion() convenience API to QSurfaceFormat.

This lets you write code like format.version() >= qMakePair(3, 2), and
format.setVersion(4, 2) instead of format.setMajorVersion(4);
format.setMinorVersion(2);

Change-Id: Ib052091cc12865ea0d5db52e468ed6cd28f14840
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>