summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qlinecontrol_p.h
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2011-05-19 12:15:26 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2011-05-19 12:15:26 (GMT)
commit37c4cd4801106112b638ed9d2164b87bbc0a0d1e (patch)
tree3dcc9e1b9908328d1355f5746fd77de7030b547f /src/gui/widgets/qlinecontrol_p.h
parentb6a6953d21a95c402e8a5010c1ea5131509eeea3 (diff)
parent35b5f15c3fe5c2f1f0d046d09b9d95dee3bb91b5 (diff)
downloadQt-37c4cd4801106112b638ed9d2164b87bbc0a0d1e.zip
Qt-37c4cd4801106112b638ed9d2164b87bbc0a0d1e.tar.gz
Qt-37c4cd4801106112b638ed9d2164b87bbc0a0d1e.tar.bz2
Merge branch '4.8-upstream'
Diffstat (limited to 'src/gui/widgets/qlinecontrol_p.h')
-rw-r--r--src/gui/widgets/qlinecontrol_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
index 7f3cad6..9764ba9 100644
--- a/src/gui/widgets/qlinecontrol_p.h
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -160,6 +160,8 @@ public:
int cursorWidth() const { return m_cursorWidth; }
void setCursorWidth(int value) { m_cursorWidth = value; }
+ Qt::CursorMoveStyle cursorMoveStyle() const { return m_textLayout.cursorMoveStyle(); }
+ void setCursorMoveStyle(Qt::CursorMoveStyle style) { m_textLayout.setCursorMoveStyle(style); }
void moveCursor(int pos, bool mark = false);
void cursorForward(bool mark, int steps)
@@ -167,10 +169,12 @@ public:
int c = m_cursor;
if (steps > 0) {
while (steps--)
- c = m_textLayout.nextCursorPosition(c);
+ c = cursorMoveStyle() == Qt::VisualMoveStyle ? m_textLayout.rightCursorPosition(c)
+ : m_textLayout.nextCursorPosition(c);
} else if (steps < 0) {
while (steps++)
- c = m_textLayout.previousCursorPosition(c);
+ c = cursorMoveStyle() == Qt::VisualMoveStyle ? m_textLayout.leftCursorPosition(c)
+ : m_textLayout.previousCursorPosition(c);
}
moveCursor(c, mark);
}