qmake vcxproj generator: write PrimaryOutputExtension value

Second attempt. MSVCPROJ_TARGET contains the resolved target name,
including version number and target extension.
We're splitting this value into PrimaryOutput and
PrimaryOutputExtension.
PrimaryOutputExtension is only written if it contains a non-default
value.

Task-number: QTBUG-26782
Change-Id: I4b828dc5dd47322f653585aee1a5767f0cf8bd48
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Revert "Cocoa: Send obscure events on OcclusionStateHidden"

This caused instability in the CI and testing system:
Tests that expected expose and paint events no longer
got them due to window placement/visibility, including:
	tst_QGraphicsProxyWidget::paintEvent
	tst_QMdiArea::tileSubWindows
	tst_QSizeGrip::hideAndShowOnWindowStateChange

This reverts commit f5cf06f4afc48198780e3c3d0d1a52afce425507.

Change-Id: I017fbf24f3ad99cce6602eddafc3a67f8edc494d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Further limit the sparse file testing on OS X

At 4GiB the CI test system still spends a considerable
amount of time testing this. Tune the size down to
16 MiB.

Change-Id: I417aa6829fcc734e5de4d7d34e503190f6b291e5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
XCB: Don't trigger less specific shortcuts

Without this patch some keycodes like Ctrl+Shift+= may generate several
similar key sequences like Ctrl++ and + but only more specific keys
should be returned by QXcbKeyboard::possibleKeys.

Task-number: QTBUG-38137
Change-Id: I23f6522eefaa3b83cfa639f76bdc6a19b450c6f9
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Cocoa: Delay QMimeData requests for DnD events.

We were delaying the conversion from Qt to OS X types,
but not the data request to the application.

Introduce "Eager" and "Lazy" pasteboard promises:

Eager promises request the application data immediately
and can continue to use the existing commit-promises-
on-app-exit logic. Eager promises are the default
type and will be used for copy/paste.

Lazy promises delay requesting the data from the application
for as long as possible, specifically until when 
promiseKeeper() is called. Lazy promises are used for
drag-and-drop and are not committed on application
exit.

This brings OS X DnD behavior in line with the 
Windows behavior.

[ChangeLog][OS X] Drag-and-drop QMimeData requests are
now delayed until drop time.

Task-number: QTBUG-31301
Change-Id: I8ddbba41593251f4c0c49c29492dce990066e20d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Cocoa: Fix icon size calculation for system tray.

The Overall goal is to make it possible to use correctly-
sized pixmaps in a predictable way, while still doing
something reasonable with small and large pixmaps.
(The recommended pixmap height is up to 18 points.)

Enable use of rectangular icons by selecting pixmaps
based on pixmap height.

Draw a low-resolution pixmap on retina displays if
there is no high-resolution pixmap available. Scale
large pixmaps to fit the available menu bar area.

Add a manual-test with various pixmap sizes

Task-number: QTBUG-33441
Change-Id: I1926181fe27cae526bae58022df3240bae9f8ac8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Fix QWidget::mapTo/FromGlobal() when embedded in QGraphicsView.

Map the positions via QGraphicsScene and the first QGraphicsView
(as is done in existing code). Fall back to the previous code
path when no QGraphicsView exists, which is hit in the tests.

Change-Id: I0754765d05cded6bc1b64045f2513fef8afde337
Task-number: QTBUG-41135
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Fix title font of Vista-style wizards.

Reverse invalid check.

Task-number: QTBUG-41878
Change-Id: I05015407e5cfad94aca65594962b897a1d0a0cbd
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
Fix uninitialized value warning in QFontEngineFT.

When running an application which called e.g. QPainter::drawText under
Valgrind, it would produce "Conditional jump or move depends on
uninitialized value(s)" warnings, since we were allocating a buffer for
a FreeType bitmap without initializing its contents. FreeType,
apparently, does not set the value of all bytes in a bitmap buffer when
it is used as a FT_Bitmap, so we were left with some uninitialized
memory which was still being used.

This commit fixes these warnings, and prevents any potential undefined
behavior.

[ChangeLog][QtGui][General] fixed use of uninitialized memory in the
FreeType font engine

Change-Id: Ia7b3595c78310ce41f76cb4546fc36016c0000a8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Adjust the layout if a QGraphicsWidget is explicitly hidden

Since layout items can now be hidden, this also makes sure we respect
the QSizePolicy::retainSizeWhenHidden

Task-number: QTBUG-20132
Change-Id: Iab59fc9b61d4ca1bb2208c479a027da6eb0283a9
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Run VS custom build step in new environment variable scope.

Task-number: QTBUG-32366
Change-Id: I99161b23e3d323fd88766ebe83c8bbfc1d50944e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Q{Sequential,Associative}Iterable: fix const_iterator assignment

The code didn't properly clean up the current state before
assigning the new state.

Change-Id: If56cf43bace976203ff186759b2a81705b2b22d2
Reviewed-by: Stephen Kelly <steveire@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Fix styled vertical dockwidget title cut off bug and elide text if long

Change common stylesheet to elide text correctly for both direction.

Change-Id: I045f6f74733ca8fa67b3e4fbb9d3845a1bea777d
Task-number: QTBUG-41466
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Allow QtCreator to pass additional args and env vars to the application.

We need them to allow developers to easily pass args and env. vars like
QSG_RENDER_TIMINGS, QSG_VISUALIZE to theirs apps.
The env vars and params must be base64 encoded!

Change-Id: I1d781873ffdc6efd40b30543a9fd2514bbdede43
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Check '-I' directories for auto-detection of features

This allows e.g. openssl/openssl.h to be auto-detected if the include
directory is passed via -I.

Change-Id: Ib1d08ab2b7f98b4c08b7d6b66d55a55796f6802d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
SecureSocketClient: Show general connection errors

So far the example didn't show any errors when the connection to the
server couldn't be established (e.g. because the host/port number was
wrong, but also because the SSL handshake already failed).

The fix shows a modal error dialog in this case.

Change-Id: Ia517bf79c5fb2ccdb1edabded28f86759f3e6dcf
Reviewed-by: Richard J. Moore <rich@kde.org>
Doc: Fix description of QTranslator::translate()

If the translations are incomplete it's actually not ensured that a
translation without disambiguation is used: lrelease will drop the
disambiguation from one of the identical messages if there is no message
which actually has no disambiguation ...

Task-number: QTBUG-30471
Change-Id: I1787f5c401a7afb964acbf8a8609ba328c8140a9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Don't use cosmetic GDI pens as this is already accounted for

Since Qt will already handle the cosmetic case when rendering then it
should be respected instead of overriding it by using the cosmetic GDI
pen. This ensures that the pen's width is used and also the color of the
pen.

Task-number: QTBUG-33611
Change-Id: I2719311b3fb5480a5b228c0d415aa545967321cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Get the correct available resolutions from the printer

On Windows the resolutions are available in pairs so get the y
resolution from each pair as the y resolution is the one that is actually
useful in QtPrintSupport terms

Task-number: QTBUG-42007
Change-Id: I02c0588dd97c541e679f22431435751563caadb2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Cocoa: avoid sending exposes too early

Expose events trigger backing store sync and thus paint events
on QGLWidgets. Sending the exposes too early may lead to failures
in the OpenGL calls. Sending exposes before even getting to calling
setVisible(true) in QWidget::show() is just wrong.

Task-number: QTBUG-36802
Change-Id: Ic7d5125f4e257d715009811217e453d79d0fcc7c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>