Implement QMainWindow::takeCentralWidget()

This allows the application developer to restructure the application,
including moving the central widget some place else.

Change-Id: Idca2f74c190500db24404e020b0eb400e41aad10
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Add support for baseline alignment

This is a prerequisite for baseline support in Qt Quick Layouts

Change-Id: I1f032106cd1e7248a7688b6b9ca59f062a596d49
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
MetaType: de-inline the container iterables.

This means the *Iterables and corresponding const_iterators need
to be exported.

Change-Id: Ic93283616bda96e0d7752b0e881bf0230a5c2146
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Android: handle inverted orientations

Add logic to detect InvertedPortrait and InvertedLandscape orientations
and implement QPlatformScreen::nativeOrientation() for Android.

Task-number: QTBUG-32144

Change-Id: I294506714ea0faa9eacd7a15e1cfc45342659964
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Disable tst_QFileSystemWatcher

Task-number: QTBUG-33574

Change-Id: Ieed6b87f34964a902f339215d74c0184a27eb2a2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix android after Eglfs binary compatibility break

Change-Id: I95d98b475188b43f1e0946c7ad6fd2388839d619
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
evdevtouch: Handle single-touch devices

Such touchscreens emit no MT events, only ABS_X and ABS_Y.

Change-Id: I7db3d2fbb948eadb23c659e45bbbc5017f1a4f9d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Set tst_qfilesystemmodel as insiginificant

The test has been failing on all platforms. Usually it just times out,
but it also have behavied flaky, failing with different error codes
when executed twice in a row.

Task-number: QTBUG-29403
Change-Id: Ic06638f0ffd23131b4c1aa4136f715195727e959
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Revert "Fix Invalid Drawable error when using createWindowContainer on Mac."

This reverts commit 04325bdd26810cd9067ad4b0b9e458b06ce2a3db.

This change breaks qtdeclarative on Mac.

Change-Id: I77b121cc6b283cf7498e93e4b914d2fb68808ab6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix QGLWidget segfault on Android

...and other platforms that do not support WA_NativeWindow.

Task-number: QTBUG-33523
Change-Id: I4ab043e8b3c3369aec41b44275fb3099d90e55b4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
evdevtouch: Make TouchPointReleased working with certain drivers

The plugin failed to handle releases with protocol type A with some
drivers. There is no requirement to emit ABS_MT_TOUCH_MAJOR or
BTN_TOUCH to indicate a release. If the point is gone from the report,
it is a release as well.

Change-Id: I9527fbfb200fde3b160148e076357a29bf610427
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
eglfs: Support multiple raster windows

Allow widget apps with popups and multiple top-level widgets to
function on the eglfs platform. GL and Quick2 apps are not affected.

Instead of trying to create a native window and EGL surface for each
window, do it only for the window that is created first. This first
window is forced to fullscreen as usual. Later windows however are
treated differently: These will not have a native window, surface or
context, and keep their normal size. All the textures belonging to the
raster windows are then rendered in one step, using a stacking order
maintained based on visibility changes and window activation.

Note that this will only help apps that create a main window first and
have everything else inside that window or on top of it as menus,
dialogs, popups, etc.

Change-Id: Ia435458ba81bf3c35cc8f61bcb2d2a50cf17f0e3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Fix a memory leak in QGLWidget::renderText

Task-number: QTBUG-32792
Change-Id: Ie9293a1919c1bdf13a5c357a8d2eac303a83d4d4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Fix memory leaks in the FT font engine

The glyph returned by loadGlpyh() must be freed manually when caching
is not enabled (that is, QT_USE_FT_CACHE is not set).

This change and https://codereview.qt-project.org/#change,65672
together should stop QGLWidget::renderText() from leaking memory
extensively.

Task-number: QTBUG-32792
Change-Id: Iff7e1591a1ea994a97b6a56bc16c64bf544e6713
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Add a WindowManagement capability to QPlatformIntegration

To be set to false by eglfs and similar platforms where no real window
management is provided.

When this capability is not set, some of the changes done for
QTBUG-26903 will be disabled, allowing dialogs to show up at their
QDialog-chosen place on platforms where no WM is present and so
windows are never repositioned by the system.

Change-Id: If1dac3cd11f2a856913a51277431fe3ec644b719
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>