KCoreAddons
ktexttohtml.cpp
33 QPluginLoader lib(QStringLiteral("kf" QT_STRINGIFY(QT_VERSION_MAJOR) "/KEmoticonsIntegrationPlugin"));
36 s_emoticonsInterface = rootObj->property(KTEXTTOHTMLEMOTICONS_PROPERTY).value<KTextToHTMLEmoticonsInterface *>();
45 KTextToHTMLHelper::KTextToHTMLHelper(const QString &plainText, int pos, int maxUrlLen, int maxAddressLen)
139 static const QRegularExpression telPattern(QStringLiteral(R"([+0](( |( ?[/-] ?)?)\(?\d+\)?+){6,30})"));
140 const auto match = telPattern.match(mText, mPos, QRegularExpression::NormalMatch, QRegularExpression::AnchoredMatchOption);
143 // check for maximum number of digits (15), see https://en.wikipedia.org/wiki/Telephone_numbering_plan
144 const int digitsCount = std::count_if(matchedText.cbegin(), matchedText.cend(), [](const QChar c) {
324 if (!previousCharIsSpace && (mText.at(mPos) == QLatin1Char(' ')) && ((mPos + 1) < mText.length())) {
379 // HACK: This is actually against the RFC. However, most people don't properly escape the URL in
406 if (ch != QLatin1Char('/') && ch != QLatin1Char('*') && ch != QLatin1Char('_') && ch != QLatin1Char('-')) {
412 const auto match = re.match(mText, mPos, QRegularExpression::NormalMatch, QRegularExpression::AnchoredMatchOption);
437 QString KTextToHTML::convertToHtml(const QString &plainText, const KTextToHTML::Options &flags, int maxUrlLen, int maxAddressLen)
462 while (helper.mPos < helper.mText.length() && helper.mText.at(helper.mPos) == QLatin1Char(' ')) {
492 result += QLatin1String("<br />\n"); // Keep the \n, so apps can figure out the quoting levels correctly.
538 result += QLatin1String("<a href=\"") + hyperlink + QLatin1String("\">") + str.toHtmlEscaped() + QLatin1String("</a>");
553 result += QLatin1String("<a href=\"mailto:") + str + QLatin1String("\">") + str + QLatin1String("</a>");
560 result += QLatin1String("<a href=\"tel:") + normalizePhoneNumber(str) + QLatin1String("\">") + str + QLatin1String("</a>");
579 const QStringList exclude = {QStringLiteral("(c)"), QStringLiteral("(C)"), QStringLiteral(">:-("), QStringLiteral(">:("), QStringLiteral("(B)"),
580 QStringLiteral("(b)"), QStringLiteral("(P)"), QStringLiteral("(p)"), QStringLiteral("(O)"), QStringLiteral("(o)"),
581 QStringLiteral("(D)"), QStringLiteral("(d)"), QStringLiteral("(E)"), QStringLiteral("(e)"), QStringLiteral("(K)"),
582 QStringLiteral("(k)"), QStringLiteral("(I)"), QStringLiteral("(i)"), QStringLiteral("(L)"), QStringLiteral("(l)"),
583 QStringLiteral("(8)"), QStringLiteral("(T)"), QStringLiteral("(t)"), QStringLiteral("(G)"), QStringLiteral("(g)"),
584 QStringLiteral("(F)"), QStringLiteral("(f)"), QStringLiteral("(H)"), QStringLiteral("8)"), QStringLiteral("(N)"),
QChar at(qsizetype n) const const
void truncate(int position)
int size() const const
QString toHtmlEscaped() const const
T value() const const
void clear()
QStringView mid(qsizetype start) const const
Q_SCRIPTABLE Q_NOREPLY void start()
void chop(int n)
AnchoredMatchOption
NormalMatch
QStringView::const_iterator cbegin() const const
void reserve(int size)
QStringView::const_iterator cend() const const
qsizetype size() const const
QString toString() const const
KCOREADDONS_EXPORT QString convertToHtml(const QString &plainText, const KTextToHTML::Options &options, int maxUrlLen=4096, int maxAddressLen=255)
Converts plaintext into html.
Definition: ktexttohtml.cpp:437
void truncate(qsizetype length)
bool isEmpty() const const
int length() const const
void push_back(QChar ch)
PostalAddress address(const QVariant &location)
QStringView trimmed() const const
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
InvertedGreedinessOption
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
@ HighlightText
Interpret text highlighting markup, like bold, underline and /italic/, and wrap them in corresponding...
Definition: ktexttohtml.h:48
int count() const const
QString left(int n) const const
KCOREADDONS_EXPORT Result match(QStringView pattern, QStringView str)
This is the main function which does scored fuzzy matching.
Definition: kfuzzymatcher.cpp:237
const QChar at(int position) const const
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
char toLatin1() const const
bool startsWith(QStringView str, Qt::CaseSensitivity cs) const const
bool isNull() const const
const QList< QKeySequence > & end()
QString & append(QChar ch)
QVariant property(const char *name) const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Dec 8 2023 04:03:01 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Dec 8 2023 04:03:01 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.