summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/text/qtextcursor.cpp35
-rw-r--r--src/gui/text/qtextcursor.h3
2 files changed, 38 insertions, 0 deletions
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index abc0889..d6ac3aa 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -1277,6 +1277,41 @@ void QTextCursor::setVisualNavigation(bool b)
d->visualNavigation = b;
}
+
+/*!
+ \since 4.7
+
+ Sets the visual x position for vertical cursor movements.
+
+ The vertical movement x position is cleared automatically when the cursor moves horizontally, and kept
+ unchanged when the cursor moves vertically. The mechanism allows the cursor to move up and down on a
+ visually straight line with proportional fonts, and to gently "jump" over short lines.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa verticalMovementX()
+ */
+void QTextCursor::setVerticalMovementX(int x)
+{
+ if (d)
+ d->x = x;
+}
+
+/*! \since 4.7
+
+ Returns the visual x position for vertical cursor movements.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa setVerticalMovementX()
+ */
+int QTextCursor::verticalMovementX() const
+{
+ return d ? d->x : -1;
+}
+
/*!
\since 4.7
diff --git a/src/gui/text/qtextcursor.h b/src/gui/text/qtextcursor.h
index 6cb776c..251cb33 100644
--- a/src/gui/text/qtextcursor.h
+++ b/src/gui/text/qtextcursor.h
@@ -132,6 +132,9 @@ public:
bool visualNavigation() const;
void setVisualNavigation(bool b);
+ void setVerticalMovementX(int x);
+ int verticalMovementX() const;
+
void setKeepPositionOnInsert(bool b);
bool keepPositionOnInsert() const;