Fix tab icon vertical alignment

Fixes case if custom icon size is given and height is more than width.
Check of minimum valid height was compared wrongly to width and caused invalid
vertical alignment. After fix vertical alignment is correct aligned to vertical
center with the tab text.

Change-Id: I6c4a710b15e91225edeabb629bfea7049ab2f42a
Task-number: QTBUG-42143
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Don't delete QLibrarySettings configuration in ~QCoreApplication

Do not clear the QLibrarySettings configuration information already
in ~QCoreApplication (via qAddPostRoutine). This fixes issues where
multiple QCoreApplication objects are created over time (in plugins).

Task-number: QTBUG-34290
Change-Id: Ib5c58f825619ede484492e057e08d73b2b4c6101
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use __aarch64__ instead of __arm64__ to detect AArch64

The latter name was used by Apple in their internal AArch64 LLVM backend,
but has since been merged into LLVM upstream and renamed to AArch64.

https://github.com/llvm-mirror/llvm/commit/29f94c72014eaa5d0d3b920686e68

Change-Id: I319f42f07c95dfbcd121134fbe6e554e2d36453d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Check the Q_SCRIPTABLE tag of signals and slots as early as possible.

This makes is possible to generate a valid D-Bus XML from a class that has
e.g.  internal slots with pointer parameters by explicitly marking all D-Bus
exports with Q_SCRIPTABLE and running qdbuscpp2xml with the '-a' switch.

Change-Id: Iab32a0a7f46f2516f6385808bbf35b26c7708b1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
qdoc: Delayed the examples manifest file creation

This avoids the creation of demos-manifest.xml if there
are no demos in the repo.

Change-Id: I4d3bbe4540f4b1532c0d51f62b8d1494864a7b1c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
opengl: only define isCoreProfile when not QT_OPENGL_ES_2 is undefined

Otherwise you can get a compilation warning (unused function) on
platforms that has QT_OPENGL_ES_2 set, which is sometimes treated
as an error.

Change-Id: Ibc17be7633caadbf6e9c4d3aef6f604fbc4f3afc
iOS: remove unused function 'fromPortraitToPrimary'

Change-Id: Ic768790a90ef7048bd5e7027e9682988085368fe
Widgets: be more careful when setting focus on touch release

An application might choose to change focus when receiving mouse/touch
press/move events. This is in conflict with Qt assigning focus on touch
release (QPlatformIntegration::SetFocusOnTouchRelease), since Qt
might then reassign focus to something else.

An example of this is seen with the "frozencolumn" example. Here, when
the user double clicks on a cell, the application creates an 'edit'
widget inside the cell that gets focus. But at soon as the last release
is sent, Qt will change focus to the focus proxy of QScrollArea instead.

This patch will introduce an exception to setting focus on release, so that
we only set focus if we detect that focus didn't change (by the app)
while processing press/move events.

Change-Id: I7b398b59e3175265afd2fcd938e11f88155abc89
iOS: let qmake generate default LaunchScreen.xib

iOS8 will check if the app has a LaunchScreen.xib to determine
if it supports iPhone6/6+ (scale factor and resolution). So
we follow the same pattern as we do with the launch image for
iPhone5, and generate a default LaunchScreen.xib.

The xib file in this patch is a copy of a default file
generated by a native Xcode project (with quotes escaped), but
with the text label set to be $$TARGET.

Change-Id: I163ab48b6f4edea4cc1f6840a1f3d8b3cc0326db
iOS: Make hide-keyboard gesture use normal UIGestureRecognizer flow

Allows us to track state through the normal gesture recognizer states
instead of custom variables.

Change-Id: I4fe1b370a581132a9bbb8f51f7bee73381b80341
iOS: Detect when inputMethodAccepted() is out of sync with focus object

The GraphicsView stack still seems to have issues emitting focusObject
change signals when the focus object changes inside the item hierarchy.

To be on the safe side we use our own view of whether or not IM is
enabled, and try to detect and warn if we find a case where the two
are out of sync.

Change-Id: I9fde896ea14ea5b65784723110887e06453edbd4
iOS: emit gestureTriggered from qiosinputcontext

Change-Id: I860edbd555341365ebbc8fd39db69f5e34ea3744
iOS: resign first responder from qiosinputcontext::update()

Reloading input views to hide the keyboard assumes that
the first responder is not a QIOSTextResponder, but
a QUIView. This is not always the case, e.g if someone
calls update after setting IM enabled on current focus
object to false. A better approach is to instead resign
first responder if it is a QIOSTextResponder.

Change-Id: I49032a3d175787540065037c619e3f6c023b09ea
iOS: let focusobject be ImEnabled when a menu is attached

Since the picker menu uses IM to set an alternative
input view, we also need to specify that we IM is enabled.

Change-Id: Ia559fbc0ca7e6a1a4499d5eb179baa2d915ecb17
iOS: close menu when keyboard is hidden

If the active window has no focus object, it will return
itself as focus object. This means that when we close the
keybaord and clear focus object, the focus object will not
change (it will still be the window). And therefore the
menu will not detect this and close.

This patch will in addition listen to keyboard visibility
and close the menu if it hides.

Change-Id: I289cc3fcc6fa74ad940b18ac671483a79ea8f15d
iOS: implement QIOSInputContext::isAnimating()

Change-Id: I13f6c647ec0c820c4f207eee091651c73ce5747c
iOS: change QIOSInputContext::isVisible() to follow documentation

The documentation states that visible should be true from the moment
the keyboard start animating into becoming fully visible.

Change-Id: I393d36330df6c3b9fb703b3e2d9c297a4d59daf9
iOS: always attach picker menu to a cleared focus object

Change-Id: I32ad628e2fcdce43cf85ff9d2128187bca46ee40