summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/winrt/qwinrtinputcontext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* winrt: Fix initialization of input contextMaurice Kalinowski2016-09-151-17/+18
| | | | | | | | | f104e43a72380f66f8c517b90326a9209612106d moved QWinRTInputContext to the gui thread. However, IInputPane needs to be queried from Xaml itself. Otherwise it might cause unhandled exceptions. Change-Id: I43848c796e7ff163e6befa7c58f0ad68445b9865 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Make sure that cursor is visible when virtual keyboard is shownOliver Wolff2016-09-071-5/+17
| | | | | | | | | | | | | | | | We have to check whether the cursor is covered by the virtual keyboard when it is shown. If that is the case and the keyboard is snapped to the bottom of the screen the whole content is moved up to ensure the cursors's visibility. WinRT's input context had to be moved from the XAML to the GUI thread as the signal/slot connection does not work otherwise. Signals from QInputMethod were emitted but not handled in QWinRTInputContext as it ran on another thread which did not spin an event loop. Task-number: QTBUG-50291 Change-Id: Id89e970dc194c25ad07ceab14d9fea51bd7388b2 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Use ComPtrs in input contextOliver Wolff2016-09-071-4/+3
| | | | | | | | By doing so we no longer leak the input pane inside the destructor. Additionally the coding style is closer to the rest of the WinRT port. Change-Id: I0d56086719c98585cec8bc3c4bcb2d86c3ea2e79 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Unify license header usage.Jani Heikkinen2016-03-291-12/+15
| | | | | | | | | Update files using old header.LGPL3 to header.LGPL Update files using old FDL template to use new one Update files using old BSD template to use new one Change-Id: I36a78272516f9953d02956522f285b40adfc8915 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* winrt: add logging to platform pluginMaurice Kalinowski2016-02-171-0/+11
| | | | | | Task-number: QTBUG-38114 Change-Id: I24c96bb2e29e1bbfe93dfe45aa764451aa9ddde8 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Fix input pane usage on Windows 10 IoT CoreMaurice Kalinowski2016-02-121-4/+4
| | | | | | | | | | | | | | | Running on Raspberry Pi casting to IInputPane2 fails with E_NO_INTERFACE as there is no input pane available for the device. However, if E_NO_INTERFACE is returned from the lambda, then deletion of the ComPtr holding the AsyncAction in runOnXamlThread() crashes somewhere deep internally of Release(). As we do not check for the return value anywhere, avoid the crash by returning S_OK instead. Change-Id: Icd38ec482b365285a482e5ff792ec1b4f13317d5 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QtBase: remove explicit function info from qWarning() etcMarc Mutz2015-11-281-2/+2
| | | | | | | | | | | This information is already registered by the QMessageLogger ctor. Where, by dropping the << Q_FUNC_INFO in ostream-style qDebug(), only a string literal remained, converted to printf-style qDebug() on the go. Change-Id: I3f261c98fd7bcfa1fead381a75a82713bb75e6f3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* winrt: Do not emit keyboard changes in the constructorMaurice Kalinowski2015-11-161-5/+10
| | | | | | | | | | QWinRTInputContext is created from the XAML Thread, which can cause problems when handleVisibilityChange is invoked. Instead just query the keyboardRect and skip the emit. Task-number: QTBUG-49389 Change-Id: I158204a07b9e000adffdc308e68b0f1425ed7c62 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* WinRT: Fix InputPanel on Windows 10Maurice Kalinowski2015-10-211-16/+12
| | | | | | | | | | Check for MSVC2015 to enable usage of IInputPane(2). Move object construction to the XAML Thread, otherwise instantiation will fail when running on desktop. Task-number: QTBUG-44494 Change-Id: I816230cc5b0def796e86e6c6bb05a552a4e59d1b Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* winphone: Fix keyboard show/hide callsAndrew Knight2015-08-241-8/+18
| | | | | | | | These need to occur on the XAML thread. Change-Id: Id42a37df95b09e6d3c0a1b6e593bbf8cbfe5a129 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: Refactor platform plugin for XAML supportAndrew Knight2015-08-131-130/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using XAML as the platform compositor, many benefits are possible: - Better input context handling for tablets - Better multiple window support (including non-fullscreen windows) - Support for transparent windows and window opacity - Integration with native platform controls - Simpler orientation handling on Windows Phone with built-in transitions This patch applies only the minimal parts to make XAML mode work just as the raw D3D mode. It does this by: - Moving all OpenGL parts into QWinRTEGLContext. This will allow us to have non-OpenGL windows later (e.g. Direct2D raster surfaces). - Moving more window-specific parts into QWinRTWindow. Each window creates a SwapChainPanel which can then be used for ANGLE (or Direct2D) content. - Moving non screen-specific parts into QWinRTIntegration. - Having QWinRTScreen create the base XAML element Canvas. - Running certain calls on the UI thread where necessary. The following code parts were removed: - The UIAutomationCore code in QWinRTInputContext, as this is incompatible with XAML automation. - The D3D Trim and device blacklist, as these have been fixed in ANGLE. - Core dispatcher processing in QEventDispatcherWinRT. Now there is only one native event dispatcher; it is always running and never needs to be pumped. Future commits should address: - Maintaining the window stack list and visibility using the XAML Canvas. - Allowing for windows (e.g. popups) to be sized and positioned instead of fullscreen. - Using the XAML automation API to improve the platform input context. [ChangeLog][QPA][winrt] Windows Store apps are now composited inside a XAML container, allowing for tighter integration with the native UI layer. Change-Id: I285c6dea657c5dab2fda2b1bd8e8e5dd15882c72 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Updated WinRT license headers to use LGPLv3 instead of LGPLv21Jani Heikkinen2015-05-201-10/+13
| | | | | | | | | From 5.5.0 -> WinRT port is licensed with LGPLv3, see http://blog.qt.io/blog/2015/04/29/windows-10-support-in-qt/ Change-Id: I7e42564276af3fdbd0d4c61e2736610fa698b11c Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: set correct virtual keyboard sizePeng Wu2015-04-091-24/+17
| | | | | | | | This is done by multiplying by the DIP scale factor. Task-number: QTBUG-44152 Change-Id: I587a66f1a2f7fa3a713c279f5d877e6acb844620 Reviewed-by: Andrew Knight <qt@panimo.net>
* winrt: remove the dead WP8.0 code from input contextPeng Wu2015-04-091-23/+0
| | | | | Change-Id: I8db61b4db32052f64833767085f2ebc5f1cc5bcf Reviewed-by: Andrew Knight <qt@panimo.net>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Support Windows Phone 8.1 in WinRT QPAAndrew Knight2014-05-221-1/+52
| | | | | | | | | | - Unsupported code paths for WP8.0 are avoided, and new APIs are used where appropriate (virtual keyboard) - DirectWrite fonts are loaded on WP8.1 - Platform dialogs are used on WP8.1 Change-Id: I721006ac943ad4e248f0f1590ce247a03e40fbc0 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Windows RT and Windows Phone QPAAndrew Knight2013-10-021-0/+300
Change-Id: I6ab8af31f73439172e43fb709831821482b1cc99 Done-with: Kamil Trzcinski Done-with: Oliver Wolff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>