Move QTextCursor::MoveStyle to Qt namespace
authorJiang Jiang <jiang.jiang@nokia.com>
Wed, 11 May 2011 10:13:01 +0000 (12:13 +0200)
committerJiang Jiang <jiang.jiang@nokia.com>
Wed, 11 May 2011 13:28:09 +0000 (15:28 +0200)
We cannot use QTextCursor::MoveStyle enums in QTextLine because
QTextCursor is not a QObject, while referring to that enum in
Q_PROPERTY requires it to be. That's why we need to move the
enums in Qt namespace.

Reviewed-by: David Boddie
(cherry picked from commit 5eba82b752e85a5d6cb3a893214ed2646d75f362)

17 files changed:
src/corelib/global/qnamespace.h
src/gui/text/qtextcursor.cpp
src/gui/text/qtextcursor.h
src/gui/text/qtextdocument.cpp
src/gui/text/qtextdocument.h
src/gui/text/qtextdocument_p.cpp
src/gui/text/qtextdocument_p.h
src/gui/text/qtextengine_p.h
src/gui/text/qtextlayout.cpp
src/gui/text/qtextlayout.h
src/gui/widgets/qlinecontrol.cpp
src/gui/widgets/qlinecontrol_p.h
src/gui/widgets/qlineedit.cpp
src/gui/widgets/qlineedit.h
tests/auto/qcomplextext/tst_qcomplextext.cpp
tests/auto/qlineedit/tst_qlineedit.cpp
tests/auto/qtextedit/tst_qtextedit.cpp

index 75ce68a..f086513 100644 (file)
@@ -94,6 +94,7 @@ Qt {
     Q_ENUMS(GestureState)
     Q_ENUMS(GestureType)
 #endif
+    Q_ENUMS(CursorMoveStyle)
 #endif // (defined(Q_MOC_RUN) || defined(QT_JAMBI_RUN))
 
 #if defined(Q_MOC_RUN)
@@ -1784,6 +1785,11 @@ public:
         NavigationModeCursorAuto,
         NavigationModeCursorForceVisible
     };
+
+    enum CursorMoveStyle {
+        LogicalMoveStyle,
+        VisualMoveStyle
+    };
 }
 #ifdef Q_MOC_RUN
  ;
index 4f6857a..17bcc6c 100644 (file)
@@ -362,7 +362,7 @@ bool QTextCursorPrivate::movePosition(QTextCursor::MoveOperation op, QTextCursor
     currentCharFormat = -1;
     bool adjustX = true;
     QTextBlock blockIt = block();
-    bool visualMovement = priv->defaultCursorMoveStyle == QTextCursor::Visual;
+    bool visualMovement = priv->defaultCursorMoveStyle == Qt::VisualMoveStyle;
 
     if (!blockIt.isValid())
         return false;
@@ -2568,18 +2568,18 @@ QTextDocument *QTextCursor::document() const
 }
 
 /*!
-    \enum QTextCursor::MoveStyle
+    \enum Qt::CursorMoveStyle
 
-    This enum describes the movement style available to QTextCursor. The options
+    This enum describes the movement style available to text cursors. The options
     are:
 
-    \value Logical Within a left-to-right text block, increase cursor position
-    when pressing left arrow key, decrease cursor position when pressing the
-    right arrow key. If the text block is right-to-left, the opposite behavior
+    \value LogicalMoveStyle Within a left-to-right text block, decrease cursor
+    position when pressing left arrow key, increase cursor position when pressing
+    the right arrow key. If the text block is right-to-left, the opposite behavior
     applies.
-    \value Visual Pressing the left arrow key will always cause the cursor to move
-    left, regardless of the text's writing direction. The same behavior applies to
-    right arrow key.
+    \value VisualMoveStyle Pressing the left arrow key will always cause the cursor
+    to move left, regardless of the text's writing direction. Pressing the right
+    arrow key will always cause the cursor to move right.
 */
 
 QT_END_NAMESPACE
index 9e4c0b8..4eaeb41 100644 (file)
@@ -86,10 +86,6 @@ public:
         MoveAnchor,
         KeepAnchor
     };
-    enum MoveStyle {
-        Logical,
-        Visual
-    };
 
     void setPosition(int pos, MoveMode mode = MoveAnchor);
     int position() const;
index 9169955..0d33912 100644 (file)
@@ -589,9 +589,9 @@ void QTextDocument::setDefaultTextOption(const QTextOption &option)
     \since 4.8
 
     The default cursor movement style is used by all QTextCursor objects
-    created from the document. The default is QTextCursor::Logical.
+    created from the document. The default is Qt::LogicalMoveStyle.
 */
-QTextCursor::MoveStyle QTextDocument::defaultCursorMoveStyle() const
+Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const
 {
     Q_D(const QTextDocument);
     return d->defaultCursorMoveStyle;
@@ -602,7 +602,7 @@ QTextCursor::MoveStyle QTextDocument::defaultCursorMoveStyle() const
 
     Set the default cursor movement style.
 */
-void QTextDocument::setDefaultCursorMoveStyle(QTextCursor::MoveStyle style)
+void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)
 {
     Q_D(QTextDocument);
     d->defaultCursorMoveStyle = style;
index e515b36..b826dc1 100644 (file)
@@ -46,7 +46,6 @@
 #include <QtCore/qsize.h>
 #include <QtCore/qrect.h>
 #include <QtGui/qfont.h>
-#include <QtGui/qtextcursor.h>
 
 QT_BEGIN_HEADER
 
@@ -70,6 +69,7 @@ class QUrl;
 class QVariant;
 class QRectF;
 class QTextOption;
+class QTextCursor;
 
 template<typename T> class QVector;
 
@@ -269,8 +269,8 @@ public:
     QTextOption defaultTextOption() const;
     void setDefaultTextOption(const QTextOption &option);
 
-    QTextCursor::MoveStyle defaultCursorMoveStyle() const;
-    void setDefaultCursorMoveStyle(QTextCursor::MoveStyle style);
+    Qt::CursorMoveStyle defaultCursorMoveStyle() const;
+    void setDefaultCursorMoveStyle(Qt::CursorMoveStyle style);
 
 Q_SIGNALS:
     void contentsChange(int from, int charsRemoves, int charsAdded);
index 779b1ff..640f7aa 100644 (file)
@@ -209,7 +209,7 @@ QTextDocumentPrivate::QTextDocumentPrivate()
 
     defaultTextOption.setTabStop(80); // same as in qtextengine.cpp
     defaultTextOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
-    defaultCursorMoveStyle = QTextCursor::Logical;
+    defaultCursorMoveStyle = Qt::LogicalMoveStyle;
 
     indentWidth = 40;
     documentMargin = 4;
index 6563920..e72d676 100644 (file)
@@ -342,7 +342,7 @@ private:
 
 public:
     QTextOption defaultTextOption;
-    QTextCursor::MoveStyle defaultCursorMoveStyle;
+    Qt::CursorMoveStyle defaultCursorMoveStyle;
 #ifndef QT_NO_CSSPARSER
     QCss::StyleSheet parsedDefaultStyleSheet;
 #endif
index c476485..e06ca1c 100644 (file)
@@ -598,7 +598,7 @@ public:
     inline bool visualCursorMovement() const
     {
         return (visualMovement ||
-                (block.docHandle() ? block.docHandle()->defaultCursorMoveStyle == QTextCursor::Visual : false));
+                (block.docHandle() ? block.docHandle()->defaultCursorMoveStyle == Qt::VisualMoveStyle : false));
     }
 
     struct SpecialData {
index 1280b46..07aeb72 100644 (file)
@@ -579,27 +579,27 @@ bool QTextLayout::cacheEnabled() const
 }
 
 /*!
-    Set the visual cursor movement style. If the QTextLayout is backed by
+    Set the cursor movement style. If the QTextLayout is backed by
     a document, you can ignore this and use the option in QTextDocument,
     this option is for widgets like QLineEdit or custom widgets without
-    a QTextDocument. Default value is QTextCursor::Logical.
+    a QTextDocument. Default value is Qt::LogicalMoveStyle.
 
     \sa setCursorMoveStyle()
 */
-void QTextLayout::setCursorMoveStyle(QTextCursor::MoveStyle style)
+void QTextLayout::setCursorMoveStyle(Qt::CursorMoveStyle style)
 {
-    d->visualMovement = style == QTextCursor::Visual ? true : false;
+    d->visualMovement = style == Qt::VisualMoveStyle ? true : false;
 }
 
 /*!
     The cursor movement style of this QTextLayout. The default is
-    QTextCursor::Logical.
+    Qt::LogicalMoveStyle.
 
     \sa setCursorMoveStyle()
 */
-QTextCursor::MoveStyle QTextLayout::cursorMoveStyle() const
+Qt::CursorMoveStyle QTextLayout::cursorMoveStyle() const
 {
-    return d->visualMovement ? QTextCursor::Visual : QTextCursor::Logical;
+    return d->visualMovement ? Qt::VisualMoveStyle : Qt::LogicalMoveStyle;
 }
 
 /*!
index 8fe488a..89fbfb2 100644 (file)
@@ -137,8 +137,8 @@ public:
     void setCacheEnabled(bool enable);
     bool cacheEnabled() const;
 
-    void setCursorMoveStyle(QTextCursor::MoveStyle style);
-    QTextCursor::MoveStyle cursorMoveStyle() const;
+    void setCursorMoveStyle(Qt::CursorMoveStyle style);
+    Qt::CursorMoveStyle cursorMoveStyle() const;
 
     void beginLayout();
     void endLayout();
index eb4e142..40ebb65 100644 (file)
@@ -1585,7 +1585,7 @@ void QLineControl::processKeyEvent(QKeyEvent* event)
     }
 
     bool unknown = false;
-    bool visual = cursorMoveStyle() == QTextCursor::Visual;
+    bool visual = cursorMoveStyle() == Qt::VisualMoveStyle;
 
     if (false) {
     }
index 0042f17..6918b83 100644 (file)
@@ -160,8 +160,8 @@ public:
     int cursorWidth() const { return m_cursorWidth; }
     void setCursorWidth(int value) { m_cursorWidth = value; }
 
-    QTextCursor::MoveStyle cursorMoveStyle() const { return m_textLayout.cursorMoveStyle(); }
-    void setCursorMoveStyle(QTextCursor::MoveStyle style) { m_textLayout.setCursorMoveStyle(style); }
+    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)
@@ -169,11 +169,11 @@ public:
         int c = m_cursor;
         if (steps > 0) {
             while (steps--)
-                c = cursorMoveStyle() == QTextCursor::Visual ? m_textLayout.rightCursorPosition(c)
+                c = cursorMoveStyle() == Qt::VisualMoveStyle ? m_textLayout.rightCursorPosition(c)
                                                              : m_textLayout.nextCursorPosition(c);
         } else if (steps < 0) {
             while (steps++)
-                c = cursorMoveStyle() == QTextCursor::Visual ? m_textLayout.leftCursorPosition(c)
+                c = cursorMoveStyle() == Qt::VisualMoveStyle ? m_textLayout.leftCursorPosition(c)
                                                              : m_textLayout.previousCursorPosition(c);
         }
         moveCursor(c, mark);
index 43c3f52..3c9874e 100644 (file)
@@ -1116,24 +1116,24 @@ void QLineEdit::setDragEnabled(bool b)
   \brief the movement style of cursor in this line edit
   \since 4.8
 
-  When this property is set to QTextCursor::Visual, the line edit will use visual
+  When this property is set to Qt::VisualMoveStyle, the line edit will use visual
   movement style. Pressing the left arrow key will always cause the cursor to move
   left, regardless of the text's writing direction. The same behavior applies to
   right arrow key.
 
-  When the property is QTextCursor::Logical (the default), within a LTR text block,
+  When the property is Qt::LogicalMoveStyle (the default), within a LTR text block,
   increase cursor position when pressing left arrow key, decrease cursor position
   when pressing the right arrow key. If the text block is right to left, the opposite
   behavior applies.
 */
 
-QTextCursor::MoveStyle QLineEdit::cursorMoveStyle() const
+Qt::CursorMoveStyle QLineEdit::cursorMoveStyle() const
 {
     Q_D(const QLineEdit);
     return d->control->cursorMoveStyle();
 }
 
-void QLineEdit::setCursorMoveStyle(QTextCursor::MoveStyle style)
+void QLineEdit::setCursorMoveStyle(Qt::CursorMoveStyle style)
 {
     Q_D(QLineEdit);
     d->control->setCursorMoveStyle(style);
index 73a736c..e88273f 100644 (file)
@@ -85,6 +85,7 @@ class Q_GUI_EXPORT QLineEdit : public QWidget
     Q_PROPERTY(bool redoAvailable READ isRedoAvailable)
     Q_PROPERTY(bool acceptableInput READ hasAcceptableInput)
     Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
+    Q_PROPERTY(Qt::CursorMoveStyle cursorMoveStyle READ cursorMoveStyle WRITE setCursorMoveStyle)
 
 public:
     explicit QLineEdit(QWidget* parent=0);
@@ -159,8 +160,8 @@ public:
     void setDragEnabled(bool b);
     bool dragEnabled() const;
 
-    void setCursorMoveStyle(QTextCursor::MoveStyle style);
-    QTextCursor::MoveStyle cursorMoveStyle() const;
+    void setCursorMoveStyle(Qt::CursorMoveStyle style);
+    Qt::CursorMoveStyle cursorMoveStyle() const;
 
     QString inputMask() const;
     void setInputMask(const QString &inputMask);
index 58b31b4..ae63bac 100644 (file)
@@ -214,7 +214,7 @@ void tst_QComplexText::bidiCursorMovement()
     QTextOption option = layout.textOption();
     option.setTextDirection(basicDir == QChar::DirL ? Qt::LeftToRight : Qt::RightToLeft);
     layout.setTextOption(option);
-    layout.setCursorMoveStyle(QTextCursor::Visual);
+    layout.setCursorMoveStyle(Qt::VisualMoveStyle);
     bool moved;
     int oldPos, newPos = 0;
     qreal x, newX;
index f45481c..d5d9029 100644 (file)
@@ -3815,7 +3815,7 @@ void tst_QLineEdit::bidiVisualMovement()
     QLineEdit le;
     le.setText(logical);
 
-    le.setCursorMoveStyle(QTextCursor::Visual);
+    le.setCursorMoveStyle(Qt::VisualMoveStyle);
     le.setCursorPosition(0);
 
     bool moved;
@@ -3863,7 +3863,7 @@ void tst_QLineEdit::bidiLogicalMovement()
     QLineEdit le;
     le.setText(logical);
 
-    le.setCursorMoveStyle(QTextCursor::Logical);
+    le.setCursorMoveStyle(Qt::LogicalMoveStyle);
     le.setCursorPosition(0);
 
     bool moved;
index 5a64593..992d2f2 100644 (file)
@@ -2292,7 +2292,7 @@ void tst_QTextEdit::bidiVisualMovement()
     option.setTextDirection(basicDir == QChar::DirL ? Qt::LeftToRight : Qt::RightToLeft);
     ed->document()->setDefaultTextOption(option);
 
-    ed->document()->setDefaultCursorMoveStyle(QTextCursor::Visual);
+    ed->document()->setDefaultCursorMoveStyle(Qt::VisualMoveStyle);
     ed->moveCursor(QTextCursor::Start);
     ed->show();
 
@@ -2346,7 +2346,7 @@ void tst_QTextEdit::bidiLogicalMovement()
     option.setTextDirection(basicDir == QChar::DirL ? Qt::LeftToRight : Qt::RightToLeft);
     ed->document()->setDefaultTextOption(option);
 
-    ed->document()->setDefaultCursorMoveStyle(QTextCursor::Logical);
+    ed->document()->setDefaultCursorMoveStyle(Qt::LogicalMoveStyle);
     ed->moveCursor(QTextCursor::Start);
     ed->show();