summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-05-25 14:25:06 +0200
committerLars Knoll <lars.knoll@qt.io>2020-06-11 02:51:03 +0200
commitd984adac68a70c0a23b411b103a4c8d777d6fb0d (patch)
treea519c261a12ef7cb98a3f29830ab53deb8cb9196 /src/gui/text
parent82a0f4a193367fc661c95a832fbec74f8e9a76d1 (diff)
Port QtGui from QStringRef to QStringView
Task-number: QTBUG-84319 Change-Id: I1761096fbcc9421a013cf73f831a2a2ba0c18006 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qcssparser.cpp20
-rw-r--r--src/gui/text/qfont.cpp2
-rw-r--r--src/gui/text/qfontdatabase.cpp6
-rw-r--r--src/gui/text/qtextdocument.cpp6
-rw-r--r--src/gui/text/qtextdocument_p.cpp10
-rw-r--r--src/gui/text/qtextengine.cpp4
-rw-r--r--src/gui/text/qtexthtmlparser.cpp12
-rw-r--r--src/gui/text/qzip.cpp2
8 files changed, 31 insertions, 31 deletions
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index 0896453ca8..2f7ccfb07e 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -403,14 +403,14 @@ ValueExtractor::ValueExtractor(const QVector<Declaration> &decls, const QPalette
LengthData ValueExtractor::lengthValue(const Value& v)
{
const QString str = v.variant.toString();
- QStringRef s(&str);
+ QStringView s(str);
LengthData data;
data.unit = LengthData::None;
- if (s.endsWith(QLatin1String("px"), Qt::CaseInsensitive))
+ if (s.endsWith(u"px", Qt::CaseInsensitive))
data.unit = LengthData::Px;
- else if (s.endsWith(QLatin1String("ex"), Qt::CaseInsensitive))
+ else if (s.endsWith(u"ex", Qt::CaseInsensitive))
data.unit = LengthData::Ex;
- else if (s.endsWith(QLatin1String("em"), Qt::CaseInsensitive))
+ else if (s.endsWith(u"em", Qt::CaseInsensitive))
data.unit = LengthData::Em;
if (data.unit != LengthData::None)
@@ -1513,7 +1513,7 @@ bool Declaration::realValue(qreal *real, const char *unit) const
if (unit && v.type != Value::Length)
return false;
const QString str = v.variant.toString();
- QStringRef s(&str);
+ QStringView s(str);
if (unit) {
const QLatin1String unitStr(unit);
if (!s.endsWith(unitStr, Qt::CaseInsensitive))
@@ -1532,7 +1532,7 @@ static bool intValueHelper(const QCss::Value &v, int *i, const char *unit)
if (unit && v.type != Value::Length)
return false;
const QString str = v.variant.toString();
- QStringRef s(&str);
+ QStringView s(str);
if (unit) {
const QLatin1String unitStr(unit);
if (!s.endsWith(unitStr, Qt::CaseInsensitive))
@@ -1584,7 +1584,7 @@ QRect Declaration::rectValue() const
const QStringList func = v.variant.toStringList();
if (func.count() != 2 || func.at(0).compare(QLatin1String("rect")) != 0)
return QRect();
- const auto args = func[1].splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
+ const auto args = QStringView{func[1]}.split(QLatin1Char(' '), Qt::SkipEmptyParts);
if (args.count() != 4)
return QRect();
QRect rect(args[0].toInt(), args[1].toInt(), args[2].toInt(), args[3].toInt());
@@ -2009,8 +2009,8 @@ bool StyleSelector::basicSelectorMatches(const BasicSelector &sel, NodePtr node)
return false;
break;
case QCss::AttributeSelector::MatchIncludes: {
- const auto lst = attrValue.splitRef(QLatin1Char(' '));
- if (!lst.contains(QStringRef(&a.value)))
+ const auto lst = QStringView{attrValue}.split(u' ');
+ if (!lst.contains(QStringView(a.value)))
return false;
break;
}
@@ -2189,7 +2189,7 @@ QString Scanner::preprocess(const QString &input, bool *hasEscapeSequences)
hexCount = qMin(hexCount, 6);
bool ok = false;
- const char16_t code = output.midRef(hexStart, hexCount).toUShort(&ok, 16);
+ const char16_t code = QStringView{output}.mid(hexStart, hexCount).toUShort(&ok, 16);
if (ok) {
output.replace(hexStart - 1, hexCount + 1, code);
i = hexStart;
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index a62daea256..9005c11792 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -2019,7 +2019,7 @@ size_t qHash(const QFont &font, size_t seed) noexcept
*/
bool QFont::fromString(const QString &descrip)
{
- const QStringRef sr = QStringRef(&descrip).trimmed();
+ const auto sr = QStringView(descrip).trimmed();
const auto l = sr.split(QLatin1Char(','));
const int count = l.count();
if (!count || (count > 2 && count < 9) || count > 11 ||
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 069f9bd5e5..993c37a92f 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -105,7 +105,7 @@ static int getFontWeight(const QString &weightString)
return QFont::Light;
if (s == QLatin1String("thin"))
return QFont::Thin;
- const QStringRef s2 = s.midRef(2);
+ const QStringView s2 = QStringView{s}.mid(2);
if (s.startsWith(QLatin1String("ex")) || s.startsWith(QLatin1String("ul"))) {
if (s2 == QLatin1String("tralight") || s == QLatin1String("tra light"))
return QFont::ExtraLight;
@@ -511,11 +511,11 @@ static QStringList familyList(const QFontDef &req)
family_list << req.families;
if (!req.family.isEmpty()) {
- const auto list = req.family.splitRef(QLatin1Char(','));
+ const auto list = QStringView{req.family}.split(QLatin1Char(','));
const int numFamilies = list.size();
family_list.reserve(numFamilies);
for (int i = 0; i < numFamilies; ++i) {
- QStringRef str = list.at(i).trimmed();
+ auto str = list.at(i).trimmed();
if ((str.startsWith(QLatin1Char('"')) && str.endsWith(QLatin1Char('"')))
|| (str.startsWith(QLatin1Char('\'')) && str.endsWith(QLatin1Char('\''))))
str = str.mid(1, str.length() - 2);
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 25a18f56a9..04edf89430 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -102,7 +102,7 @@ bool Qt::mightBeRichText(const QString& text)
++start;
// skip a leading <?xml ... ?> as for example with xhtml
- if (text.midRef(start, 5).compare(QLatin1String("<?xml")) == 0) {
+ if (QStringView{text}.mid(start, 5).compare(QLatin1String("<?xml")) == 0) {
while (start < text.length()) {
if (text.at(start) == QLatin1Char('?')
&& start + 2 < text.length()
@@ -117,12 +117,12 @@ bool Qt::mightBeRichText(const QString& text)
++start;
}
- if (text.midRef(start, 5).compare(QLatin1String("<!doc"), Qt::CaseInsensitive) == 0)
+ if (QStringView{text}.mid(start, 5).compare(QLatin1String("<!doc"), Qt::CaseInsensitive) == 0)
return true;
int open = start;
while (open < text.length() && text.at(open) != QLatin1Char('<')
&& text.at(open) != QLatin1Char('\n')) {
- if (text.at(open) == QLatin1Char('&') && text.midRef(open + 1, 3) == QLatin1String("lt;"))
+ if (text.at(open) == QLatin1Char('&') && QStringView{text}.mid(open + 1, 3) == QLatin1String("lt;"))
return true; // support desperate attempt of user to see <...>
++open;
}
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 524931ebde..5198425b26 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -132,7 +132,7 @@ static bool isValidBlockSeparator(QChar ch)
|| ch == QTextEndOfFrame;
}
-static bool noBlockInString(const QStringRef &str)
+static bool noBlockInString(QStringView str)
{
return !str.contains(QChar::ParagraphSeparator)
&& !str.contains(QTextBeginningOfFrame)
@@ -323,7 +323,7 @@ void QTextDocumentPrivate::setLayout(QAbstractTextDocumentLayout *layout)
void QTextDocumentPrivate::insert_string(int pos, uint strPos, uint length, int format, QTextUndoCommand::Operation op)
{
// ##### optimize when only appending to the fragment!
- Q_ASSERT(noBlockInString(text.midRef(strPos, length)));
+ Q_ASSERT(noBlockInString(QStringView{text}.mid(strPos, length)));
split(pos);
uint x = fragments.insert_single(pos, length);
@@ -479,7 +479,7 @@ void QTextDocumentPrivate::insert(int pos, const QString &str, int format)
if (str.size() == 0)
return;
- Q_ASSERT(noBlockInString(QStringRef(&str)));
+ Q_ASSERT(noBlockInString(str));
int strPos = text.length();
text.append(str);
@@ -497,7 +497,7 @@ int QTextDocumentPrivate::remove_string(int pos, uint length, QTextUndoCommand::
Q_ASSERT(blocks.size(b) > length);
Q_ASSERT(x && fragments.position(x) == (uint)pos && fragments.size(x) == length);
- Q_ASSERT(noBlockInString(text.midRef(fragments.fragment(x)->stringPosition, length)));
+ Q_ASSERT(noBlockInString(QStringView{text}.mid(fragments.fragment(x)->stringPosition, length)));
blocks.setSize(b, blocks.size(b)-length);
@@ -632,7 +632,7 @@ void QTextDocumentPrivate::move(int pos, int to, int length, QTextUndoCommand::O
if (key+1 != blocks.position(b)) {
// qDebug("remove_string from %d length %d", key, X->size_array[0]);
- Q_ASSERT(noBlockInString(text.midRef(X->stringPosition, X->size_array[0])));
+ Q_ASSERT(noBlockInString(QStringView{text}.mid(X->stringPosition, X->size_array[0])));
w = remove_string(key, X->size_array[0], op);
if (needsInsert) {
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 0500e54dde..ddc75c31fd 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -2979,7 +2979,7 @@ static QString stringMidRetainingBidiCC(const QString &string,
suffix += c;
}
- return prefix + ellidePrefix + string.midRef(midStart, midLength) + ellideSuffix + suffix;
+ return prefix + ellidePrefix + QStringView{string}.mid(midStart, midLength) + ellideSuffix + suffix;
}
QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int flags, int from, int count) const
@@ -3154,7 +3154,7 @@ QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int
if (prevCharJoins(layoutData->string, rightPos))
ellipsisText.append(ZWJ);
- return layoutData->string.midRef(from, leftPos - from) + ellipsisText + layoutData->string.midRef(rightPos, to - rightPos);
+ return QStringView{layoutData->string}.mid(from, leftPos - from) + ellipsisText + QStringView{layoutData->string}.mid(rightPos, to - rightPos);
}
return layoutData->string.mid(from, to - from);
diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp
index be82578f5c..bec636757e 100644
--- a/src/gui/text/qtexthtmlparser.cpp
+++ b/src/gui/text/qtexthtmlparser.cpp
@@ -328,17 +328,17 @@ bool operator<(const QTextHtmlEntity &entity1, const QTextHtmlEntity &entity2)
}
#endif
-static bool operator<(const QStringRef &entityStr, const QTextHtmlEntity &entity)
+static bool operator<(QStringView entityStr, const QTextHtmlEntity &entity)
{
return entityStr < QLatin1String(entity.name);
}
-static bool operator<(const QTextHtmlEntity &entity, const QStringRef &entityStr)
+static bool operator<(const QTextHtmlEntity &entity, QStringView entityStr)
{
return QLatin1String(entity.name) < entityStr;
}
-static QChar resolveEntity(const QStringRef &entity)
+static QChar resolveEntity(QStringView entity)
{
const QTextHtmlEntity *start = &entities[0];
const QTextHtmlEntity *end = &entities[MAX_ENTITY];
@@ -804,7 +804,7 @@ QString QTextHtmlParser::parseEntity()
{
const int recover = pos;
int entityLen = 0;
- QStringRef entity;
+ QStringView entity;
while (pos < len) {
QChar c = txt.at(pos++);
if (c.isSpace() || pos - recover > 9) {
@@ -815,7 +815,7 @@ QString QTextHtmlParser::parseEntity()
++entityLen;
}
if (entityLen) {
- entity = QStringRef(&txt, recover, entityLen);
+ entity = QStringView(txt).mid(recover, entityLen);
QChar resolved = resolveEntity(entity);
if (!resolved.isNull())
return QString(resolved);
@@ -1503,7 +1503,7 @@ static void setWidthAttribute(QTextLength *width, const QString &valueStr)
if (ok) {
*width = QTextLength(QTextLength::FixedLength, realVal);
} else {
- QStringRef value = QStringRef(&valueStr).trimmed();
+ auto value = QStringView(valueStr).trimmed();
if (!value.isEmpty() && value.endsWith(QLatin1Char('%'))) {
value.truncate(value.size() - 1);
realVal = value.toDouble(&ok);
diff --git a/src/gui/text/qzip.cpp b/src/gui/text/qzip.cpp
index 80c0f122e8..fbb2c93515 100644
--- a/src/gui/text/qzip.cpp
+++ b/src/gui/text/qzip.cpp
@@ -497,7 +497,7 @@ QZipReader::FileInfo QZipPrivate::fillFileInfo(int index) const
// fix the file path, if broken (convert separators, eat leading and trailing ones)
fileInfo.filePath = QDir::fromNativeSeparators(fileInfo.filePath);
- QStringRef filePathRef(&fileInfo.filePath);
+ QStringView filePathRef(fileInfo.filePath);
while (filePathRef.startsWith(QLatin1Char('.')) || filePathRef.startsWith(QLatin1Char('/')))
filePathRef = filePathRef.mid(1);
while (filePathRef.endsWith(QLatin1Char('/')))