Don't use GL_REPEAT for image-brush drawing on OpenGL ES2

Backport of commit 8dfeb1c374972f06759a92b4edc5d6a18b96ccec in QtGui
to the same class in the QtOpenGL module.

OpenGL ES2 doesn't support NPOT textures in combination with GL_REPEAT,
so for OpenGL ES2 we use a custom program that emulates repeat by taking
the fractional part of the texture coordinates.

This is not enough though, as merely setting GL_TEXTURE_WRAP_x to GL_REPEAT
with a NPOT texture is an error in some implementations, so we have to
guard the call to updateTextureFilter() in updateBrushTexture() with
a check for OpenGL ES2 and use GL_CLAMP_TO_EDGE instead.

Change-Id: Icbdd784c2c6d562849679f87da18b20d5441f389
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Avoid a double memory copy during bindTexture

If a painter is active on a QPixmap being uploaded, it will be copied
twice, first to create a QImage and then from QImage into a texture.

The first copy is unnecessary since the QImage is only temporary, so
we can force it to be created as a reference instead of a copy.

Change-Id: Iabcfb514a634446a01f1c4031349c185ec09290b
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Accessibility Mac: Fix reading of empty lines in text edit

startOffset is already one char past the newline.
By adding +1 we would skip one newline if the text was \n\n.

Task-number: QTBUG-38257
Change-Id: Ida49a4b690bfa71f134e9be46126f418783a3c97
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Accessibility Windows: Improve Menus

This would especially trigger when moving the focus between menus - after
the right menu got the focus we would send another event for the QMenuBar,
preventing the screen reader from reading the actually selected menu,
announcing the menu bar instead.

[ChangeLog][QtWidgets][QMenu] Accessibility: Menus are read by screen
readers with more reliability.

Task-number: QTBUG-38498
Change-Id: Ie4028120b234949380315296bf07ca53863d0ad8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Accessibility Mac: Make value interface settable

This will let VoiceOver announce QLineEdit as editable text.
It also implements setting of values for value interfaces (eg sliders).

Task-number: QTBUG-38258

Change-Id: Ic30c10abc4dc0c4f3c5fe922ac5b0a4bbf4b1e5f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Accessibility Mac: implement min/max value

This commit fixes QProgressBar reading by VoiceOver.

Task-number: QTBUG-38272

Change-Id: I549fbebe1aff599e53b14685c1bde6c9fb98aa21
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Use showNormal() instead of show() in QToolTip.

Even on platforms that use the QPlatformIntegration::StyleHint
ShowIsFullScreen we do not want to show tool tips fullscreen which
would happen if we just call show().

This is also required to fix somewhat random crashes on QNX when
browsing a website and hovering links that would trigger a tooltip to
be shown. There, we could end up with nested calls to
QToolTip::showText when the tooltip was shown full-screen. Since
QToolTip is not reentrant that can lead to crashes since
QTipLabel::instance could be deleted/invalidated inbetween.

Change-Id: I335fcd10cb6d4cffeb622ed8e0caf17f6413d62d
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fixed target path condition for font deployment

Change-Id: I49568f5780af30753e68a6487afdc6c8f3b67214
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
winphone: Fixed font deployment for Visual Studio projects

Instead of collecting all files from the "fonts" directory to deploy
them to the phone, we only collect files which are mentioned in the
FONTS variable. Otherwise fonts that were copied to the fonts directory
earlier (due to FONTS being unset (default fonts) or set to another set
of fonts) will also be deployed as part of the project.

Change-Id: I24c77e154a9f2ec75e88d487c056b0be46e17e87
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
QMenu: Add support for QWidgetAction on Mac

The implementation follows a similar logic as in Qt 4
making sure we properly interface with the QPA backend.

We also make sure to delay moving the action widget to
the QPA menu until it's about to show. We still don't
support moving the action widget back from QPA world
into Qt, as explained in the QWidgetAction documentation.

Task-number: QTBUG-19840
Change-Id: I47f6359b0806f967d80c67fbb1f36c3d5ec8603e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QNX: Don't create a platform window for a desktop widget

As I understand it the QDesktopWidget does only serve the purpose of
returning the screen size and number. It does not need a real platform
window.
This removes some overhead, because a desktop widget is always created.

Change-Id: I8c0d86bbb46b1f32094fda1592df795af6bb423f
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Windows: Reject focus-in caused by reparenting Windows.

Calling WinAPI SetParent() causes the window to be activated, which
is not desired for native child widgets.

Task-number: QTBUG-32867
Change-Id: Idf61931bc425a043a4b7a98eec9ae122e234dc37
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Document setUniformValue limitations wrt non square matrices

Task-number: QTBUG-37012
Change-Id: Ife4f16eef22090ae4f6fdc24b69a45142a10d9c9
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
remove superfluous include

Change-Id: Ie6f52595b84d1383dc64b016dbff9eebe6a5539e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
QNX: Do not crash if physical screen size is not set

If the QQNX_PHYSICAL_SCREEN_SIZE is not set or set incorrectly the application
exits with a qFatal. This patch replaces the qFatal with a qWarning
and sets the physical screen size to 15cm x 9cm.

Change-Id: I9e1a36414289c9e9676ef550eac5c1d7be974553
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Fix build error when targeting Blackberry Playbook

The emitSignals() slot is only implemented/used in the file
qqnxfiledialoghelper_bb10.cpp, not in <...>_playbook.cpp.

Change-Id: I068e843be74ec9639d889b87caa016c8506ec905
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>