summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* iOS: stop listening for keyboard visibility after QIOSMenu::dismiss()Richard Moe Gustavsen2015-03-161-3/+3
| | | | | | | | | | | | | | | | We used to stop listening for keyboard visibility when quipickerview was deallocated. The problem with that approach is that we don't have a guarantee for when dealloc gets called. So what can happen is that we get a call from Qt to dismiss the menu. That causes us to close the keyboard, which will trigger the notification, which will call dismiss recursively. This will hit our assert checking if we have a valid picker view. This patch will unsubscribe to the notification explicitly upon a call to dismiss, to avoid recursive dismiss calls. Change-Id: If1efa3438037e00a02bc186fdcb6c0b3d3d595e4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* QCocoaMenuItem: Fixed Delete key symbol in native menubarFilipe Azevedo2015-03-161-0/+3
| | | | | | | Task-number: QTBUG-33015 Change-Id: I4548cef7a10f792bba2d50b74787b0757d5015f7 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QCocoaWindow.mm: Avoid crash whe using native windowsFilipe Azevedo2015-03-161-3/+6
| | | | | | | | When using native windows, notification were received after the platform window pointer was cleaned up, which caused crashes. Change-Id: I438fc29d1761a32a4705c4c802afe46908505756 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* iOS: Clarify implementation of QIOSWindow::isExposed()Tor Arne Vestbø2015-03-161-0/+19
| | | | | | | | | | | We treat windows as exposed even if the application state is still inactive (e.g. during startup), otherwise there's a visible moment of black screen between the launch screen fading out and the app rendering its first pixel. Change-Id: I48368459a8a46fa1c5b2853ea88adfe1ac61b6f7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Check if window was active on setVisible(false) through native APIsTor Arne Vestbø2015-03-163-1/+19
| | | | | | | | | | | | | When a QWindow is closed and destroyed it resets QGuiApp::focus_window before calling setVisible(false) on the platform window, so we don't have the needed information anymore to check if the window we are hiding was the focus-window. To work around this we use the native state instead, which should still be valid if the window was the focus window. Change-Id: I98057e6393411471f03668e3e5ce544f6b49c01d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Add support for grabWindow() on eglfs with widgetsLaszlo Agocs2015-03-164-4/+78
| | | | | | | | | | | | | For real OpenGL content it is still not supported because we have no reliable way to read back the contents at arbitrary times. Applications should rather use QQuickWindow::grabWindow() in that case. [ChangeLog][QtGui] Support for QScreen::grabWindow() is now available on embedded platforms (eglfs, linuxfb). Task-number: QTBUG-44937 Change-Id: I4ad046062782c160f5bb9f8f2a2fe82f2e7394cc Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Support grabWindow() in linuxfbLaszlo Agocs2015-03-165-10/+49
| | | | | | Task-number: QTBUG-44465 Change-Id: Id4b0fcbcce3e005c1f147fa227ef987daac20fd5 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* qdoc: Recursively set the output subdirectory for InnerNodeTopi Reinio2015-03-162-1/+12
| | | | | | | | | | | | | | | | | When QDoc resolves and combines namespace child nodes located in different modules to be under a single namespace node, it also changes the output subdirectory of each child according to the destination module. However, if one of those child nodes is a namespace node or a class node with nested child classes, the output subdir of those children is left as the old (incorrect) directory. This change fixes that by making the setOutputSubdirectory() function recursive for nodes of type InnerNode. Change-Id: I07b2f406283e1bf3bd8643797c3b789b0211b5bb Reviewed-by: Martin Smith <martin.smith@digia.com>
* Fix private member initialization for QMatrix4x4(Qt::Uninitialized)Konstantin Ritt2015-03-161-1/+1
| | | | | | | | ...introduced in 348ac43821ad3b0251d383d82fb02b8ab52ddbeb Change-Id: Iae44cbc5590bfbbaba8c98d838995451fa958105 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* iOS: Add platform plugin option to debug window managementTor Arne Vestbø2015-03-164-0/+82
| | | | | | | | | | | | When the 'debugWindowManagement' option is enabled, e.g. by passing the argument -platform ios:debugWindowManagement to the application, the plugin will add a background color and outline to all QUIViews, as well as draw a grid for the underlying QUIViewController. This makes it easier to see where windows are placed when the window itself doesn't draw anything, e.g. in unit tests. Change-Id: If9a59822e0b320b154ad8e338f9fb5ec7cf191a2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* Fix undefined symbols in grid layout engine with -no-widgets optionJoni Poikelin2015-03-161-4/+0
| | | | | | Task-number: QTBUG-44980 Change-Id: I2bf7a3f8814e10daafb703ed365caac1e13d3704 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add missing \since 5.5 for QSpacerItem::sizePolicy()Jan Arve Saether2015-03-161-0/+2
| | | | | | Change-Id: I2091a22e08bc010c3c69f12b8f5c242a2d5fb8f2 Task-number: QTBUG-38518 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Always overwrite QPixmap data on loadFromDataUlf Hermann2015-03-161-2/+1
| | | | | | | | | Reusing the previous QPlatformPixmap breaks implicit sharing. It changes the contents for all QPixmaps using the sample QPlatformPixmap. Task-number: QTBUG-43384 Change-Id: Ic0792088daa8c2dcb5d7d311a0fd7415d7b5e097 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* QLockFile: use QCoreApplication::applicationName.David Faure2015-03-162-2/+2
| | | | | | | | | | | Unlike qAppName, it doesn't require a QCoreApplication instance, making QLockFile usable in destructors of global statics. This also uses the value passed to setApplicationName if called rather than always argv[0]. Change-Id: I40446aba410db42d7cfe6b4408878faf435246f7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: convert directory in qiosfiledialog to local file before checking filenameRichard Moe Gustavsen2015-03-151-1/+2
| | | | | | | | The directory URL will now have the scheme "file". So we need to convert it to a local file before we inspect the file name Change-Id: Ib50f879501f560a4d0fec41dce6d7d9f78f06a3c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: return file urls rather than asset urls from file dialogRichard Moe Gustavsen2015-03-152-8/+19
| | | | | | | | | | | | We need to pass the asset url around as a file url in the application, so that QUrl::fromLocalFile()/toLocalFile() works. Note that QUrl::fromLocalFile() will remove double slashes. We therefore need to check for this, and restore missing slashes, when loading files in the file engine. Change-Id: I2de6b91d7a112354590cf2981f7b403eacf92a59 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Fix build of forkfd_qt.cpp on FreeBSDAlex Richardson2015-03-152-2/+2
| | | | | | | | | | | | | | | | | | | It no longer compiled after 614f37c8b559a722538c58dd1f65229cfca7d35b due to the following: - forkfd_qt.cpp set _XOPEN_SOURCE to 500 - It then includes qatomic.h which include sys/cdefs.h (the FreeBSD header that parses and sets _POSIX_C_SOURCE, _XOPEN_SOURCE and other macros) - sys/cdefs.h redefines _POSIX_C_SOURCE to 199506 due to _XOPEN_SOURCE's value - Several libc symbols expected to exist by libc++ are hidden due to _POSIX_C_SOURCE's value and the build fails Setting _XOPEN_SOURCE to 700 ensures that _POSIX_C_SOURCE is set to 200809 which is required for libc++ to work correctly Task-number: QTBUG-45006 Change-Id: Iac93220d19ca5ab9ba8ac61a79748252283c3c47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString: Don't force unrolling of the tail loop if optimizing for sizeThiago Macieira2015-03-151-7/+7
| | | | | | | | | | | | | This is quite good if space isn't a constraint: the unrolling ensures faster execution and limits the number of iterations. But it's long. Both Clang and GCC set the predefined macro __OPTIMIZE_SIZE__ if -Os is in effect. ICC does not; MSVC is untested but there are no macros for this effect listed in its documentation. Change-Id: I1a800c709d3543699131ffff13c48919a9a79ec3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QNativeSocketEngine: merge the get/setsockopt level constantsThiago Macieira2015-03-152-207/+151
| | | | | | | No point in having them separate, as that's a recipe for mistakes. Change-Id: Iee8cbc07c4434ce9b560ffff13ca4132cd1879ed Reviewed-by: Richard J. Moore <rich@kde.org>
* eglfs: Report the QScreen refresh rate from eglfsLaszlo Agocs2015-03-148-0/+49
| | | | | | | | | | | | For KMS we can always know the correct rate so report it from the backend's custom screen implementation. For the rest, query from the framebuffer. If the fb driver publishes the timings then we can calculate the vertical refresh rate from them. If not, default to 60. Task-number: QTBUG-44971 Change-Id: I854a34e7c0d652790cc2ac967715828ec76f5733 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* qdoc: ignores .pragma and .import in javascript filesMartin Smith2015-03-143-12/+23
| | | | | | | | | | | | For some reason, the QML/JS parser doesn't like them, so they must be removed when qdoc parses JavaScript code. This update handles every case I could find except jquery.min.js, which is a different problem. Change-Id: Iacbc4eda554516496a642189368d63d6560e3571 Task-number: QTBUG-44817 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Please valgrind by not accessing uninitialized memoryAllan Sandfeld Jensen2015-03-141-2/+3
| | | | | | | | Fix access or uninitialized memory. It is safe in this case, but causes valgrind's memcheck to complain unnecessarily. Change-Id: I01ad09d282b07f7099ad6bed85f4327b3c7c677f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Disable DSA on RadeonLaszlo Agocs2015-03-141-2/+10
| | | | | | | | | Try to prevent crashes on Windows and broken textures on Linux. Task-number: QTBUG-40653 Task-number: QTBUG-44988 Change-Id: I1fd259ba5ca3980c3087411e1dae1ae56bb2c2e4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* linuxfb: Add support for QCursor::setPos()Laszlo Agocs2015-03-142-9/+24
| | | | | | | Task-number: QTBUG-44856 Change-Id: I102137b3ccdfbea23eb470c38a47c807572d232d Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Support QCursor::setPos() properly for eglfsLaszlo Agocs2015-03-149-10/+74
| | | | | | | | | | | | | | | | | The internal state of the input handlers need updating too. This was not possible in the past due to the one way communication from the input handlers (that are potentially loaded as interface-less generic plugins), but using our new private QInputDeviceManager in QtGui we can now easily implement "talking back" from QtGui to the input handlers, regardless of them being plugins or compiled in. The rest of setPos() is in place already for eglfs. linuxfb will be handled in follow-up patches. Task-number: QTBUG-44856 Change-Id: Id72fdb8b1ea176ddfe082e466e7a538a2a98a005 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* forkfd: make only one of forkfd or spawnfd be compiledThiago Macieira2015-03-142-2/+11
| | | | | | | We only ever use one, never both. Change-Id: Iee8cbc07c4434ce9b560ffff13caf94c05dba338 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* eglfs: Generate enter and leave eventsLaszlo Agocs2015-03-147-3/+69
| | | | | | | | | | | In addition the logic in QGuiApplication that picks the target window for input events with a null window has to be enhanced to be compatible with how real windowing systems work: mouse events following a press are delivered to the same window until the release, even if the cursor has left the original target window. Task-number: QTBUG-44814 Change-Id: I3fea84ac77a5ccebeae5def64f92d8d2e03d13ff Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* IPv6 scope IDs are unsignedThiago Macieira2015-03-143-3/+3
| | | | | | | | We need to make sure that a large scope ID saved in a QString does get converted properly back to an integer. Change-Id: Iee8cbc07c4434ce9b560ffff13c9bd0e9008bd9c Reviewed-by: Richard J. Moore <rich@kde.org>
* QNativeSocketEngine: merge duplicated code for sin6_scope_idThiago Macieira2015-03-141-29/+18
| | | | | | | | Let's make sure we don't accidentally have it wrong in one of the three versions. Change-Id: Iee8cbc07c4434ce9b560ffff13c9bcf75ba66a66 Reviewed-by: Richard J. Moore <rich@kde.org>
* QFileIconEngine: Use closest area when resolving the actual sizeGabriel de Dietrich2015-03-141-5/+19
| | | | | | | | | This is similar to what QPixmapIconEngine does. Change-Id: I00b9e4083fa03fa0602b8e363055a612791bd149 Task-number: QTBUG-44981 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Don't use QFileIconEngine if the platform theme won't support itGabriel de Dietrich2015-03-141-0/+11
| | | | | | | Change-Id: I6ccbfc5e8bc25018231a6924be12d74955e12337 Task-number: QTBUG-44981 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Introduce src/3rdparty/freetype.pri for better maintenanceKonstantin Ritt2015-03-143-132/+70
| | | | | | | | This deduplicates qmake rules in platformsupport and platform plugins. Change-Id: Ie9c7d933c4433b96bf502e9753a12faa238b4569 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix page size selection in QPageSetupDialogJoni Poikelin2015-03-131-2/+2
| | | | | | | Task-number: QTBUG-44978 Change-Id: Id0c0188d62e344fad93d9bbf57b3f90ce899405d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QVariant: Fix wrong return type in toPersistentModelIndex()Gabriel de Dietrich2015-03-122-2/+2
| | | | | | Change-Id: I53afa712d38ec6a41fce77474acccf9c587ea6a8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Windows: Introduce delayed population to the FreeType font database.Friedemann Kleint2015-03-122-64/+148
| | | | | | | | | | | | | | | | | Further Split apart Windows CE/Windows code paths to provide 2 implementations of populateFontDatabase(): - The desktop version uses a callback which only registers the font families using QPlatformFontDatabase::registerFontFamily() to be populated on demand later by populateFamily(). - The Windows CE version is unchanged. Task-number: QTBUG-43774 Task-number: QTBUG-44647 Change-Id: Iad4ec849006a4daf86a5caea9afc89e83ccc7c63 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* xcb: Add support for obtaining default xcb connectionJan Kundrát2015-03-122-0/+10
| | | | | | | This is needed by qtx11extras now that we can meet a nullptr QScreen. Change-Id: I755523cbbbbe188f454bd518d2d86a981542458f Reviewed-by: Richard J. Moore <rich@kde.org>
* Make sure we also treat QAbstractSocket::AnyIPProtocol as IPv6Thiago Macieira2015-03-122-14/+14
| | | | | | | | | | | The native socket engine sets the socketProtocol to that when it means it's using IPv6 with v4 compatibility on (v6only = false). We mustn't have faced problems so far because the multicast tests set don't test v6only = false. Change-Id: Iee8cbc07c4434ce9b560ffff13ca0aff60673940 Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix build with QT_NO_CURSORAndrew Knight2015-03-121-2/+2
| | | | | | | The the static cursor methods still need to be compiled. Change-Id: Ic92eb706af67d3c2645e45cd91cb099c3263a869 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* eglfs: don't build the cursor atlas when QT_NO_CURSOR is definedAndrew Knight2015-03-122-1/+3
| | | | | | Change-Id: I675bc127296c016a40ec2edfdb6602908fec4c2f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* QtWidgets: don't set Qt::WA_OutsideWSRange for 0-sized non-windowsUlf Hermann2015-03-121-8/+10
| | | | | | | | | | | | | | | | | | | | If a widget which is not a window has a width or height of 0 that doesn't mean we don't have to invalidate its backing store. On the contrary, the backing store must be invalidated in order to clear stale contents from previous paint events. A window, however, can be completely ignored if it shrinks to 0 as the window system will take care of it. We don't have to clear the attribute for non-windows, either. In Qt4 we use the Qt::WA_OutsideWSRange attribute only for widgets which are windows when determining what to do with a geometry change. See qwidget_x11.cpp or widget_win.cpp in Qt4. Task-number: QTBUG-42727 Change-Id: I3655737057b803ad4b92601a9851055a81bd4b6d Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* qdoc: Show correct method signatures for QML typesMartin Smith2015-03-125-0/+203
| | | | | | | | | | | The return type was not printed, for \qmlmethod commands used in QML files. The parameter types and default values weren't being printed either. This update corrects those problems. Change-Id: I68301fb2040c9dc5f5650e7dd3fee9c42197e3f7 Task-number: QTBUG-44064 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Secure Transport - handle errSSLBadCert in server modeTimur Pocheptsov2015-03-122-4/+18
| | | | | | | | | | | Suddenly :(( With Security Framework v 7.0 dated by 17/02 SSLHandshake works differently when our server socket is requesting a client side authentication and client provides no certificate. Despite of kTryAuthenticate (this means, auth. _can_ fail) server receives an error from SSLHandshake too early. We have to handle this in startHandshake (when serveMode && canIgnore). Change-Id: Ie55540078e2944e80cf2f4ade8b000acf29d6ca2 Reviewed-by: Richard J. Moore <rich@kde.org>
* Improve rounding in QCosmeticStrokerAllan Sandfeld Jensen2015-03-121-4/+8
| | | | | | | | | | | Fixes the drawn position of end points in drawLine. Based on a patch by Jørgen Lind, and modified so that it caused no test regressions. Task-number: QTBUG-38144 Change-Id: I24aa28480cc6ae09abf91d80378970565a29b254 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Clear backingstore for windows with alpha channel.Morten Johan Sørvig2015-03-122-0/+13
| | | | | | | | | Fixes painting artifacts in translucent windows. Change-Id: I89c198e5636c5387e67ad8839d32dffdc0a149cb Task-number: QTBUG-43017 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix bunch of other segfaults due to null screensJan Kundrát2015-03-121-12/+35
| | | | | | | | | | | | | | | | | | | | | | | This was motivated by a real segfault: #0 QScreen::handle (this=0x0) at qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qscreen.cpp:112 #1 0x00007faaf5d5e85e in QXcbNativeInterface::connectionForWindow (this=this@entry=0x7fab04d684f0, window=window@entry=0x0) at qtgui-5.5.9999/src/plugins/platforms/xcb/qxcbnativeinterface.cpp:483 #2 0x00007faaf5d5fa53 in QXcbNativeInterface::nativeResourceForWindow (this=this@entry=0x7fab04d684f0, resourceString=..., window=window@entry=0x0) at qtgui-5.5.9999/work/qtgui-5.5.9999/src/plugins/platforms/xcb/qxcbnativeinterface.cpp:304 #3 0x00007fab048b8b57 in QX11Info::connection () at /var/tmp/portage/dev-qt/qtx11extras-5.5.9999/work/qtx11extras-5.5.9999/src/x11extras/qx11info_x11.cpp:358 #4 0x00007fab02ce14c6 in NETEventFilter::nativeEventFilter (this=0x7fab04ea5e70, ev=0x7faaec003a60) at kwindowsystem-5.7.0/work/kwindowsystem-5.7.0/src/kwindowsystem_x11.cpp:229 ...at which point I tried to stop playing the get-backtrace-patch-rebuild-repeat cycle and looked at the stuff which looked fishy to my untrained eye. So this is speculative in nature, but I think that each of these cases can be hit and dereference a nullptr. Change-Id: I046debaa1b49fa55e876247fc62f3eb924496fe8 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Remove scrollarea cornerarea when only one scrollbar is visible.Marko Kangas2015-03-121-11/+3
| | | | | | | | | | Changed cornerarea to be visible only if both scrollbars are visible. Removed unused Q_DEAD_CODE_FROM_QT4_MAC hasMacSizeGrip case. Task-number: QTBUG-44084 Change-Id: I4f240268902fa42496befd3754133145d28d4ad6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Get CoreText style name when resolving Qt fontGabriel de Dietrich2015-03-121-11/+4
| | | | | | | | | | | | | Since we use CoreText API to populate the font DB, we should also make sure we use consistent data when doing queries. This partially reverts and ameds b619c35d8507eee. Change-Id: I6a3470fbee719ae1ea3085c252a4870040b9af1a Task-number: QTBUG-41487 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Android: Don't show translucent system UI on top of QtEskil Abrahamsen Blomfeldt2015-03-122-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | On devices by some vendors (Android 4.4+), the default UI theme will have translucent system UI which is placed on top of the main activity layout. When this is unexpected, it may lead to the system UI overlapping with the application's UI on these devices. By default we tell Android to account for the system UI in the main activity's layout, so that the window contents are positioned outside of it. This is done with a new outermost layout which is just used to size the QtLayout correctly. Since there is a use case where people explicitly want translucency on the system UI and have adapted its contents to accommodate for this, we supply the android.app.allow_overlapping_system_ui setting which can be set to true in the AndroidManifest.xml to override the default behavior. [ChangeLog][Android] On devices with translucent system UI, Qt's window is now positioned to avoid overlap with this by default. This behavior can be overridden in the application's AndroidManifest.xml. Change-Id: I2b34e948f3bd655f883f30b0419d9c6ba69242be Task-number: QTBUG-38700 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* iOS: ensure keyboard is visible, even when IM hints hasn't changedRichard Moe Gustavsen2015-03-121-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | When showing a QWindow, we transfer first responder status to its QUIView. If another QWindow was active with a text responder at that point, the text responder will loose first responder status in favor of the new view, and the keyboard will hide. Now, if the new window has a focus object with the same IM state as the previous focus object (in the previous window), m_imeState will not change, and QIOSIntegration::update() will assume that nothing needs to be done to show the keyboard, even if it's actually hidden. This patch will change the logic, so that we: - show the keyboard if its supposed to be visible, even if m_imeState did not change. - Only recreate the text responder if it needs a different configuration than the one we already got (not only from changes to Qt::ImEnabled) Task-number: QTBUG-40695 Change-Id: I6f6788af4cbff5c7abe4f5a29e23a7cefea6b711 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Prepare QIOSIntegration for handling plugin optionsTor Arne Vestbø2015-03-122-13/+23
| | | | | | | | | | QGuiApplication sets options passed to the plugin through -platform as properties on the QPlatformNativeInterface. To handle those we need to inherit QPlatformNativeInterface first (which is the QObject subclass), and include the Q_OBJECT macro. Change-Id: Ia496851c64cbb0036c26e7ed0683d0ecfa8319cc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>