summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/androidjniinput.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Android: populate TouchPoint rotation and axes correctlyShawn Rutledge2017-01-041-6/+8
| | | | | | | | We model each TouchPoint contact patch as an ellipse now, which is consistent with Android APIs. Change-Id: I4edfbebfb5e1ab6686dba0ec924bfcfbbd6ff0f4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Android: fix (partially) text deletion when the cursor is movedBogDan Vatra2016-12-131-1/+1
| | | | | | | | | | | | | | | | - wait until the handle location changes the cursor position - don't update cursor position if: * a batchEdit is in progress * the UpdateSelection is blocked - finish the composing before update the cursor - add the missing .java files There are still corner situations when the text gets deleted/moved, but those are pretty rare and they will be fix in another patch. Task-number: QTBUG-57507 Change-Id: I230d7f64625fb556e1be3069694a71e9bc91323a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Android: Show the edit menu when things are selectedOlivier Goffart2016-08-211-0/+4
| | | | | Change-Id: I3647fa39469c87bcc08bb439546e5e61c535c71d Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android selection handlesOlivier Goffart2016-08-181-2/+28
| | | | | | | | | This commits implement the cursor and selection handle in the platform plugin. Task-number: QTBUG-34867 Change-Id: Icb3fd9ddfd9f4152e2004078a92a3d9502e9113c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-201-0/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | And blacklisted a few tests in tst_QUdpSocket. Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtNative.java src/corelib/global/qglobal.cpp src/corelib/global/qsystemdetection.h src/corelib/io/qfileselector.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp tests/auto/network/socket/qudpsocket/BLACKLIST Task-number: QTBUG-54205 Change-Id: I11dd1c90186eb1b847d45be87a26041f61d89ef6
| * Android: Don't send tabletEvent when it's not supportedVyacheslav Koscheev2016-06-161-0/+12
| | | | | | | | | | | | | | | | | | | | If QT_NO_TABLETEVENT defined, then there is no sense to create tablet events. Its better to create general touch events in this case. Task-number: QTBUG-53887 Change-Id: I2fabc2241158d54d6c39a2f6071ab874f7debd39 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QtBase (remainder): use printf-style qWarning/qDebug where possible (I)Marc Mutz2016-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Had to fix broken qImDebug() definition. Instead of defining it as a nullary macro in the QT_NO_DEBUG case and as a variadic macro in the other, define it in both cases, as is customary, as a non-function macro so that overload selection works without requiring variadic macro support of the compiler. Saves e.g. ~250b in text size in QtPrintSupport on optimized GCC 5.3 AMD64 builds. Change-Id: Ie30fe2f7942115d5dbf99fff1750ae0d477c379f Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-151-13/+19
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Android: Implement QInputMethod::keyboardRectangleOlivier Goffart2015-12-071-2/+30
| | | | | | | | | | | | | | | | | We can use getWindowVisibleDisplayFrame to know the height on the keyboard, and we can use getLocationOnScreen to find out how much the view is scrolled. Since onPreDraw is always called when the view is scrolled or when the keyboard appears or disapear, we can call the native functions from there. This is not working for floating keyboards. [ChangeLog][Android] Implemented QInputMethod::keyboardRectangle Task-number: QTBUG-40731 Change-Id: I7848eb34fece410b29a06bf0bbb2313112fffa68 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Libraries: Fix single-character string literals.Friedemann Kleint2015-10-131-2/+2
| | | | | | | Use character literals where applicable. Change-Id: I8e198774c2247c1cc1d852a41b59b301199b7878 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Android: Add support for EnterKeyKai Uwe Broulik2015-08-111-4/+6
| | | | | | | | | QAndroidInputContext now sends along the EnterKey type provided by the EnterKey input method query enabling the QtActivityDelegate to set the imeOptions for the TextView accordingly. Change-Id: Ic96077ab4b11cf6dec52283ecf66b2cabe7af665 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Android: generate QTabletEvents for stylus devices such as the S PenShawn Rutledge2015-05-211-0/+47
| | | | | | | | | | | | | | | For example the Galaxy Note series of devices. This makes possible drawing applications which handle stylus events differently from touch or mouse. As on any other platform, if the application does not accept the QTabletEvent, a QMouseEvent will be synthesized. Also fix the tablet manual test to show larger circles on hidpi devices. [ChangeLog][Android] stylus devices such as the S Pen generate QTabletEvents Task-number: QTBUG-38379 Change-Id: Ib594f453b8403cc06aa4e440a76f07afa3bac38c Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Pass on the auto repeat information for key eventsAndy Shaw2015-04-151-6/+6
| | | | | | Task-number: QTBUG-45340 Change-Id: Iecc55987fa784e4bf14317d9d4a085a8f0b58451 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-6/+6
| | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-101-22/+21
|\ | | | | | | | | | | | | | | Conflicts: doc/global/template/style/online.css mkspecs/android-g++/qmake.conf Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
| * Added support for CTRL key modifier to Android builds.Przemysław Czerpak2014-12-081-22/+21
| | | | | | | | | | Change-Id: Ib3eddb33348c54cec6cee62abdf69104059affb0 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-241-42/+17
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice.cpp src/plugins/bearer/linux_common/qofonoservice_linux.cpp src/plugins/bearer/linux_common/qofonoservice_linux_p.h src/plugins/platforms/android/qandroidplatformtheme.cpp src/tools/bootstrap/bootstrap.pro src/widgets/styles/qmacstyle_mac.mm Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
| * Android: Simplify the jni code in QtAndroidInputChristian Strømme2014-11-031-42/+17
| | | | | | | | | | | | | | | | Let the QJNI classes manager the jni environment and caching of jni handles. Change-Id: I8c238375026adf449d6e6e2b521caa6cd63a0fb4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-291-31/+16
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * Android: Avoid deadlock in Qt.inputMethod.visiblePaul Olav Tvete2014-09-021-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | A blocking isSoftwareKeyboardVisible() is a deadlock waiting to happen: when the android input method performs blocking metacalls from the android thread to the GUI thread all the time, we cannot block the GUI thread waiting for the android thread. Task-number: QTBUG-40750 Change-Id: I2490897b0f65e0d92214907e239b10b372d949dd Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Android: Fix crash at shutdown when keyboard is visibleSérgio Martins2014-08-281-1/+2
| | | | | | | | | | | | | | | | | | This is a follow-up to 4c6ebe5f9e4ddc0d799a0f2bf4aef9f7e48e0dfb. Crash was still 100% reproducible for me with the previous fix. Task-number: QTBUG-40957 Change-Id: Ie59cfe4f1fc746251fe06ba96369738098b2a35f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Android: use qEnvironmentVariableIntValue()Marc Mutz2014-09-121-1/+1
|/ | | | | | | | It doesn't allocate memory, so cannot throw and is a lot faster than qgetenv(). Change-Id: I6d79852613228658f9093a272edf9b434e60286c Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Android: Fix namespace usageChristian Strømme2014-06-301-0/+4
| | | | | | | This change makes it possible to set a Qt namespace for Android builds. Change-Id: I79f4ae8200223f36f97e2849aae49e45b8850d23 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Add unhandled Android keys.BogDan Vatra2014-04-091-151/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort case values. The following new keys were added: KEYCODE_F1 -- KEYCODE_F12 KEYCODE_NUMPAD_0 -- KEYCODE_NUMPAD_9 KEYCODE_AT KEYCODE_PAGE_UP KEYCODE_PAGE_DOWN KEYCODE_ESCAPE KEYCODE_CTRL_LEFT KEYCODE_CTRL_RIGHT KEYCODE_CAPS_LOCK KEYCODE_SCROLL_LOCK KEYCODE_META_LEFT KEYCODE_META_RIGHT KEYCODE_SYSRQ KEYCODE_BREAK KEYCODE_MOVE_HOME KEYCODE_MOVE_END KEYCODE_MOVE_INSERT KEYCODE_FORWARD KEYCODE_MEDIA_PLAY KEYCODE_MEDIA_PAUSE KEYCODE_NUM_LOCK KEYCODE_NUMPAD_DIVIDE KEYCODE_NUMPAD_MULTIPLY KEYCODE_NUMPAD_SUBTRACT KEYCODE_NUMPAD_ADD KEYCODE_NUMPAD_DOT KEYCODE_NUMPAD_COMMA KEYCODE_NUMPAD_ENTER KEYCODE_NUMPAD_EQUALS KEYCODE_NUMPAD_LEFT_PAREN KEYCODE_NUMPAD_RIGHT_PAREN KEYCODE_BOOKMARK KEYCODE_BRIGHTNESS_DOWN KEYCODE_BRIGHTNESS_UP KEYCODE_MEDIA_AUDIO_TRACK Change-Id: I599e9e46ea720e52004a53747d6b21fc7a44262e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android input method improvementsPaul Olav Tvete2014-03-181-17/+0
| | | | | | | | | | | | | | Use the new inputmethod query API. and get rid of the hack where we would move the cursor back and forwards to make sure that the Android software keyboard noticed that the cursor had moved. The android plugin now uses absolute positions instead of position within the paragraph for all cursor handling (provided that the control supports the new API). Task-number: QTBUG-37511 Change-Id: I03463dbbcb4acbfa41e2eab06889d021d50da01f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: Use proper empty strings in key eventsPaul Olav Tvete2014-03-141-2/+8
| | | | | | | | | | | A key event with no unicode would get a text of "\0" instead of the empty string. This would lead to various widgets interpreting the Key_Back event as text input, meaning that it would be grabbed by the widget instead of being propagated. Task-number: QTBUG-35784 Change-Id: Ibdb0e491572e41dd1aaf3b03ae1a780731f0559a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Support multiple native surfaces on Android.BogDan Vatra2014-01-171-0/+606
Support for multiple native surfaces is needed by applications that need to mix raster windows with GL windows. Rework the raster and opengl implementation, get rid of eglfs and fbconvenience dependencies. Create a single android platform plugin. [ChangeLog][Android] Rework the raster and opengl implementation. [ChangeLog][Android] Create a single android platform plugin. Task-number: QTBUG-34650 Change-Id: I9b1ab51554823329dda8cfbf8fef27c38f917c7b Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>