summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix QtDeclarative and QtQml co-existence part three ;(v5.2.0Simon Hausmann2013-12-062-4/+15
| | | | | | | | | | | | | | | | | | Unfortunately the QObject destroyed callbacks for QtQml and QtDeclarative can't be called in sequence, because if the QQmlData has the ownsMemory bit set, then the destroyed callback will delete the QQmlData, and the sub-sequent call to the destroyed callback of qml1 will try to dereference the QQmlData's first bit (ownedByQml1), which is already destroyed. This patch fixes that by simply sharing the assumption of the first bit indicating module ownership (QtQml vs. QtDeclarative) also to qtbase and using it to distinguish between which destroyed callback function to call. Task-number: QTCREATORBUG-10273 Change-Id: I2773a31a3e9b3a1c22d1c1f33b2f29f3296cb3cf Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Windows command line parsing: Do escape backslash.Friedemann Kleint2013-12-061-2/+2
| | | | | | | | | | | | This will break network paths passed as command line arguments. Introduced by 4ff6951550cb6e39c3b31895c3af57037e90c9ac . Task-number: QTBUG-35432 Task-number: QTBUG-30628 Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* enable path replacement in installed prl files on all platformsOswald Buddenhagen2013-12-041-6/+4
| | | | | | Task-number: QTBUG-33794 Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* properly replace windows paths in installed meta filesOswald Buddenhagen2013-12-041-0/+1
| | | | | | | | | | | | | | it's bogus in the first place that the meta files contain windows paths, but straightening that out is a prohibitive effort. so instead generate additional s/// commands which take care of these paths. fwiw, the generated s///i command is a gnu extension. but as we are doing this on windows only where we are using our built-in sed command anyway, this should be fine. Task-number: QTBUG-33794 Change-Id: I46fcc598db12816ee56b5371ab184f6277eb3a22 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Document that disconnectNotify may be called with a mutex lockedOlivier Goffart2013-12-041-0/+13
| | | | | | | | | | And that connectNotify and disconnectNotify might be called from another thread Task-number: QTBUG-34829 Change-Id: Id118b97b92e9aa085a1d4368282294f90cfb1706 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* QComboBox: Don't do anything if wheel event delta is zeroGabriel de Dietrich2013-12-041-1/+1
| | | | | | | | | | This is a consequence of us wanting to show the OS X transient scrollbars as soon as the user touches the trackpad with two fingers. Task-number: QTBUG-35120 Change-Id: Icf63b0ec8c32ac66108822804bb06a0762547ef1 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* QStyle: Fix painting of pixmaps with non-integer devicePixelRatioEike Ziller2013-12-041-1/+1
| | | | | | | | | | | For example QIcon can return pixmaps with non-integer devicePixelRatio, if there is no pixmap that exactly matches the requested size. Task-number: QTBUG-35125 Change-Id: I76bfa2766979a454c24b1abcf9e18930f5671c1e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Android: Fix crash caused by QJNIs classLoader code.Christian Strømme2013-12-041-1/+2
| | | | | | | | | | | | | | In some cases the classLoader is not able to resolve fully-qualified names that contains forward slashes. Unlike FindClass() which expects the fully-qualified name to contain slashes, the classLoader expects the binary name, i.e., with '.' as separator. This caused a crash in QtMultimedia when accessing a nested class. Task-number: QTBUG-35298 Change-Id: I77728352fbab930ae1914bc1cb2189e458e179e2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* iOS: move infoPlistValue to qiosglobalRichard Moe Gustavsen2013-12-043-7/+8
| | | | | Change-Id: If237f08683290105413dc47923e23a496765bb22 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: don't show statusbar if hidden from Info.plistRichard Moe Gustavsen2013-12-041-0/+3
| | | | | | | | | | | | | | | | Currently there is no way to always hide the statusbar on iOS other than showing a window in fullscreen. This patch will check if the statusbar is (initially) hidden from the Info.plist, and respect that in the application. SubAttack is an example of an app that (because of styling issues with MainWindow margins) manually sets the geometry larger than fullsreen, and calls showNormal(). In that case we still want the statusbar to be hidden. Change-Id: Ia365d14971978360d0b39621ff0f8f82f74b57e2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Handle statusbar changes to child windowsTor Arne Vestbø2013-12-043-6/+6
| | | | | | | | | Going through the platform window failed when the parent wasn't created yet. We can still get the window state of an yet-to-be-created top level window. Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Doc: Adjust description of the qreal typedefhjk2013-12-041-4/+2
| | | | | | Change-Id: I038df8034ee00868eeee18b1ed09f7a70e3dd77a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return ↵Morten Johan Sørvig2013-12-041-2/+0
| | | | | | | | | | | | false" This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b, which makes several of the OpenGL examples crash on startup. (textures, hellogl_es2) Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* iOS: fix assert when using QOffscreenSurfaceRichard Moe Gustavsen2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | Qt defaults to creating a QWindow as offscreen surface if QPlatformIntegration::createPlatformOffscreenSurface returns 0. Using an offscreen surface is often done in a background thread, which is problematic, since then a QIOSWindow will also be created in a background thread. According to Apple docs, working with a UIView from other threads than the main thread should not be done. In our case, we instead hit an assert in QApplication that checks for the same. As a quick fix for Qt 5.2, we remove the offending call that causes the assert, since we anyway will call the same function lazily when becoming first responder. Task-number: QTBUG-35378 Change-Id: Id35462f99783a9748c688b163f6497de9bfff73e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Disable drag and drop completely instead of enabling simple d'n'dTor Arne Vestbø2013-12-041-0/+2
| | | | | | | | | The drag and drop event filters do not play nicely with touch events or virtual keyboards. Task-number: QTBUG-35348 Change-Id: Id4d079ae72882f48750d394f13e10700d60e4532 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Improve expose event handling.Morten Johan Sørvig2013-12-043-4/+48
| | | | | | | | | | | | | | | | | | Prevent the cocoa platform plugin from sending expose events for windows that are off-screen or has invalid geometry. Differentiate between initial exposes and geometry update exposes, in order that e.g. geometry updates that happen before setVisible() don't trigger expose events. After the initial expose geometry updates to and from invalid geometry will trigger obscure and expose events. Task-number: QTBUG-35143 Task-number: QTBUG-35091 Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* iOS: fix crash when focusWindow changes while keyboard is openRichard Moe Gustavsen2013-12-041-1/+1
| | | | | | | | | | | | | | | It turns out we cannot rely on QGuiApplication::focusWindow() to be non-zero at all times (e.g when pop-ups are closing etc). So instead use m_focusView.qwindow which points to a valid QWindow. This window is the same as QGuiApplication::focusWindow most of the time, except when a focus window closes. For those cases we get a new call to scrollRootView immediately after with m_focusView updated to reflect the new focusWindow. Task-number: QTBUG-35339 Change-Id: Icb3a8d3140af1f1904495a9289c8c26ab79e70f6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: fix crash when application quitsRichard Moe Gustavsen2013-12-041-3/+7
| | | | | | | | | | | | | | | An application will sometimes crash if the keyboard is told to hide while the application is about to quit. This patch will ensure that we set m_qioswindow (and [UIView qwindow]) to 0 when the window is destroyed. We also check this pointer before telling QUIView to resign first responder when closing the keyboard. The latter will fix the crash. Task-number: QTBUG-35356 Change-Id: I934088beb7e877c5b33d96225cb215a8ffd4dbb2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* qdoc: Fix output filenames for QML basic type documentationTopi Reinio2013-12-041-8/+8
| | | | | | | | | | | | | | | qdoc intends to prepend all html files related to QML with a 'qml-' prefix. This doesn't work for basic QML types, as those nodes do not have valid qml module name information. This change fixes the issue by removing the requirement for a qml module name, thereby always using the qml prefix for a qml (basic) type. Task-number: QTBUG-35229 Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix style animations to stop when the animation target is hiddenJ-P Nurmi2013-12-044-13/+19
| | | | | | | | | | | | QStyleAnimation automatically stopped for hidden QWidgets, but didn't know anything about QQuickItems and kept animating regardless of their visibility. This change ensures that style animations stop as soon as the animation target no longer accepts the animation update eg. it has become hidden or the window was minimized. Task-number: QTBUG-35319 Change-Id: Ie48191fd918c626c0d9afe2e7d2390c495efb071 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* qdoc: Replaced hard-coded href with computed hrefMartin Smith2013-12-032-1/+5
| | | | | | | | | | | | | | | For enum types that have QFlags versions, qdoc was outputting the documentation with a hard-coded link to qflags.html, which only workjed in the single directory mode. When qdoc outputs modular documentation, the href for the link should be "../qtcore/qflags.html" . Now qdoc computes this href correctly before it writes the docs. The href is no longer hard-coded. Task-number: QTBUG-35209 Change-Id: Ibdf5b11dbd063726eb77048de78f8874c65752ca Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: fix application hangs when opening keyboardRichard Moe Gustavsen2013-12-031-6/+2
| | | | | | | | | | | | | | | | | | | | QIOSInputContext controls QUIViews first responder status based on whether or not the keyboard should be open. But since QGuiApplication updates focusObject before focusWindow (when e.g a popup closes), we sometimes ended up activating the old window upon a call to becomeFirstResponder. This in turn led the application to hang because of recursive dependencies in qioscontext when the focus window changed. So the solution for now is to avoid activating the window when the view becomes first responder. This should be fine since we now activate the window from QIOSWindow::requestActivateWindow (ref: 6272a816d1) Task-number: QTBUG-35340 Change-Id: I3068c14fec18d84d4b0b348a043c4c054e366c75 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QtConcurrent: Workaround GCC bug 58800 in median calculationNikolai Kosjar2013-12-031-0/+9
| | | | | | | | | | 1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2) 2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2. Task-number: QTBUG-35058 Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use Q_QDOC for Qt namespace declaration in Qt GuiTopi Reinio2013-12-031-0/+2
| | | | | | | | | | | | This is a workaround for letting qdoc to successfully generate documentation for the Qt namespace. qdoc doesn't properly handle multiple declarations for the same namespace spread across multiple modules. Task-number: QTBUG-35230 Change-Id: I449b17e1171d1a4481b9cf07cd48c803feed5be9 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Cocoa: Mouse enter events on window activation.Christoph Schleifenbaum2013-12-033-0/+14
| | | | | | | | | | | | | This patch tells the window system that it should create a mouse enter event if a window was activated when the mouse was inside. This wasn't working and was a regression. Task-number: QTBUG-35109 [ChangeLog][Cocoa] Fix enterEvent not being called on activate. Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Default to 5.2 source repository for Qt 5.2.xBogDan Vatra2013-12-032-2/+2
| | | | | | | | | We can't use latest anymore because the qreal change is not back compatible and all the apps that used latest will stop to run when Ministro will upgrade the libs. Change-Id: I5286e72eccf86b4dead773a637aa28e29d120605 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Docs: add important QWheelEvent::phase() related notesJ-P Nurmi2013-11-291-0/+15
| | | | | | | Change-Id: I4901b96b44b7c1179e678689af5962cb4570d50d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: corrected invalid ref. to output iteratorsNico Vertriest2013-11-291-4/+4
| | | | | | | Task-number: QTBUG-34749 Change-Id: I7abd504b6081e84a8e67c7957e13d402999e9d38 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* iOS: Update screen properties when we trigger statusbar changes on iOS7Tor Arne Vestbø2013-11-291-5/+14
| | | | | | | | | Ideally we'd have a callback from iOS when this happens, so we can also react to changes done outside of Qt, but willChangeStatusBarFrame and friends do not seem to give us what we want. Change-Id: I686ce7950395a83c4257372363c773a95c3935ed Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Forward [UIApplicationDelegate handleOpenURL:] to QDesktopServicesTor Arne Vestbø2013-11-293-0/+46
| | | | | | | | | | | | | | | | | | The user may use QDesktopServices::setUrlHandler() in combination with the appropriate Info.plist keys (CFBundleURLTypes, CFBundleURLSchemes) to react to URL requests from other applications. This is among other things useful for handling OAuth authentication from applications such as Dropbox. See: https://www.dropbox.com/developers/core/start/ios We protect against recursive URL opening, but an application may still redirect a request to open a URL by opening another URL, eg a website. Task-number: QTBUG-35201 Change-Id: I9f1d246206c5594b1b65bb11fa98c6bcdefc443e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix invalid memory read when shutting down QML applicationsSimon Hausmann2013-11-291-1/+1
| | | | | | | | | | | | | As the last line in the QObject destructor, we call setParentHelper(0) to remove ourselves from the parent. In the process of that we also initiate the QML parentChanged callback. The first thing that parentChanged callback used to do (but now does it too late, after 26350b5ceafa0ade1328037f6234a7d288eb8f48 in qtdeclarative) is to check if the object was deleted and then return. We could re-introduce the check there, but I think it's cleaner to not bother calling the callback on a dead object in the first place. Change-Id: Ia4d43b65a9b3744a451b4c312a2d6f9c0e3b67dc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Revert "Store the font's scalability in QFontEngine."Yoann Lopes2013-11-273-5/+1
| | | | | | | | | | | | This reverts commit 65b12fbdb13d34c61bcadd5cc8fd6ee28a8dfafd. QFontEngine is not always loaded from QFontDatabase, resulting in the flag not being set. Change-Id: I39bc5bd4a8dea153d191cfc55f4324195f75f64c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QNX: Fix retrieving the window group nameFrank Osterfeld2013-11-271-2/+4
| | | | | | | | | The code assumes that there is a root window, and crashed otherwise. Task-number: QTBUG-35121 Change-Id: Idbf0e0bfc03cd427f0aab81db88b34fe94228c81 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* CoreWLan: Fix potential unhandled exception assertGabriel de Dietrich2013-11-262-4/+6
| | | | | | | | | | -[QNSListener notificationHandler:] was declared as not taking any parameter, but used as taking a single NSNotification. This would lead to an 'unrecognized selector' exception raised by Cocoa. Task-number: QTBUG-26844 Change-Id: I56d03a7738c2a1b9dcf3cdecc696b01e65d7b233 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Android: Remove invalid error messageEskil Abrahamsen Blomfeldt2013-11-261-3/+1
| | | | | | | | | | All usage of context menus prints out an error message because onContextMenuClosed() is called more than once. We just return silently instead if the method is called after the menu has already been closed. Change-Id: Ifa27ed42d188fdf670f09c4b1450b9fec0d5941f Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Fix for co-existence of QtDeclarative and QtQmlSimon Hausmann2013-11-262-2/+8
| | | | | | | | | | | As a follow-up to commit 2f87fde9bb4bad6787101c0d135419b350b201a5, we also need to change "hack" in the QGraphicsItem and QWidget destructor for early item destruction to support the _qml1 variant of the QObject destroyed callback. Task-number: QTBUG-35006 Change-Id: I65e37b1e9ddd8d14267aaba024408611b8cd3d77 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix deadlock when disconnecting connections made with function pointersv5.2.0-rc1Olivier Goffart2013-11-261-3/+2
| | | | | | | | | | | | | The regression was introduced in 5885b8f775998c30d53f40b7f368c5f6364e6df4 QMetaObjectPrivate::disconnectHelper may unlock the sender mutex. And while relocking it, we need to make sure to lock the sender and receiver mutex in the right order. So don't lock the receiver mutex in advance, but re-lock it for each connection. Change-Id: I4f6d19791cdcce3693d7f45e7beb6b564fd69277 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix a race that occurred as we unlock the mutex to destroy the functor in ↵Olivier Goffart2013-11-261-4/+16
| | | | | | | | | | | | | | | | | | | | | ~QObject When we unlock the mutex, we need to take in account that the Connection pointed by 'node' may be destroyed in another thread while it is unlocked Doing 'node->prev = &node' will make sure that 'node' is actually updated when it is destroyed. Setting isSlotObject under the mutex is safer and ensure that no other thread will attempt to deref the object. The regression was introduced in 5885b8f775998c30d53f40b7f368c5f6364e6df4 tst_qobjectrace was updated to catch races arising when we are connecting with function pointers. Change-Id: Ia0d11ae8df563dad97eb86993a786b579b28cd03 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Update statusbar visibility and screen properties before window geometryTor Arne Vestbø2013-11-252-8/+12
| | | | | | | | | | | | When setting a new window state. Otherwise we set the geometry based on the old screen properties, and then rely on the properties causing another window layout, which may not always happen. We also need to explicitly update the screen properties when the statusbar changes visibility, as there are no callbacks from iOS that consistently gives us that information. Change-Id: I1c3328aa3f34d294bc7db8884e611d205fd2c761 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Prefer window states over geometry-heuristics when laying out windowsTor Arne Vestbø2013-11-251-2/+6
| | | | | | | | | A window that was resized to the full screen size of the screen would otherwise always stay in full screen, even if the window state was maximized. Change-Id: I4720f7b6ad1d85658ea96c6da0515693e8c827f3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Don't warn about QBackingStore::resize() != window.size() for widgetsTor Arne Vestbø2013-11-251-1/+1
| | | | | | | | | | | QtWidgets uses stale geometry data to do its backingstore resizes in a lot of places, eg QWidgetPrivate::setGeometry_sys() and show_sys(). As the resize doesn't have any effect for our GL backingstore anyways we can skip the warning to keep console noise down. Change-Id: Ie578f7faf35985708fddd0bfca4a7080820192c5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* iOS: Don't enable translucent statusbar for iOS6 on iPadsTor Arne Vestbø2013-11-251-2/+5
| | | | | | | It's only available on iPhone/iPods. Change-Id: I61b45c84ddb2b3db46fff36286a6582406fa7d26 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Revert "Android: Use native platform menus."Eskil Abrahamsen Blomfeldt2013-11-251-8/+0
| | | | | | | | | | | | This reverts commit 98f0b4668999d677d8bf91d57ac095d96e7a661c. The native menu popup would never exit its event loop, because there's no listener for the closing of the menu. Since this is very last minute and the change is not ready, we revert it and use the widget menus instead. Change-Id: Ie9ae707300a265130a90d1ccb5f093f50cc0b2fb Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* iOS: close keyboard upon hitting key 'done'Richard Moe Gustavsen2013-11-251-1/+4
| | | | | Change-Id: I0098cc4d51ca600ba48baa15ed9c16e56529b947 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: update keyboard layout upon focus transferRichard Moe Gustavsen2013-11-252-2/+19
| | | | | | | | | | | | | | | | | | | | When iOS transfers focus from one view to another, it asks the new view for its UIKeyInput properties before deciding how the keyboard should be configured. For Qt, the same QUIView is used for the whole QWindow which means that UIKit will not change the keyboard configuration just because we change the focus object in Qt, since the UIView does not change. There seems to be no way to tell UIKit that the keyboard needs to change becuse the UIKeyInput properties has changed. To work around this, we briefly resign first responder status, and grabs it again, for the same QUIView. Change-Id: I2d15cc0c928deb023e7da58ad4669b7099dce2cf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: add [QUIView updateTextInputTraits]Richard Moe Gustavsen2013-11-251-9/+43
| | | | | | | | | | Configure QUIView text input traits from IM hints returned by the focus object when the view becomes first responder. This will affect the layout of the virtual keyboard. Change-Id: Ib140ba69d01cc747f3ac3cdd70dd2e7daede26b0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: don't loose precision when converting CG typesRichard Moe Gustavsen2013-11-254-15/+16
| | | | | | | | | CGRect and CGPoint consist of CGFloat variables. So we should convert to QRectF and QPointF rather than QRect and QPoint. Change-Id: I76f180e4064f54d5810c49b88fdbbcd914bdb686 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: don't scroll after inputItem has movedRichard Moe Gustavsen2013-11-252-0/+16
| | | | | | | | | | | | If the inputItem moves, it typically means that the user scrolls or flicks the focus item around. In that case we should avoid scrolling the screen, otherwise they will "cancel out" each other. Besides, when the user flicks, he takes control over the whereabouts on the screen anyway. Change-Id: Iad0762965f9dcdbcca934ce6d90a8c1413ce3ca2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: scroll screen when keyboard opensRichard Moe Gustavsen2013-11-253-14/+131
| | | | | | | | | This change will let QIOSInputContext scroll the root view when the virtual keyboard is open, so that the input cursor is not obscured. Change-Id: If0758f4bf04c2b8e554e0196451154def7e3cb86 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Allow for QtDeclarative and QtQml to co-exist at run-timeSimon Hausmann2013-11-252-3/+9
| | | | | | | | | | | | | | | | | | | | | | | Qml has a bunch of hooks in QObject, that are callbacks as function pointers when things happen in QObject. QtDeclarative (Qml1) only needs one callback, for object destruction. In preparation for allowing both run-times to co-exist, this patch forks the callback, keeping the "default" variant for QtQml and having a *_qml1 variant for QtDeclarative. QtQml continues to set the callback variable for the default and QtDeclarative will set the _qml1 variant. It is however a limitation that a QObject instance can only be exposed to _one_ engine at a time, and it is not possible to make a transfer. Double exposure will result in crashes. This patch alone is not sufficient to fix the bug, the QQmlData/QDeclarativeData structures in Qml1 and Qml2 need to be extended to allow distinction at run-time. Task-number: QTBUG-35006 Change-Id: I3bac023873b5656a8a4f117fe816bafcda77b67d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>