summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/widgets/qtextedit.cpp15
-rw-r--r--src/widgets/widgets/qtextedit.h6
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp18
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p.h6
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p_p.h1
5 files changed, 36 insertions, 10 deletions
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp
index f345cb2f7c..73d78171db 100644
--- a/src/widgets/widgets/qtextedit.cpp
+++ b/src/widgets/widgets/qtextedit.cpp
@@ -1099,13 +1099,17 @@ void QTextEdit::setPlainText(const QString &text)
}
/*!
- \fn QString QTextEdit::toPlainText() const
+ QString QTextEdit::toPlainText() const
Returns the text of the text edit as plain text.
\sa QTextEdit::setPlainText()
*/
-
+QString QTextEdit::toPlainText() const
+{
+ Q_D(const QTextEdit);
+ return d->control->toPlainText();
+}
/*!
\property QTextEdit::html
@@ -1135,8 +1139,15 @@ void QTextEdit::setHtml(const QString &text)
d->control->setHtml(text);
d->preferRichText = true;
}
+
+QString QTextEdit::toHtml() const
+{
+ Q_D(const QTextEdit);
+ return d->control->toHtml();
+}
#endif
+
/*! \reimp
*/
void QTextEdit::keyPressEvent(QKeyEvent *e)
diff --git a/src/widgets/widgets/qtextedit.h b/src/widgets/widgets/qtextedit.h
index 1fcf87cdf7..ae9865977f 100644
--- a/src/widgets/widgets/qtextedit.h
+++ b/src/widgets/widgets/qtextedit.h
@@ -162,11 +162,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
void ensureCursorVisible();
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index d48ee9a2ae..b6432ee53f 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -1991,7 +1991,10 @@ void QWidgetTextControlPrivate::inputMethodEvent(QInputMethodEvent *e)
}
}
layout->setAdditionalFormats(overrides);
+ tentativeCommit = e->tentativeCommitString();
+
cursor.endEditBlock();
+
if (cursor.d)
cursor.d->setX();
if (oldPreeditCursor != preeditCursor)
@@ -2909,7 +2912,22 @@ bool QWidgetTextControl::find(const QString &exp, QTextDocument::FindFlags optio
return true;
}
+QString QWidgetTextControl::toPlainText() const
+{
+ Q_D(const QWidgetTextControl);
+ QString plainText = document()->toPlainText();
+ if (!d->tentativeCommit.isEmpty())
+ plainText.insert(textCursor().position(), d->tentativeCommit);
+ return plainText;
+}
+#ifndef QT_NO_TEXTHTMLPARSER
+QString QWidgetTextControl::toHtml() const
+{
+ // note: currently not including tentative commit
+ return document()->toHtml();
+}
+#endif
void QWidgetTextControlPrivate::append(const QString &text, Qt::TextFormat format)
{
diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h
index f1ac09d459..1550959ebe 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p.h
@@ -114,11 +114,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/widgets/widgets/qwidgettextcontrol_p_p.h b/src/widgets/widgets/qwidgettextcontrol_p_p.h
index 613d1a6097..f53e0808b8 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p_p.h
@@ -208,6 +208,7 @@ public:
int preeditCursor;
bool hideCursor; // used to hide the cursor in the preedit area
+ QString tentativeCommit;
QVector<QAbstractTextDocumentLayout::Selection> extraSelections;