summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2017-06-06 16:45:27 +0300
committerBogDan Vatra <bogdan@kdab.com>2017-06-13 04:00:16 +0000
commitea568c310d75fa921eba2c6ce2852f4617a176ea (patch)
treedea106c51d38e315042ea2d3cbfd8deb0dea3acd /src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java
parentb91d37a600872298389e99fc354d76e9c37aa3bb (diff)
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>
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java b/src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java
index 7d26b8fa04..e6814c202d 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/CursorHandle.java
@@ -107,13 +107,14 @@ public class CursorHandle implements ViewTreeObserver.OnPreDrawListener
private int m_id;
private int m_attr;
private Activity m_activity;
- private int m_posX;
- private int m_posY;
+ private int m_posX = 0;
+ private int m_posY = 0;
private int m_lastX;
private int m_lastY;
int tolerance;
+ private boolean m_rtl;
- public CursorHandle(Activity activity, View layout, int id, int attr) {
+ public CursorHandle(Activity activity, View layout, int id, int attr, boolean rtl) {
m_activity = activity;
m_id = id;
m_attr = attr;
@@ -122,6 +123,7 @@ public class CursorHandle implements ViewTreeObserver.OnPreDrawListener
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
tolerance = Math.round(2 * metrics.density);
m_lastX = m_lastY = -1 - tolerance;
+ m_rtl = rtl;
}
private boolean initOverlay(){
@@ -160,9 +162,9 @@ public class CursorHandle implements ViewTreeObserver.OnPreDrawListener
if (m_id == QtNative.IdCursorHandle) {
x2 -= m_cursorView.getWidth() / 2 ;
- } else if (m_id == QtNative.IdLeftHandle) {
+ } else if ((m_id == QtNative.IdLeftHandle && !m_rtl) || (m_id == QtNative.IdRightHandle && m_rtl)) {
x2 -= m_cursorView.getWidth() * 3 / 4;
- } else if (m_id == QtNative.IdRightHandle) {
+ } else {
x2 -= m_cursorView.getWidth() / 4;
}