Makes QPlatformTheme::PasswordMaskDelay themable using QStyle

Creates new themable setting SH_LineEdit_PasswordMaskDelay which can be used
to override QPlatformTheme::PasswordMaskDelay. SH_LineEdit_PasswordMaskDelay defines number
in ms which the password character is visible when echoMode is set to Password

[ChangeLog][General][QStyle] Creates a new themable variable SH_LineEdit_PasswordMaskDelay

Change-Id: I26f0ddfda2b49bc293e00e8fcf62260cf4896ab2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Fix the qHash(quint64) overload

The body doesn't make sense as the if condition is always true
(we even have static asserts checking that sizeof(int) == 4).

Removing the if allows us to mark the function as constexpr.

Change-Id: Iddeb042a6164d4afe6c827c10177596424d770eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Make qHash(long) constexpr

By removing the if and switching to a ternary operator.

Change-Id: I754c312ef06cb1e029de8e6cc562de8b12c88fc4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Make qHash(QChar) constexpr

The signature needs a small change -- from qHash(QChar, uint) to
qHash(const QChar, uint). The reason is that we need to select
the const (and constexpr) overload of QChar::unicode in the body.

Apart from this, it shouldn't have any effect on user code.

Change-Id: I38f4f66a715111c7472e3d7def75a6cff7030919
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Add QCommandLineParser::showVersion(), similar to showHelp().

Change-Id: I1782c226ee8c457a68eb9ae9948a2a6a700d7a52
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
QNetworkReplyHttpImpl: optimize QRingBuffer allocation

Use QSharedPointer<T>::create(), which co-locates the refcount with the payload
in a single memory allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.

Change-Id: I280caf861b894f87996a9d3ae783943f55d54ff3
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
QNetworkReplyHttpImpl: optimize QAtomicInt allocation

Use QSharedPointer<T>::create(), which co-locates the refcount with the payload
in a single memory allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.

Change-Id: I3f70d15a6d1bfaaa8b48a36ed3c877e817a5b701
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
tst_QSharedPointer: add more tests for forward-declared payloads

It is not sufficient that QSharedPointer<ForwardDeclared>'s default ctor
and dtor compile. Copy/move assignment/construction and swapping should work, too.

Arguably, there are more functions that should compile with just a forward-declared
payload, but this is a start.

Change-Id: I75470e3d4ba949c3e735c4078cbc123d53ec3007
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Do not assume that a class name is the first string in metaobject.

The patch removes unwritten requirements of having a class name as the
first string in qt_meta_stringdata_XXX::stringdata. It allows us to use
the name for suffix check in moc and potentially reduce the object size.

The patch actually fixes QMetaObject, so it properly interpret
classname field in qt_meta_data_XXX, which was previously ignored.

Change-Id: Id31aaf214b6d48c9dd1063ef9c00ec6b22738cbf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QNX: Make qrawfont auto test pass

FreeType engine on QNX has the same weakness as on Windows, so some
tests are expected to fail.

Change-Id: Icd8fcafae425246ca25ad8e029bf8d6fdc7bd250
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>