Move Qt::escape to QtCore

Merge-request: 56
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>

Change-Id: I25c5f46cf53a653db26dbeb92865e61f69980bfd
Reviewed-on: http://codereview.qt-project.org/5792
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
bb10
David Faure 2011-09-29 13:31:39 +02:00 committed by Qt by Nokia
parent 87ae97c11a
commit 7fb90066b3
6 changed files with 45 additions and 42 deletions

View File

@ -85,3 +85,10 @@ if (str == QLatin1String("auto")
//! [6]
QLabel *label = new QLabel(QLatin1String("MOD"), this);
//! [6]
//! [7]
QString plain = "#include <QtCore>"
QString html = Qt::escape(plain);
// html == "#include &lt;QtCore&gt;"
//! [7]

View File

@ -39,12 +39,5 @@
****************************************************************************/
//! [0]
QString plain = "#include <QtCore>"
QString html = Qt::escape(plain);
// html == "#include &lt;QtCore&gt;"
//! [0]
//! [1]
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>...
//! [1]
//! [0]

View File

@ -8788,6 +8788,39 @@ QVector<uint> QStringRef::toUcs4() const
return v;
}
/*!
Converts the plain text string \a plain to a HTML string with
HTML metacharacters \c{<}, \c{>}, \c{&}, and \c{"} replaced by HTML
entities.
Example:
\snippet doc/src/snippets/code/src_gui_text_qtextdocument.cpp 0
This function is defined in the \c <QString> header file.
\sa convertFromPlainText(), mightBeRichText()
*/
QString Qt::escape(const QString &plain)
{
QString rich;
rich.reserve(int(plain.length() * 1.1));
for (int i = 0; i < plain.length(); ++i) {
if (plain.at(i) == QLatin1Char('<'))
rich += QLatin1String("&lt;");
else if (plain.at(i) == QLatin1Char('>'))
rich += QLatin1String("&gt;");
else if (plain.at(i) == QLatin1Char('&'))
rich += QLatin1String("&amp;");
else if (plain.at(i) == QLatin1Char('"'))
rich += QLatin1String("&quot;");
else
rich += plain.at(i);
}
rich.squeeze();
return rich;
}
/*!
\macro QStringLiteral(str)
\relates QString

View File

@ -1249,6 +1249,9 @@ inline QBool QStringRef::contains(QChar c, Qt::CaseSensitivity cs) const
inline QBool QStringRef::contains(const QStringRef &s, Qt::CaseSensitivity cs) const
{ return QBool(indexOf(s, 0, cs) != -1); }
namespace Qt {
Q_CORE_EXPORT QString escape(const QString &plain);
}
QT_END_NAMESPACE

View File

@ -141,38 +141,6 @@ bool Qt::mightBeRichText(const QString& text)
return false;
}
/*!
Converts the plain text string \a plain to a HTML string with
HTML metacharacters \c{<}, \c{>}, \c{&}, and \c{"} replaced by HTML
entities.
Example:
\snippet doc/src/snippets/code/src_gui_text_qtextdocument.cpp 0
This function is defined in the \c <QTextDocument> header file.
\sa convertFromPlainText(), mightBeRichText()
*/
QString Qt::escape(const QString& plain)
{
QString rich;
rich.reserve(int(plain.length() * 1.1));
for (int i = 0; i < plain.length(); ++i) {
if (plain.at(i) == QLatin1Char('<'))
rich += QLatin1String("&lt;");
else if (plain.at(i) == QLatin1Char('>'))
rich += QLatin1String("&gt;");
else if (plain.at(i) == QLatin1Char('&'))
rich += QLatin1String("&amp;");
else if (plain.at(i) == QLatin1Char('"'))
rich += QLatin1String("&quot;");
else
rich += plain.at(i);
}
return rich;
}
/*!
\fn QString Qt::convertFromPlainText(const QString &plain, WhiteSpaceMode mode)
@ -3002,7 +2970,7 @@ void QTextHtmlExporter::emitFrameStyle(const QTextFrameFormat &format, FrameType
The \a encoding parameter specifies the value for the charset attribute
in the html header. For example if 'utf-8' is specified then the
beginning of the generated html will look like this:
\snippet doc/src/snippets/code/src_gui_text_qtextdocument.cpp 1
\snippet doc/src/snippets/code/src_gui_text_qtextdocument.cpp 0
If no encoding is specified then no such meta information is generated.

View File

@ -84,7 +84,6 @@ namespace Qt
};
Q_GUI_EXPORT bool mightBeRichText(const QString&);
Q_GUI_EXPORT QString escape(const QString& plain);
Q_GUI_EXPORT QString convertFromPlainText(const QString &plain, WhiteSpaceMode mode = WhiteSpacePre);
#ifndef QT_NO_TEXTCODEC