diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2011-11-29 15:33:56 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-02 09:05:05 +0100 |
commit | 4f806b3e2490b2890c22a5671290fde94ffddf6b (patch) | |
tree | 490e9e48d4a86a07a69521ae070cfd8601761cdd /src/qtquick1/graphicsitems | |
parent | 310d1c18f3462d5fc04efd69dc4a246a5819189d (diff) |
Use QWidgetTextControl in the QtQuick1 TextEdit.
QDeclarative1TextEdit and QTextEdit have the same compatbility
requirements so it makes sense they continue sharing the same line
control implementation. This allows the QtQuick 2 TextInput to diverge
without creating a third variation of QTextControl,
Task-number: QTBUG-22627
Change-Id: Id4a8f6a17aeb756c3385cf8fca3de61b8c4be757
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/qtquick1/graphicsitems')
-rw-r--r-- | src/qtquick1/graphicsitems/qdeclarativetextedit.cpp | 11 | ||||
-rw-r--r-- | src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h | 4 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp b/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp index 27ef5438ef..fc799a2b4c 100644 --- a/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp +++ b/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp @@ -58,7 +58,7 @@ #include <QPainter> #include <QtGui/QInputPanel> -#include <private/qtextcontrol_p.h> +#include <private/qwidgettextcontrol_p.h> QT_BEGIN_NAMESPACE @@ -555,7 +555,10 @@ bool QDeclarative1TextEditPrivate::determineHorizontalAlignment() if (hAlignImplicit && q->isComponentComplete()) { bool alignToRight; if (text.isEmpty()) { - const QString preeditText = control->textCursor().block().layout()->preeditAreaText(); + QTextCursor cursor = control->textCursor(); + const QString preeditText = cursor.block().isValid() + ? control->textCursor().block().layout()->preeditAreaText() + : QString(); alignToRight = preeditText.isEmpty() ? QApplication::keyboardInputDirection() == Qt::RightToLeft : preeditText.isRightToLeft(); @@ -1545,12 +1548,12 @@ void QDeclarative1TextEditPrivate::init() q->setFlag(QGraphicsItem::ItemHasNoContents, false); q->setFlag(QGraphicsItem::ItemAcceptsInputMethod); - control = new QTextControl(q); + control = new QWidgetTextControl(q); control->setIgnoreUnusedNavigationEvents(true); control->setTextInteractionFlags(Qt::TextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::TextSelectableByKeyboard | Qt::TextEditable)); control->setDragEnabled(false); - // QTextControl follows the default text color + // QWidgetTextControl follows the default text color // defined by the platform, declarative text // should be black by default QPalette pal = control->palette(); diff --git a/src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h b/src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h index ed75a970db..f747b49564 100644 --- a/src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h +++ b/src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h @@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE class QTextLayout; class QTextDocument; -class QTextControl; +class QWidgetTextControl; class QDeclarative1TextEditPrivate : public QDeclarative1ImplicitSizePaintedItemPrivate { Q_DECLARE_PUBLIC(QDeclarative1TextEdit) @@ -125,7 +125,7 @@ public: QDeclarativeItem* cursor; QDeclarative1TextEdit::TextFormat format; QTextDocument *document; - QTextControl *control; + QWidgetTextControl *control; QDeclarative1TextEdit::WrapMode wrapMode; QDeclarative1TextEdit::SelectionMode mouseSelectionMode; int lineCount; |