Commit Graph

390 Commits (dd23ed3dbddcfd8a04b9fb63ba6ad62dce8ffa3b)

Author SHA1 Message Date
J-P Nurmi 97eec16e4f Android: fix missing wheel events
Change-Id: I65b4f6a8fcbdad537a984064e332a4a1f34a265a
Task-number: QTBUG-43669
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-18 12:59:14 +00:00
BogDan Vatra ea568c310d Android: Fix RTL selection handles directions
Invert the selection handles icons when the selected text is rtl.

Task-number: QTBUG-61073
Change-Id: I8339a14d1e4d9e79d218516daf3ac783911f6026
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-06-13 04:00:16 +00:00
Christian Strømme da104aa308 Android: Remove no-op call to processEvents()
The call does nothing as it's always called from the Android thread,
meaning there are no events, or even eventloop.

Change-Id: I6c03b6ebe74bc52af45bc295b42aa01ad6d51157
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 22:34:59 +00:00
Christian Strømme 235b4cac1d Android: Remove unused struct
Change-Id: Iddb4fec951c4dfa8c1052fb18ed62504d28a4792
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 22:34:52 +00:00
Christian Strømme b684ed6bd7 Android: Properly update geometry once the platform plugin is ready
This is amends commit 9091a058bc to make sure we don't drop
geometry updates that are set before the platform plugins is ready.

Task-number: QTBUG-60963
Change-Id: I4489eb9329bb8983458ad328a43b85382bba3cf6
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-08 15:44:21 +00:00
Oleg Yadrov e2e874415e QClipboard: make dataChanged() signal work on Android
This part has not been implemented before.

Also replace deprecated android.text.ClipboardManager with modern
android.content.ClipboardManager.

Task-number: QTBUG-58548
Change-Id: I190208042af8a6c87ed391c6c72f3f51e58dfad3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-05-04 19:43:33 +00:00
Liang Qi 94c576cf66 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: I3bd83a839b16822035ed56a5cffe77bd6bc3f08d
2017-04-12 20:08:56 +02:00
Christian Strømme 9091a058bc Android: Fix application state tracking
- Make sure we don't process state changes before the platform plugin
is completely created and registered.
- Protect shared data with mutexes.
- Don't update the application state from different threads.

This was causing issues when testing run-time permission checks, when
the application quickly switches state due to permission dialog being
shown. In this case the states would be incorrectly delivered when the
application was made active again.

Change-Id: I3446eab9414ee5437cd788c27d65f808d1314aa5
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-04-11 11:58:02 +00:00
BogDan Vatra 6c4cbd4122 Android: Fix crash at exit
We need to remove and release the surface imediately, otherwise
setSurface might be called after the object is deleted.

Task-number: QTBUG-59818
Change-Id: I3a09e3de1ceecc22d8d7a48e2fc1cfe40cf09f0a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-04-10 15:27:20 +00:00
BogDan Vatra 2099709a72 Fix build: Remove unused variable
Change-Id: Ib5e7782e23eb1ff976caedd167d3df8b857d9883
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-10 10:46:43 +00:00
Liang Qi c50f6a8329 Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9 2017-04-06 14:35:54 +00:00
Liang Qi 0fc569184c Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
	src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp
	src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
	src/widgets/widgets/qtabbar.cpp

Change-Id: Iaa9daee5f7a6490d56257a3824730a35751ceb05
2017-04-06 14:16:31 +02:00
Kai Koehne 65a551816f Replace last occurrences of LGPL3, LGPL3-COMM headers
Change-Id: I0e967120d7bdfa00f110b49e6c65d8c6f9b329aa
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2017-04-06 08:13:54 +00:00
Marco Martin 9ae028f507 Environment variable enabling the workaround FBO readback bug
On some ARM devices the font glyph generation is broken
Add an environment variable to enable workaround_brokenFBOReadBack
in QOpenGLContext, to fix font rendering on such devices as
Mali and Adreno

Change-Id: I9cc99ecb8b71a35bc369ec9dd11b877016b1179e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-04-05 10:04:54 +00:00
Tor Arne Vestbø e33b0118b4 Rename QBasicFontDatabase to QFreeTypeFontDatabase which is what it is
Change-Id: I8def2f7ae1e4c8d8a3e1f8e60549da5d691e4fb3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-04 09:23:52 +00:00
Liang Qi e52eb747b1 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: I4788bc037c55c48563ffd4ba9633a22aa1d12f22
2017-03-28 12:18:11 +02:00
BogDan Vatra 1ab60b0430 Make sure we quit qt when the service is destroyed
Task-number: QTBUG-58471
Change-Id: I37f162717f57323136811a8f80d53e3c3b7d6f22
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-03-27 12:20:40 +00:00
Liang Qi 7702fe8602 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: Icdd71e9713725bda9c305e338f5c8b41a92ed8e8
2017-03-27 10:42:08 +02:00
BogDan Vatra da4b91e2b2 Fix hang on sleep/wakeup
This patch fixes the followings:
- call "it.value()" only on valid iterators
- destroySurface() doesn't remove the surfaceId from m_surfaces
- the surfaceId is removed from m_surfaces when the QtSurface is really
destroyed

Task-number: QTBUG-59185
Change-Id: Iee37dde16fee16f19906812c55c1f0b0279b033c
Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-03-23 08:06:30 +00:00
Liang Qi 65faf45655 Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/plugins/platforms/eglfs/eglfs-plugin.pro

Change-Id: Id76cdbb41b7758572a3b8ea4dcb40d49bac968db
2017-03-21 19:07:53 +01:00
Konstantin Ritt b21069d6fa Android: Fix Accessibility items positioning with QHighDpi enabled
the View's position and metrics are in pixels, not points

Change-Id: I285d5378db98187f54019bff9b8a1cde05dc3b35
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-03-16 20:05:34 +00:00
Liang Qi de49839df8 Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	mkspecs/features/moc.prf

Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
2017-02-24 20:01:42 +01:00
Eskil Abrahamsen Blomfeldt 440ccba0ab Android: Fix OpenGL shader compilation on updated emulator
In 0ae4b948515af904dba397448839056d9b7965af, we added a work-around
specifically for the Android emulator, causing it to override the
precision qualifiers in shader code, since the emulator would send
the shader code directly to the host OpenGL driver and thus there
was no guarantee that the qualifiers would be supported.

Since then, the original issue with the emulator has been fixed,
so now Qt applications are failing because of the work-around.

[ChangeLog][Android] Removed old work-around which was causing
OpenGL shader compilation to fail on updated Android emulators.

Task-number: QTBUG-44697
Change-Id: I0da879b3a8fbe7cb2d0969cdf45664d0b3499891
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-23 07:56:14 +00:00
Tor Arne Vestbø c585802e94 QWindow: Remove "_q_foreignWinId" dynamic property
The platform plugins reading this out of the QWindow was a layering
violation, and propagates the notion that a window can shape shift
into representing a new native handle, while none of the platform
plugins support this.

A foreign QWindow is created via the factory function fromWinId(),
at which point we can pass the WId all the way to the platform
plugin as function arguments, where the platform will create a
corresponding platform-window.

The platform window can then answer the question of whether or
not it's representing a foreign window, which determines a few
behavioral changes here and there, as well as supplying the
native window handle back for QWindow::winId();

[ChangeLog][QtGui][QWindow] The "_q_foreignWinId" dynamic property
is no longer set nor read.

[ChangeLog][QtGui][QPA] The function createForeignWindow() has been
added to QPlatormIntegration and is now responsible for creating
foreign windows. The function isForeignWindow() in QPlatformWindow
has been added, and platforms should implement this to return true
for windows created by createForeignWindow().

Task-number: QTBUG-58383
Change-Id: If84142f95172f62b9377eb5d2a4d792cad36010b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-02-22 07:58:07 +00:00
Tor Arne Vestbø a57f2128b1 Add QPlatformWindow::isForeignWindow()
Simplifies code at call sites and allows for refactoring how to decide
if a window is foreign or not at a later point.

Change-Id: Icc51a83bac187f4975535366b53b4990832b6c82
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-09 14:10:17 +00:00
Liang Qi dd756011da Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	configure.json
	mkspecs/win32-icc/qmake.conf

Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f
2017-02-08 15:49:18 +01:00
Vyacheslav Koscheev d0b8356e7e Android: Fix data race in QAndroidEventDispatcherStopper
Change-Id: If5f8406d7af2d91e267a0ba380e73287feabac9f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-07 08:40:40 +00:00
Liang Qi 318b58562a Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	.qmake.conf
	mkspecs/common/msvc-desktop.conf
	mkspecs/common/msvc-version.conf
	mkspecs/common/winrt_winphone/qmake.conf
	mkspecs/features/mac/default_post.prf
	mkspecs/features/mac/sdk.prf
	mkspecs/features/qt.prf
	mkspecs/features/uikit/default_post.prf
	mkspecs/features/winrt/default_pre.prf
	mkspecs/winphone-arm-msvc2013/qmake.conf
	mkspecs/winphone-x86-msvc2013/qmake.conf
	mkspecs/winrt-arm-msvc2013/qmake.conf
	mkspecs/winrt-x64-msvc2013/qmake.conf
	mkspecs/winrt-x86-msvc2013/qmake.conf
	qmake/generators/win32/msvc_vcproj.cpp
	src/gui/kernel/qwindowsysteminterface.cpp
	src/network/kernel/qhostaddress.cpp
	src/plugins/platforms/mirclient/qmirclientplugin.cpp
	src/plugins/platforms/mirclient/qmirclientplugin.h
	src/widgets/util/qsystemtrayicon.cpp
	tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
	tools/configure/Makefile.mingw
	tools/configure/Makefile.win32

Done-with: Jake Petroules <jake.petroules@qt.io>
Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe
2017-01-25 20:06:06 +01:00
Dmitry Chmerev c5332859c8 Fix QRect calculation in inputItemRectangle
Because of QRect's width and height are caluculated values, they got
spoiled after x and y values setting.

This bug affects, in particular, Android software keyboard appearance:
it could overlap focused input field.

Change-Id: I27ccca27111219818722951fe6f463388d76c702
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-01-11 14:08:34 +00:00
Shawn Rutledge 80fa5f6e76 Android: populate TouchPoint rotation and axes correctly
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>
2017-01-04 14:46:25 +00:00
Liang Qi b131503361 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	configure
	configure.pri
	examples/widgets/painting/fontsampler/mainwindow.cpp
	examples/widgets/painting/fontsampler/mainwindow.h
	mkspecs/features/moc.prf
	src/corelib/global/qglobal.h
	src/gui/text/qtextdocument.cpp

Change-Id: Ica65512e00871695190a14ccea5c275b0165f787
2016-12-16 16:38:33 +01:00
Liang Qi 9bfe3ab71e Merge remote-tracking branch 'origin/5.8.0' into 5.8
Conflicts:
	doc/global/qt-cpp-defines.qdocconf
	src/plugins/platforms/android/qandroidplatformopenglcontext.h
	src/plugins/platforms/android/qandroidplatformtheme.h

Change-Id: I13d51cc66f708138ff4d667ceea7d515992e58a4
2016-12-16 09:45:16 +01:00
Andy Nichols 9d8db91ada Android: Enable Adoption of ANativeWindow handle as a QOffscreenSurface
This is done by adding an API to QOffscreenSurface to enable setting a
native handle which can represent a native offscreen surface.  When
using the TexureView it is necessary to render to SurfaceTexture objects
which are exposed as offscreen window surfaces.  After wraping a
SurfaceTexture in a android.view.Surface object and passing it to C++
via the JNI, it is possible to get the needed ANativeWindow* handle
required to pass to eglCreateWindowSurface. So by setting this native
handle Qt can then render to this "native" offscreen surface.

Change-Id: If7fc5ac7ac588fe6c3a6fb883ea7e439d095470f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-12-14 15:51:23 +00:00
BogDan Vatra 36e4b13e29 Android: fix (partially) text deletion when the cursor is moved
- 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>
2016-12-13 05:14:40 +00:00
Alexander Volkov a76579d956 Android: Add missing override
Change-Id: I70b802517d8f7d129ffb71dc3e92cb2458a55acc
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
(cherry picked from commit e3ad43843a)
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-12-09 18:23:26 +00:00
BogDan Vatra 2d1378836c Android: remove unused variable
Fix compilation with -Werror

Change-Id: Iae6068f9eeb92dd1a96b11f6bb7017b97a8486fb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-12-09 18:23:19 +00:00
Laszlo Agocs 8005e0652c QAndroidPlatformOpenGLContext: fix adopting of existing native contexts
Change-Id: I854bbc511d89578c6a893015b21358f08ed8f5a6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-12-09 06:31:31 +00:00
Alexander Volkov 4c375f75e0 Android: Use override instead of Q_DECL_OVERRIDE
... for consistency.

Change-Id: I37afaff6f7512a1cd09f0f31996b9bedc6cb3bab
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-11-29 15:42:14 +00:00
Alexander Volkov e3ad43843a Android: Add missing override
Change-Id: I70b802517d8f7d129ffb71dc3e92cb2458a55acc
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-11-29 15:29:28 +00:00
Liang Qi a732576a66 Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
	config.tests/win/msvc_version.cpp
	configure.pri
	mkspecs/macx-ios-clang/features/default_post.prf
	mkspecs/macx-ios-clang/features/resolve_config.prf
	mkspecs/features/uikit/default_post.prf
	mkspecs/features/uikit/resolve_config.prf
	src/corelib/io/qsettings_mac.cpp
	src/corelib/json/qjsondocument.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/cocoa/qnswindowdelegate.h
	src/plugins/platforms/cocoa/qnswindowdelegate.mm
	src/plugins/platforms/ios/ios.pro
	src/plugins/platforms/ios/kernel.pro
	src/plugins/platforms/ios/qiosintegration.h
	src/plugins/platforms/minimalegl/qminimaleglintegration.cpp
	tests/auto/gui/painting/qpainter/tst_qpainter.cpp
	tools/configure/environment.cpp

Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
2016-11-01 06:02:55 +01:00
Anton Kudryavtsev c30e62c775 Plugins: use const (and const APIs) more
For CoW types, prefer const methods to avoid needless detach()ing.

Change-Id: I625d57c0c19e87ac2de681bb16d0cc5a7a59b366
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-10-25 05:12:29 +00:00
Liang Qi 28628a5d5e Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/plugins/platforms/eglfs/qeglfshooks.cpp

Change-Id: I483f0dbd876943b184803f0fe65a0c686ad75db2
2016-10-22 21:19:57 +02:00
Anton Kudryavtsev 6a7b683817 Plugins: optimize string usage
Prefer QStringRef methods to avoid allocations.

Use startsWith/endsWith rather than comparing substrings;
and avoid substrings where references suffice.

Use new QStringList::join(QL1S).

Change-Id: I46c44aca96578633370006d613eb0ac13f7cfc03
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-10-18 17:52:04 +00:00
Anton Kudryavtsev 4a4368df56 QAndroidPlatformTheme: wrap char* in QL1S to avoid warnings
Change-Id: Idcc70038051b03366aa447f3a4c48912d3f911d5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-10-18 15:17:03 +00:00
Oswald Buddenhagen f25afef61d rely on transitive library dependencies for freetype/fontconfig
so far, we have been delaying the linking, because we didn't want to
make the monolithic platformsupport module pull in spurious
dependencies. however, now that the module was split, there is no need
to play such games any more.

a nice effect of this is that the hideous qpa/*unixfontdatabase.prf
files disappear, and finally freetype_dependency.pri also becomes
trivial and is thus inlined.

Change-Id: I255376d592625542310a31222eb6ac965943df99
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-10-15 18:45:48 +00:00
Oswald Buddenhagen 135fcd5992 port to modularized platformsupport libraries
Change-Id: I20eb0e33abfd70b6a5240e7b6b0aa0425f2d2ee7
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-10-15 18:45:41 +00:00
Eskil Abrahamsen Blomfeldt 9ebfacb688 Android: Re-enable asset extraction for styling
When the new configure system was introduced, it accidentally
disabled automatic extraction of style assets on Android.
This patch puts it back in.

Note that the style extraction is not specific to Qt Widgets,
but rather Qt Gui, like other QPA options.

Task-number: QTBUG-56328
Change-Id: Ica33c3562c6dd6483050075f5c8ed5d28cd621a4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-10-14 08:21:12 +00:00
Liang Qi 6370c3aa71 Merge remote-tracking branch 'origin/5.6' into 5.7
Also bump minimum required Qt version for Android: Ministro updates.

Conflicts:
	src/android/java/src/org/qtproject/qt5/android/bindings/QtActivityLoader.java
	src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
	src/plugins/platforms/android/androidjnimain.cpp

Change-Id: I966f249bebf92da37bfdeb995ad21b027eb03301
2016-10-13 15:18:02 +02:00
Christian Strømme dde86ebb9b Android: Don't update offscreen windows
Offscreen windows should not be handle by the platform plugin.

Task-number: QTBUG-50973
Change-Id: I719a24b9bbcaad460d78fdc4095e86d615357cd2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-10-12 10:19:25 +00:00
Liang Qi cdb56c42fc Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
	mkspecs/features/uikit/xcodebuild.mk
	tests/auto/other/lancelot/tst_lancelot.cpp
	tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
	tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp

Change-Id: Ia0ae2de86094120281abd445138877c2cc3e882c
2016-09-29 00:38:01 +02:00