Fix building of the manual tests.

Adapt to API-changes, exclude network/SSL-tests for Windows.

Change-Id: I80d5ef1bd81e149a2f04fa7644376a8a88b1f7b9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Avoid using HB types in QFontEngine API

This affects HB_Font and HB_Face.

As of now, the Hurfbuzz API usage is concentrated in qfontengine(|_ft).cpp
and qtextengine.cpp, thus it is a lot easier to switch to Hurfbuzz-NG.

Change-Id: Ie06959efd5d6080fe44c407d9f5de0a07dd1c210
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Josh Faust <jfaust@suitabletech.com>
Hide Harfbuzz from the outer world

Don't export, don't generate private headers, don't mention HB in API.

Change-Id: I048ebd178bf4afaf9fda710a00933b95274cf910
Reviewed-by: Josh Faust <jfaust@suitabletech.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
QTextEngine::itemize(): Minor optimization

Avoid using script_to_hbscript() in generateScriptItems()'s loop.
This is absolutely unnecessary due to hbscript_to_script(script_to_hbscript(..))
in QTextEngine::itemize().

Change-Id: I44e710d010f8e57043a6c74dd80f3164e95e18e6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Manual file test: Add permission and compile with Qt 4.8.

Change-Id: I604b3107d3e049af5cd14ae5bf5bd6785330eac7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Fixed bug in QTimeLine::setPaused(false)

The problem was that the elapsed timer was not restarted,
causing the currentTime() not being adjusted for the time
it was paused.

Task-number: QTBUG-30108

Change-Id: Ib9b2c5a0dea52762109e0b25f1068dd7c88e15ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Fix build with Windows SDKs pre 7.0.

Check whether the IShellLibrary interface exists.

Task-number: QTBUG-29447

Change-Id: I93fc54a1e6d5c090f7c1768c756571ba57a7b2d2
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Add convenience for section actions in QMenu

Those actions are just separators having also text and potentially icon.
It is very convenient to create titled sections in a menu, or give a
title to a context menu.

Obviously requires support for them on the style side, but modern styles
like fusion or oxygen handle them just fine. For legacy styles it
properly falls back to a regular separator aspect. That's why a specific
style hint is also introduced. It is used by QMenu to know how the
sections will be treated and take care of them correctly when
eliminating duplicated separators or separators at the beginning of the
menu.

Change-Id: Iad00a93422b7983dc90dfc4b4b1c360122e47610
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Draw StatusBar with gradient on mac

We can safely remove code applying to 10.3 on mac.
We also should draw the gradient even on non unified toolbars.

Change-Id: Ia97c3c93daf7a711c3ce4b61b74a5eb1d914519b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Improve the look and feel of Mac extension arrow

This adds an improved extension arrow as well as a graphic
for retina macs.

Change-Id: Ie7395bbd87d6d354437bdbcc0cf258a27c09a360
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Improved appearance of mac toolbar handles

The old ones were too heavy and cluttered to fit on mac.

Change-Id: I5d9f1a8801992026af65af4c6b2aeae3a03a9f5c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Fix openglextensions module depends.

It requires the QtGui module. Just remove the QT line and allow
the default to be used.

Change-Id: Ie6dffaa0621c7ececd31ff0b696814bc82a2a764
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Generate a Qt5ConfigVersion.cmake file.

This allows finding a minimum particular version of Qt 5.

Change-Id: I96112f1be90f397ec60a2b233989ac0e0380bef9
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Add qpainfo manual test.

Print out available information from QLibraryInfo, QStandardPaths,
QSysInfo, QPlatformIntegration, QStyleHints, QPlatformTheme
and QScreen.

Change-Id: Ia0bdc6174a1748c539acee18ba16a27a48d58ee5
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Don't include custom qopengles2ext.h on iOS

This fixes the build after ec9c0faefd (Update gl2ext.h with the
latest version from Khronos).

Just like Mac OS X, iOS is a controlled platform, and we should include
the system headers instead. The OES_EGL_image_external extension is
not yet in the system headers though, so we provide our own typedef
to make the qopenglextensions.cpp code build, and the extension will
work out of the box once Apple includes driver support for it.

Change-Id: Ib6ba09d400ba38f05d91c90d4c9e54a8626889e1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Simplify how we resolve the SDK root on Mac OS

We now take advantage of the fact that xcodebuild -version allows you to
pass the key that you're interested in, to only print that single value.
This technique is used by Apple's own build scripts as well.

Change-Id: I57b8424590d4137a0e7f263a318e17ee2e0dfad4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Teach configure's pro-file parser to understand host_build scopes

Is needed now that we write QMAKE_MAC_SDK with a !host_build scope
in qdevice.pri.

Change-Id: I298cc660b496460190337c175aef684a5522d5cb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Use tools from the SDK's toolchain instead of the ones in /usr/bin

For Mac OS X we currently specify build tools without an absolute path,
which means we end up using the ones in /usr/bin. This is wrong, we
should be using the tools from the toolchain of the chosen SDK.

For iOS we do specify an absolute path, by resolving the toolchain
path in the iOS makespecs.

To solve the situation on Mac OS X, we move the logic of resolving the
toolchain path to sdk.prf, and share it between OSX and iOS.

For configure we need to duplicate some of the logic from sdk.prf, as
configure pulls out QMAKE_CC and QMAKE_CXX for running some initial
tests and building qmake. The new macSDKify function also solves
the issue of missing sysroot and deployment version in the flags.

Change-Id: Ib1d239c9904cf3ccee5214b313cf6205869a1462
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
remove pointless DBUS_PATH includes

nothing sets this variable. QT_CFLAGS_DBUS contains the relevant -I
flags.

Change-Id: I888b81f2110c5966550efd4313e74fe6f76ab06b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Improve warning messages (and readability) of connectSlotsByName()

While adding a test case for the new behavior, two issues
with the connectSlotsByName implementation came up:

  1. for auto-connected slots that don't exactly match a signal,
     a 'compatible' one is searched. There might be more than
     one of those. The implementation randomly picks any.
  2. The "No matching signal for %s" warning gets printed even for
     slots that can never be connected via connectSlotsMyName
     anyway (e.g. "on_something"). This is inconsistent.

This fixed both: an explicit warning is printed if more than one
'compatible' signal is found and the "No matching signal for %s"
warning is only printed if the slot adheres to the full
"on_child_signal()" naming convention.

In the process I added comments and changed the code slightly to
make it more readable and explicitly hint at non-obvious behavior.

Change-Id: Icc8e3b9936188d2da8dfff9f0373c8e5c776eb14
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>