summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
authorRobert Loehning <robert.loehning@nokia.com>2012-06-15 16:35:00 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-20 13:13:18 +0200
commit4093ae7ae38f6006f7f8c1438e89777144a0c10b (patch)
tree94568f0bbd4ae9766636b908f9121fd020cf50e3 /src/gui/text
parentd146da2d76531fe3ad22e592e4f111449788536b (diff)
Restored native behavior when moving cursor from selection
Reverting changes from 1b031759ddfdab9703dfecac13f1ed318da3dafe except for Mac Task-number: QTCREATORBUG-7215 Change-Id: I8570c4bd35daf8b5820507a9399d33d00f96d41b Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qtextcursor.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index e6af105a26..7dcb187474 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -421,16 +421,20 @@ bool QTextCursorPrivate::movePosition(QTextCursor::MoveOperation op, QTextCursor
break;
}
case QTextCursor::PreviousCharacter:
+#ifdef Q_WS_MAC
if (mode == QTextCursor::MoveAnchor && position != adjusted_anchor)
newPosition = qMin(position, adjusted_anchor);
else
+#endif
newPosition = priv->previousCursorPosition(position, QTextLayout::SkipCharacters);
break;
case QTextCursor::Left:
+#ifdef Q_WS_MAC
if (mode == QTextCursor::MoveAnchor && position != adjusted_anchor)
newPosition = visualMovement ? qMax(position, adjusted_anchor)
: qMin(position, adjusted_anchor);
else
+#endif
newPosition = visualMovement ? priv->leftCursorPosition(position)
: priv->previousCursorPosition(position, QTextLayout::SkipCharacters);
break;
@@ -542,16 +546,20 @@ bool QTextCursorPrivate::movePosition(QTextCursor::MoveOperation op, QTextCursor
break;
}
case QTextCursor::NextCharacter:
+#ifdef Q_WS_MAC
if (mode == QTextCursor::MoveAnchor && position != adjusted_anchor)
newPosition = qMax(position, adjusted_anchor);
else
+#endif
newPosition = priv->nextCursorPosition(position, QTextLayout::SkipCharacters);
break;
case QTextCursor::Right:
+#ifdef Q_WS_MAC
if (mode == QTextCursor::MoveAnchor && position != adjusted_anchor)
newPosition = visualMovement ? qMin(position, adjusted_anchor)
: qMax(position, adjusted_anchor);
else
+#endif
newPosition = visualMovement ? priv->rightCursorPosition(position)
: priv->nextCursorPosition(position, QTextLayout::SkipCharacters);
break;