diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2012-01-09 16:31:54 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-17 13:15:20 +0100 |
commit | dc7aecd0886db44f7729f16b42ea4a6be622f3ba (patch) | |
tree | 8f22566e52b570e9939c563beb1c1e46f163e0cd /src | |
parent | 6cd724787722e235abdbe3423b6519cb6a96cc01 (diff) |
QQuickTextEdit to follow input method direction changes
Change-Id: I458f85452a2ffe1c43438f9588cfc271461a42c6
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 18 | ||||
-rw-r--r-- | src/quick/items/qquicktextedit_p.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index f56a21b4ad..f1dcadad67 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1502,6 +1502,15 @@ void QQuickTextEdit::itemChange(ItemChange change, const ItemChangeData &value) { if (change == ItemActiveFocusHasChanged) { setCursorVisible(value.boolValue); // ### refactor: focus handling && d->canvas && d->canvas->hasFocus()); + + if (value.boolValue) { + q_updateAlignment(); + connect(qApp->inputPanel(), SIGNAL(inputDirectionChanged(Qt::LayoutDirection)), + this, SLOT(q_updateAlignment())); + } else { + disconnect(qApp->inputPanel(), SIGNAL(inputDirectionChanged(Qt::LayoutDirection)), + this, SLOT(q_updateAlignment())); + } } QQuickItem::itemChange(change, value); } @@ -1926,6 +1935,15 @@ void QQuickTextEdit::updateCursor() } } +void QQuickTextEdit::q_updateAlignment() +{ + Q_D(QQuickTextEdit); + if (d->determineHorizontalAlignment()) { + d->updateDefaultTextOption(); + moveCursorDelegate(); + } +} + void QQuickTextEdit::updateTotalLines() { Q_D(QQuickTextEdit); diff --git a/src/quick/items/qquicktextedit_p.h b/src/quick/items/qquicktextedit_p.h index e127416535..508f564c88 100644 --- a/src/quick/items/qquicktextedit_p.h +++ b/src/quick/items/qquicktextedit_p.h @@ -282,6 +282,7 @@ private Q_SLOTS: void q_canPasteChanged(); void updateDocument(); void updateCursor(); + void q_updateAlignment(); private: void updateSize(); |