aboutsummaryrefslogtreecommitdiffstats
path: root/src/qtquick1/graphicsitems
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2011-11-29 15:33:56 +1000
committerQt by Nokia <qt-info@nokia.com>2011-12-02 09:05:05 +0100
commit4f806b3e2490b2890c22a5671290fde94ffddf6b (patch)
tree490e9e48d4a86a07a69521ae070cfd8601761cdd /src/qtquick1/graphicsitems
parent310d1c18f3462d5fc04efd69dc4a246a5819189d (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.cpp11
-rw-r--r--src/qtquick1/graphicsitems/qdeclarativetextedit_p_p.h4
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;