Commit Graph

3571 Commits (86d04cfe2bdceca401cab228bd63245f16e65731)

Author SHA1 Message Date
Giuseppe D'Angelo 86d04cfe2b Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev 2014-12-20 07:59:07 +01:00
Jørgen Lind 8758f532ae Make GLX and EGL dynamic dependencies for xcb
[ChangeLog][QPA][Xcb] GLX and EGL code paths are now dynamically
resolved, making it possible for one build of a plugin to use both code
paths. Default is to use the GLX code path if available. This can be
overwritten by specifying QT_XCB_GL_INTEGRATION=xcb_egl as an
evnironment variable. Enable qt.xcb.glintegration.debug to get debug log
output of what integration is used

Change-Id: Ia9fa95fcca3d901b91dadb8c98a695fea0ae3b1e
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-20 06:09:01 +01:00
Simon Hausmann e281537f20 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/platformsupport/platformcompositor/qopenglcompositor.cpp
	src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I5422868500be695584a496dbbbc719d146bc572d
2014-12-18 12:12:58 +01:00
Eskil Abrahamsen Blomfeldt 9f63e2dc0e Fix PDF when embedding fonts with large internal leading
Setting lfHeight to a positive value in LOGFONT requests the font
with the given cell height, which is em square size + internal
leading. When setting this to the em square size, it means we
will get glyphs that are actually sized for an em square with
sides that are (emSquareSize - internalLeading). For most fonts,
this was not noticeable, but for some fonts with large internal
leading, the resulting glyphs would be very small.

When setting lfHeight to something < 0 instead, we are selecting
the font with the given character height instead, which is not
including the internal leading.

[ChangeLog][PDF] Fix embedding glyphs from fonts with large
internal leading.

Task-number: QTBUG-43082
Change-Id: Id74cf2279df2062804e9431fe305d803cb0b19d2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-12-18 09:43:13 +01:00
Friedemann Kleint 7f6c4390ec Windows: Return false from event processing of unhandled multimedia keys.
Otherwise, potentially active players no longer receive the keys when
a Qt application is running.

Task-number: QTBUG-43343
Change-Id: Iefa511a101734690305e3244fafec4a460a9212d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-18 06:33:24 +01:00
BogDan Vatra 21101d9c52 Fix crash when Android Style is set more than once.
Load again JSON document is it was freed.

Task-number: QTBUG-43111
Change-Id: I22f1de221371b49fec8b3d66ad5f0bd2af9656fe
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-15 14:16:11 +01:00
Jørgen Lind ec9104a71d Xcb: remove compile warnings
Change-Id: Ieb3ccd18a2bdde9ef7628a031266004cd55480da
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-15 08:35:46 +01:00
Jørgen Lind 2e2de5e482 Fix xcb backend not grabbing the server as default
The xcb backend relies on grabbing the x server in a few situations like
popuphandling. For Qt 5.4.0 the logic enabling this code path was moved
into the plugin. However it defaults to never grabbing the server

Change-Id: I82489a0727affbce62587b3d7470085cf716a0cc
Task-number: QTBUG-43049
Reviewed-by: Martin Gräßlin <mgraesslin@kde.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-12 16:38:02 +01:00
Pierre Rossi 517da68893 Add QFont::Weight enum values
And try to make good use of them in order to match the QFont
request more closely.

Task-number: QTBUG-38482
Change-Id: I768dfa8828e370d77a1c17ecf4796d750b3edd9b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2014-12-12 06:59:46 +01:00
Friedemann Kleint d61ee49df4 Windows: Do not register windows obtained by QWindow::fromWinId() for touch.
Fixes a warning:
RegisterTouchWindow() failed for window ''. (Access is denied.)

Task-number: QTBUG-43252
Change-Id: I92a565f3a5e2e8815eb709b5c6d0ccdba7330e31
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-11 16:10:53 +01:00
Friedemann Kleint 994bbcf1df Windows: Fix window geometry when using QWindow::fromWinId().
Take margins into account.

Task-number: QTBUG-43252
Change-Id: I816115d2bbbcee3e8663f42bf07b1a140a049e69
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-11 16:10:47 +01:00
Richard Moe Gustavsen fb9eca8c9c iOS: let keyboard gesture work better with other gestures
Let the keyboard gesture work better alongside other gestures
by reporting that it should:

1. not prevent other gestures from triggering. This means that
    even if our gesture triggers (we close the keyboard), gestures
    attached to sub-views will still continue tracking.
2. not be prevented by other gestures. This means that if
    a gesture in a sub-view triggeres before our gesture, our gesture
    will still continue to track.

In short it means that regardless of other gestures, we always
close the keyboard if our text responder is first responder and
the user flicks down. And we do so as "silently" as possible.

Change-Id: I22386b5ef5dedbc498a2899929ddd07424e514d8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 15:20:08 +01:00
Richard Moe Gustavsen de04841e19 iOS: only clear focus object if it supports IM
We try to keep a on-to-one relationship between UI controls with text input
and keyboard visibility. But if the control does not use text input, then
there is no reason for us to clear focus when the keyboard hides. In fact, we
should avoid doing so, since that will stop e.g buttons from working correctly.

The typical flow is:

- a touch release targeting a button is sendt to QApplication.
- QApplication transfers focus to the button.
- qiosinputcontext gets notified, we refuse, and clear focus again.
- QApplication enters a propagation loop where it tried to
    find out the receiver of the event. Since the button is now
    unfocused, the event will propagate up to a grandparent instead.
- the button will as such not trigger.

Change-Id: I70baa38299f40defc4a77f62790502e2d6ebbba9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 15:19:59 +01:00
Tor Arne Vestbø 8aa663e139 iOS: Only scroll to cursor on keyboard hide gesture reset if requested
Change-Id: I15b313b5f0d57358e405f16e941fc5061028c6a7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 14:39:00 +01:00
Tor Arne Vestbø e415ed83af iOS: Don't scroll screen on changes to input item transform
We auto-scroll the screen to reveal the cursor whenever the cursor rect
changes or other properties of the input methods are updated, but the
expected behavior when explicitly moving an item under the keyboard,
such as when scrolling a view or moving an item using drag, is to
not scroll the screen until typing commences. This matches how eg.
Safari or the Notes app handles the same use-case.

Change-Id: I6b6932d9bcbdccd8df26db982246c162f1574d86
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 14:39:00 +01:00
Martin Gräßlin 6a7ee92b39 Handle SelectionClientClose in QXcbClipboard
QXcbClipboard listens for subtype SelectionClientClose of Xfixes
SelectionNotify event, but doesn't handle it. When the client holding
the clipboard selection closes the Clipboard becomes empty and thus the
change should be emitted.

This fixes downstream KDE Bug #329174.

Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
2014-12-10 12:45:58 +01:00
Simon Hausmann 015002fec9 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	doc/global/template/style/online.css
	mkspecs/android-g++/qmake.conf

Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
2014-12-10 07:58:06 +01:00
Laszlo Agocs 174f54b5a6 Fix fullscreen in the X11 hooks of eglfs
It did not work since the request was made after mapping.

Add also basic screen size detection and make fullscreen the default. No more
windowed nonsense which is not very useful anyhow due to the trouble with
input (multiple mouse cursors etc.).

Instead, launch always in fullscreen on X. This gives a unified experience when
running with -platform eglfs, regardless of using KMS on a console or the X11
hooks under X or just fbdev. It also eliminates the annoyance of not having
vsync for non-fullscreen X windows on boards like the Jetson TK1 (where fbdev is
not an option).

[ChangeLog][QtGui] eglfs is now using fullscreen mode also when running on X11.

Change-Id: I3b05728c2c37d6e0abd53cf2843670a1262243bd
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2014-12-09 16:58:07 +01:00
Friedemann Kleint a6436ff559 Windows: Limit cursor cache.
Prevent the cursor cache from growing indefinitely hitting GDI resource
limits if new pixmap cursors are created repetitively by purging out
all-noncurrent pixmap cursors.

Change-Id: I4a3bbd6235af13e306ca84ac6fea3fcd69d53279
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-09 16:53:37 +01:00
Uli Schlachter 2203d9d93e xcb: Fix transparent tray backgrounds with 24bpp tray visuals
Commit 0eefa785a0 ported Qt4's method of indirectly drawing the tray
icon's background to Qt5. This commit makes it work a bit better.

When drawing the tray's background, we use a ClearArea request to make
the X11 server fill the tray icon with its background. Then we grab that
background from the server and paint the icon on top of it. So this is
pretty much pseudo-transparency at work. One small ingredient that was
missing before is the BackgroundPixmap of the tray icon. If this
attribute is set to ParentRelative, then our tray icon inherits the
background of its parent window. That way the ClearArea will actually
produce the expected background.

Task-number: QTBUG-35832
Change-Id: I63fc4609064d8f858ca9e5cc290409a298b918b7
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-12-09 16:01:59 +01:00
Konstantin Ritt 27894537ab Make more font databases report fontsAlwaysScalable()
DirectWrite and CoreText supports scaling of non-scalable fonts.

Change-Id: I910c6a35e3d94c31efa9b26dd89bcb027951ac99
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-09 03:31:09 +01:00
Laszlo Agocs b7f0583f31 Pluginize the eglfs hooks
Following the principle of device integrations in QtWayland and soon
xcb, a plugin interface is being introduced to gradually replace the
statically compiled-in hooks.

The interface is same as before for the time being, for compatibility
with the existing device-specific hooks.

QEglFSHooks is now just a dummy subclass for QEGLDeviceIntegration to
support the legacy, compiled-in, device-specific hooks. When -device
is not used with configure and so there is no hook active, the new
plugin-based approach kicks in.

The environment variable QT_QPA_EGLFS_INTEGRATION can be set to
indicate the preferred integration name (e.g. eglfs_x11, eglfs_kms).

It can also be set to "none", indicating that no plugins should be
considered and the default, non-specialized integration is to be used.
(this is for devices, like Beagleboard|bone, that do not need any special
code to set up EGL)

Device makespecs can set EGLFS_DEVICE_INTEGRATION. The value is then used
as the default, preferred plugin name when QT_QPA_EGLFS_INTEGRATION is not
set. In the future device makespecs are expected to set a plugin name instead
of relying on the traditional EGLFS_PLATFORM_HOOKS_*.

When neither the QT_QPA_EGLFS_INTEGRATION nor EGLFS_DEVICE_INTEGRATION are
set, all plugins will be tried in an unspecified order. The first one that
succeeds to load is used. If all fails or there are no plugins, the built-in,
non-specialized integration is used.

To debug what integration is being used, enable the logging category
qt.qpa.egldeviceintegration.

There is some built-in logic for desktop/Mesa based systems: Under X,
eglfs_x11 is preferred, otherwise eglfs_kms is prioritized. This, assuming
sufficient permissions to video and input devices, allows simply launching
apps with -platform eglfs. No more editing of eglfs.pri.

[ChangeLog][QtGui] Added support for device-specific backend plugins in eglfs.

Change-Id: Ia2ddcddac014c25817171dc140cd8cf913784ac6
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2014-12-08 14:16:41 +01:00
Przemysław Czerpak 1b548faa77 Added support for CTRL key modifier to Android builds.
Change-Id: Ib3eddb33348c54cec6cee62abdf69104059affb0
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-08 13:23:56 +01:00
Shawn Rutledge f277c07467 Harmonize QPA TrayIcon showMessage parameter order
Parameters were misnamed in some places but still managed to pass them
through in the right order.  Rename to avoid confusion, and keep the
parameter order the same as in QSystemTrayIcon::showMessage.

Change-Id: Ib4c8fff15eff15034c4ea64757803b118e487144
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-08 09:55:34 +01:00
Uli Schlachter c5a43acf18 XCB: Don't override non-existent method when QT_NO_OPENGL
QBackingStore only has a toImage() method if OpenGL is enabled. I
noticed this because compilation failed for me, thanks to
Q_DECL_OVERRIDE.

qxcbbackingstore.h:60:12: error: ‘QImage QXcbBackingStore::toImage() const’ marked override, but does not override
     QImage toImage() const Q_DECL_OVERRIDE;

Change-Id: I6b45ef41c53d819d81fe657f26adc1f630fec6bb
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-08 09:55:19 +01:00
Joni Poikelin 047848cb30 Add VK_LWIN and VK_RWIN keys as meta modifiers
Task-number: QTBUG-43163
Change-Id: Iee9bb4b48dc7ea9f806abd6b07648cce46a79b6a
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-08 09:50:32 +01:00
Tor Arne Vestbø 8ee7aa78af qt_mac_loadMenuNib: Prevent stale NIB files by diffing file size
If we're changing the contents of the nib files in Qt, we need to
overwrite the nib files that we write to /tmp, as QFile::copy() does
not overwrite files.

This also catches the case where the files in /tmp are empty due to
a possible broken qrc-run, where re-runs of qrc to fix the resources
would still leave the corrupt nib in /tmp, resulting in:

  -[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did
     you forget to send -finishEncoding to the NSKeyedArchiver?

And as a consequence:

  qt_mac_loadMenuNib: could not instantiate nib
  ASSERT: "mainMenu" in file qcocoamenuloader.mm, line 154

Change-Id: I2907a32d1a56c23a27343c81839a06b65a529372
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-05 15:39:10 +01:00
Simon Hausmann 8c0014213b Merge "Merge remote-tracking branch 'origin/5.4.0' into 5.4" into refs/staging/5.4 2014-12-05 16:45:27 +01:00
Paul Olav Tvete 8015ffef1e Fix QOpenGLWidget/QQuickWidget GUI freeze
A window with a renderToTexture child uses the OpenGL path, but when
we open a popup or dialog, that uses the raster compositor, which opens
a separate surface. This patch fixes two issues when combining GL rendering
with the raster compositor:

1. GL-rendered widgets were counted as part of the raster-rendered region,
meaning that we did not punch a hole in the raster surface.

2. We did not destroy the surface when no longer needed.

Task-number: QTBUG-41467
Change-Id: I2a2a0e860cce065b330df1c864d51fd02103aa1b
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-05 14:25:09 +01:00
Simon Hausmann 7644faa881 Merge remote-tracking branch 'origin/5.4.0' into 5.4
Change-Id: I0cd11cbe95693b78450ea81a0187760f4a6a8b5f
2014-12-05 11:53:33 +01:00
Friedemann Kleint 2df293267e Windows: Skip calculating margins for Qt::FramelessWindowHint.
Always skip calculating style-dependent margins for windows claimed
to be frameless by Qt. This allows users to remove the margins by
handling WM_NCCALCSIZE with WS_THICKFRAME set to ensure Areo snap still
works.

Task-number: QTBUG-40578
Change-Id: Ice7771df8fbf59b370568219d10c12ce04e99628
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-05 06:10:01 +01:00
Andrew Knight 5367fa3562 winrt: Fix window resize
The fixed-size EGL display must be updated on PC as well as Windows Phone.

Task-number: QTBUG-43112
Change-Id: I0ba90370b67e8c065843e5754579e341b647266d
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-05 05:37:01 +01:00
Friedemann Kleint 50d29a695a Windows: Handle WM_WINDOWPOSCHANGING during window creation.
Fix warnings:

QWindowsContext::windowsProc: No Qt Window found for event 0x46 (WM_WINDOWPOSCHANGING), hwnd=0x0xde0408.

occurring when using Active X controls.

Factor out message handling to a static function which can be used
during window creation when QWindowsWindow does not yet exist.

Task-number: QTBUG-36318
Change-Id: I3ce56fd377e3392b0dd22d3d26a7048065380f13
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-04 20:18:13 +01:00
Sérgio Martins 33739ccb95 Windows: Bring FreeType rendering up to par with other platforms
The text was very washed out, almost white on small font sizes.

This ifdef was introduced to cater for GDI differences between Vista
and Pre-Vista, it's GDI specific, nothing to do with FreeType.

Text now looks good, and md5sum of the rendering is the same as on Linux.

Task-number: QTBUG-42564
Change-Id: I2e06b83b80df093331454fe1b780d26462db597d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-04 19:20:58 +01:00
Thiago Macieira 1eb7005850 Use the new warning enabling/disabling macros in qtbase
Change-Id: I91ff06644e8047c2ca483f9768b46c1372eb6171
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2014-12-03 18:09:17 +01:00
Eskil Abrahamsen Blomfeldt ab6d645850 Android: Fix broken system palette
When we overwrite the default palette, we have to make sure
we don't overwrite default values with black for all the
colors that are not retrieved from the json file. We would
for instance get black as both the base color and text
color which would make some components unusable.

Change-Id: I1079a70a0ac7eb379ed5e8d92c6b39c2ea77ba49
Task-number: QTBUG-42812
Task-number: QTBUG-42998
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-12-03 12:29:09 +01:00
Olivier Goffart 5180f32c5a Add Q_DECL_OVERRIDE in the src subdirectory
Done automatically with clang-modernize on linux

(But does not add Q_DECL_OVERRIDE to the function that are marked
 as inline because it a compilation error with MSVC2010)

Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-03 09:57:11 +01:00
Tor Arne Vestbø afae4ee0b1 iOS: Guard against UIGestureRecognizer messing with self
We pass in self to initWithTarget, so we need to be sure that the
init doesn't return a new self.

Change-Id: I90d0d10d2fd1a5d38ef1ff3f23169dcce00b28e2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2014-12-02 10:57:15 +01:00
Tor Arne Vestbø df75cb4c09 iOS: Properly support QInputMethod's visible and animating properties
We now emit and change the 'visible' and 'animating' properties of the
QInputMethod according to the documentation, which means the 'visible'
property will change immediately when the keyboard is about to become
visible, or about to hide, and the 'animating' property will determine
if the visibility-change is just starting out, or has ended.

The keyboard rect will at all times reflect the currently visible area
of the virtual keyboard on screen (in focus-window-coordinates), not
future state after the animating completes. Getting the future state
is a missing piece of the QInputMethod API, and could be solved in
the future by adding arguments to the animatingChanged signal that
allow platform plugins to pass on the before- and after states.

The logic for determining the keyboard state has been moved into
a central function, updateKeyboardState(), which allows us to change
and emit property changes atomically. There is still some parts left
of the old approach, but these are left in to make further changes
to the code easier to diff and understand in isolation.

Change-Id: Ica52718eba503165ba101f1f82c4a425e3621002
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2014-12-02 10:57:01 +01:00
Tor Arne Vestbø 44e9e7fe19 iOS: Simplify view management in QIOSKeyboardListener
We don't need to keep track of the view-controller or add ourselves as
a gesture recognizer inside QIOSKeyboardListener. In fact, leaving the
call to removeGestureRecognizer in [QIOSKeyboardListener dealloc] will
result in QIOSKeyboardListener never being released, as the view that
we add the recognizer to will keep a strong reference to the recognizer,
so dealloc is never called unless the view is also released, which is
unlikely to happen. We now fully control the lifetime of the recognizer.

Change-Id: I6755e8cdfcc8f1062314db51aa54a2b7ecd1b967
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2014-12-02 10:56:54 +01:00
Tor Arne Vestbø c59c8ddf1f iOS: Refactor QIOSKeyboardListener implementation and usage
QIOSKeyboardListener takes care of both maintaining the virtual keyboard
state, and acting as a gesture recognizer for the hide keyboard gesture.

We make this explicit though a union in QIOSInputContext, so that we can
access each 'mode' separately. This improved code readability and allows
later refactoring of the state and gesture into separate classes without
changing the call sites.

Change-Id: Icc60f4a542983cda7ca0fd6622963d32d1e90db9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2014-12-02 10:56:47 +01:00
Andrew Knight 2903db0469 winrt: Fix Windows Store Certification
WinRT requires that IDXGIDevice3::Trim() is called on application
suspend in order to pass Store Certification.

Task-number: QTBUG-38481
Change-Id: Ia3cb5d3f6a2db8f11e4bfa4fd5c7791e18d6c36d
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2014-12-01 20:03:50 +01:00
Frederik Gladhorn ce6990c3e7 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Id20053d261b4fbbcc0ac8ba49dd3ef2253fa4b95
2014-11-27 18:28:12 +01:00
Frederik Gladhorn 3de7382044 Merge remote-tracking branch 'origin/5.4.0' into 5.4
Conflicts:
	dist/changes-5.4.0

7231e1fbe2 went into 5.4 instead of the
5.4.0 branch, thus the conflict.

Change-Id: I70b8597ab52506490dcaf700427183950d42cbd1
2014-11-27 18:12:10 +01:00
Richard Moe Gustavsen fa9bde7d3a iOS: override QPlatformWindow::propagateSizeHints()
propagate size hints means that we should forward minimum/maximum
size set on QWindow to the underlying native window to restrict
how the user can resize the window. On iOS this does not make
sense, but nevertheless, if we don't override the function, the
default implementation will issue a warning. This again will
always make creator inform that the application ended with error
upon exit.

Change-Id: I0a8bd74c47fafe2115add5b6eb4e77616fcbc365
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-11-27 11:40:32 +01:00
Friedemann Kleint cb679241b1 Implement heightForWidth().
Add a virtual function QWindowPrivate::closestAcceptableGeometry()
which is called from the platform plugin.

Task-number: QTBUG-36220
Task-number: QTBUG-36318
Change-Id: I2b3d205e2c75f1d4dd2ba1d333b0d89bc0fcf13a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2014-11-27 11:10:31 +01:00
Shawn Rutledge c124ac42c7 OS X: remove use of Carbon API for scroll events; fix ScrollBegin
NSEventPhaseMayBegin doesn't happen with some types of trackpads, so
don't treat NSEventPhaseBegan as Qt::ScrollUpdate.

Change-Id: Ica97d49692a904e20c8eb0250760e6370311ee40
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2014-11-27 09:29:17 +01:00
Friedemann Kleint b55f88caba Windows: Correctly associate IME contexts.
Associate a 0-context with the window if IME is disabled, store
this state as a flag to QWindowsWindow. Associate default context
again when enabled window gains focus.

Task-number: QTBUG-40691
Change-Id: I78d5494a05f93a39e245ca7c096d45445e684ea8
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2014-11-26 21:14:48 +01:00
Friedemann Kleint c91c05b056 Add capabilities to QPlatformInputContext.
Add a capability enumeration to QPlatformInputContext and
use that to turn off input methods for hidden text depending
on platform support. Disable on Windows.

Task-number: QTBUG-40691
Change-Id: I9909005de1f21316ec8f64e2729f1fffcd37c7c3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2014-11-26 21:14:40 +01:00
Laszlo Agocs 421f78a65f Reorganize devicediscovery header
As pointed out in 13b939c7f4 the approach
qdevicediscovery_p.h takes is just wrong. The defines it relies on will
often be missing when the header is included from random places in qtbase.
This results in different class layouts. It was working only because the
interface of the class is very limited and the public part was matching
regardless of having the macro defined.

This is now corrected by introducing subclasses and a common, non-variated
base class. QDEVICEDISCOVERY_UDEV is removed completely.

Change-Id: I9c83b5b041440a3a6ea3a604eee4a325d4d74439
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-11-26 16:22:43 +01:00