aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/qtquick1/graphicsitems/qdeclarativetextedit.cpp4
-rw-r--r--src/quick/items/qquicktextcontrol.cpp19
-rw-r--r--src/quick/items/qquicktextcontrol_p.h6
-rw-r--r--src/quick/items/qquicktextcontrol_p_p.h1
-rw-r--r--src/quick/items/qquicktextedit.cpp4
5 files changed, 26 insertions, 8 deletions
diff --git a/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp b/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp
index b547deacca..8013d40a2d 100644
--- a/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/qtquick1/graphicsitems/qdeclarativetextedit.cpp
@@ -130,10 +130,10 @@ QString QDeclarative1TextEdit::text() const
#ifndef QT_NO_TEXTHTMLPARSER
if (d->richText)
- return d->document->toHtml();
+ return d->control->toHtml();
else
#endif
- return d->document->toPlainText();
+ return d->control->toPlainText();
}
/*!
diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp
index cd4d853a88..436b6b7ae9 100644
--- a/src/quick/items/qquicktextcontrol.cpp
+++ b/src/quick/items/qquicktextcontrol.cpp
@@ -1869,7 +1869,10 @@ void QQuickTextControlPrivate::inputMethodEvent(QInputMethodEvent *e)
}
}
layout->setAdditionalFormats(overrides);
+ tentativeCommit = e->tentativeCommitString();
+
cursor.endEditBlock();
+
QTextCursorPrivate *cursor_d = QTextCursorPrivate::getPrivate(&cursor);
if (cursor_d)
cursor_d->setX();
@@ -2696,6 +2699,22 @@ void QQuickTextControl::appendPlainText(const QString &text)
d->append(text, Qt::PlainText);
}
+QString QQuickTextControl::toPlainText() const
+{
+ Q_D(const QQuickTextControl);
+ QString plainText = document()->toPlainText();
+ if (!d->tentativeCommit.isEmpty())
+ plainText.insert(textCursor().position(), d->tentativeCommit);
+ return plainText;
+}
+
+#ifndef QT_NO_TEXTHTMLPARSER
+QString QQuickTextControl::toHtml() const
+{
+ // note: currently not including tentative commit
+ return document()->toHtml();
+}
+#endif
void QQuickTextControl::ensureCursorVisible()
{
diff --git a/src/quick/items/qquicktextcontrol_p.h b/src/quick/items/qquicktextcontrol_p.h
index e8bfe14766..2e42625fdc 100644
--- a/src/quick/items/qquicktextcontrol_p.h
+++ b/src/quick/items/qquicktextcontrol_p.h
@@ -115,11 +115,9 @@ public:
bool find(const QString &exp, QTextDocument::FindFlags options = 0);
- inline QString toPlainText() const
- { return document()->toPlainText(); }
+ QString toPlainText() const;
#ifndef QT_NO_TEXTHTMLPARSER
- inline QString toHtml() const
- { return document()->toHtml(); }
+ QString toHtml() const;
#endif
virtual void ensureCursorVisible();
diff --git a/src/quick/items/qquicktextcontrol_p_p.h b/src/quick/items/qquicktextcontrol_p_p.h
index e75c53714a..8c06899e02 100644
--- a/src/quick/items/qquicktextcontrol_p_p.h
+++ b/src/quick/items/qquicktextcontrol_p_p.h
@@ -202,6 +202,7 @@ public:
int preeditCursor;
bool hideCursor; // used to hide the cursor in the preedit area
+ QString tentativeCommit;
QVector<QAbstractTextDocumentLayout::Selection> extraSelections;
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp
index 91b0b0d90b..f0679c4861 100644
--- a/src/quick/items/qquicktextedit.cpp
+++ b/src/quick/items/qquicktextedit.cpp
@@ -129,10 +129,10 @@ QString QQuickTextEdit::text() const
#ifndef QT_NO_TEXTHTMLPARSER
if (d->richText)
- return d->document->toHtml();
+ return d->control->toHtml();
else
#endif
- return d->document->toPlainText();
+ return d->control->toPlainText();
}
/*!