diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-06-16 10:23:19 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-06-16 22:46:16 +0200 |
commit | 1b10ce6a08edbc2ac7e8fd7e97e3fc691f2081df (patch) | |
tree | 34ab485d1dd9435369709b5e77c11af6dec78c22 /src/quick | |
parent | b65eee039092fa664e781cdd98a4bb5e66815218 (diff) |
Port QtDeclarative from QStringRef to QStringView
Task-number: QTBUG-84319
Change-Id: I2dcfb8a2db98282c7a1acdad1e6f4f949f26df15
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d.cpp | 22 | ||||
-rw-r--r-- | src/quick/items/qquickpathview.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickscalegrid.cpp | 8 | ||||
-rw-r--r-- | src/quick/items/qquickscalegrid_p_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquicktextcontrol.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 10 | ||||
-rw-r--r-- | src/quick/util/qquickanimation.cpp | 2 | ||||
-rw-r--r-- | src/quick/util/qquickglobal.cpp | 28 | ||||
-rw-r--r-- | src/quick/util/qquickstategroup.cpp | 12 | ||||
-rw-r--r-- | src/quick/util/qquickstyledtext.cpp | 44 |
11 files changed, 67 insertions, 67 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 9ee0dbba04..f182f94357 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -1133,7 +1133,7 @@ static const char* mimeToType(const QString &mime) const QLatin1String imagePrefix("image/"); if (!mime.startsWith(imagePrefix)) return nullptr; - const QStringRef mimeExt = mime.midRef(imagePrefix.size()); + const QStringView mimeExt = QStringView{mime}.mid(imagePrefix.size()); if (mimeExt == QLatin1String("png")) return "png"; else if (mimeExt == QLatin1String("bmp")) diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index f7cbf11927..4b231befd9 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -205,7 +205,7 @@ Q_QUICK_PRIVATE_EXPORT QColor qt_color_from_string(const QV4::Value &name) return QColor(); } -static int qParseFontSizeFromToken(const QStringRef &fontSizeToken, bool &ok) +static int qParseFontSizeFromToken(QStringView fontSizeToken, bool &ok) { ok = false; float size = fontSizeToken.trimmed().toFloat(&ok); @@ -221,11 +221,11 @@ static int qParseFontSizeFromToken(const QStringRef &fontSizeToken, bool &ok) \c true if successful. If the font size is invalid, \c false is returned and a warning is printed. */ -static bool qSetFontSizeFromToken(QFont &font, const QStringRef &fontSizeToken) +static bool qSetFontSizeFromToken(QFont &font, QStringView fontSizeToken) { - const QStringRef trimmedToken = fontSizeToken.trimmed(); - const QStringRef unitStr = trimmedToken.right(2); - const QStringRef value = trimmedToken.left(trimmedToken.size() - 2); + const QStringView trimmedToken = fontSizeToken.trimmed(); + const QStringView unitStr = trimmedToken.right(2); + const QStringView value = trimmedToken.left(trimmedToken.size() - 2); bool ok = false; int size = 0; if (unitStr == QLatin1String("px")) { @@ -251,7 +251,7 @@ static bool qSetFontSizeFromToken(QFont &font, const QStringRef &fontSizeToken) each family is separated by spaces. Families with spaces in their name must be quoted. */ -static QStringList qExtractFontFamiliesFromString(const QStringRef &fontFamiliesString) +static QStringList qExtractFontFamiliesFromString(QStringView fontFamiliesString) { QStringList extractedFamilies; int quoteIndex = -1; @@ -395,16 +395,16 @@ static QFont qt_font_from_string(const QString& fontString, const QFont ¤t fontSizeEnd += 3; QFont newFont; - if (!qSetFontSizeFromToken(newFont, fontString.midRef(fontSizeStart, fontSizeEnd - fontSizeStart))) + if (!qSetFontSizeFromToken(newFont, QStringView{fontString}.mid(fontSizeStart, fontSizeEnd - fontSizeStart))) return currentFont; // We don't want to parse the size twice, so remove it now. QString remainingFontString = fontString; remainingFontString.remove(fontSizeStart, fontSizeEnd - fontSizeStart); - QStringRef remainingFontStringRef(&remainingFontString); + QStringView remainingFontStringRef(remainingFontString); // Next, we have to take any font families out, as QString::split() will ruin quoted family names. - const QStringRef fontFamiliesString = remainingFontStringRef.mid(fontSizeStart); + const QStringView fontFamiliesString = remainingFontStringRef.mid(fontSizeStart); remainingFontStringRef.truncate(fontSizeStart); QStringList fontFamilies = qExtractFontFamiliesFromString(fontFamiliesString); if (fontFamilies.isEmpty()) { @@ -414,7 +414,7 @@ static QFont qt_font_from_string(const QString& fontString, const QFont ¤t return currentFont; // Now that we've removed the messy parts, we can split the font string on spaces. - const QStringRef trimmedTokensStr = remainingFontStringRef.trimmed(); + const QStringView trimmedTokensStr = remainingFontStringRef.trimmed(); if (trimmedTokensStr.isEmpty()) { // No optional properties. return newFont; @@ -423,7 +423,7 @@ static QFont qt_font_from_string(const QString& fontString, const QFont ¤t int usedTokens = NoTokens; // Optional properties can be in any order, but font-size and font-family must be last. - for (const QStringRef &token : tokens) { + for (const QStringView &token : tokens) { if (token.compare(QLatin1String("normal")) == 0) { if (!(usedTokens & FontStyle) || !(usedTokens & FontVariant) || !(usedTokens & FontWeight)) { // Could be font-style, font-variant or font-weight. diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp index 4860378957..e6ec9e21d9 100644 --- a/src/quick/items/qquickpathview.cpp +++ b/src/quick/items/qquickpathview.cpp @@ -1990,7 +1990,7 @@ void QQuickPathView::refill() if (lcItemViewDelegateLifecycle().isDebugEnabled()) { QQuickText *text = qmlobject_cast<QQuickText*>(item); if (text) - qCDebug(lcItemViewDelegateLifecycle) << "idx" << idx << "@" << pos << ": QQuickText" << text->objectName() << text->text().leftRef(40); + qCDebug(lcItemViewDelegateLifecycle) << "idx" << idx << "@" << pos << ": QQuickText" << text->objectName() << QStringView{text->text()}.left(40); else qCDebug(lcItemViewDelegateLifecycle) << "idx" << idx << "@" << pos << ":" << item; } diff --git a/src/quick/items/qquickscalegrid.cpp b/src/quick/items/qquickscalegrid.cpp index 23f179be1d..c2288cf220 100644 --- a/src/quick/items/qquickscalegrid.cpp +++ b/src/quick/items/qquickscalegrid.cpp @@ -140,8 +140,8 @@ QQuickGridScaledImage::QQuickGridScaledImage(QIODevice *data) if (colonId <= 0) return; - const QStringRef property = line.leftRef(colonId).trimmed(); - QStringRef value = line.midRef(colonId + 1).trimmed(); + const QStringView property = QStringView{line}.left(colonId).trimmed(); + QStringView value = QStringView{line}.mid(colonId + 1).trimmed(); if (property == QLatin1String("border.left")) { l = value.toInt(); @@ -169,9 +169,9 @@ QQuickGridScaledImage::QQuickGridScaledImage(QIODevice *data) _pix = imgFile; } -QQuickBorderImage::TileMode QQuickGridScaledImage::stringToRule(const QStringRef &s) +QQuickBorderImage::TileMode QQuickGridScaledImage::stringToRule(QStringView s) { - QStringRef string = s; + QStringView string = s; if (string.startsWith(QLatin1Char('"')) && string.endsWith(QLatin1Char('"'))) string = string.mid(1, string.size() - 2); // remove leading/trailing quotes. diff --git a/src/quick/items/qquickscalegrid_p_p.h b/src/quick/items/qquickscalegrid_p_p.h index 1eb6c05ef1..1e3746161b 100644 --- a/src/quick/items/qquickscalegrid_p_p.h +++ b/src/quick/items/qquickscalegrid_p_p.h @@ -122,7 +122,7 @@ public: QString pixmapUrl() const; private: - static QQuickBorderImage::TileMode stringToRule(const QStringRef &); + static QQuickBorderImage::TileMode stringToRule(QStringView); private: int _l; diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index 30f1e7f405..6a3b2cb277 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -1461,7 +1461,7 @@ QVariant QQuickTextControl::inputMethodQuery(Qt::InputMethodQuery property, cons tmpCursor.movePosition(QTextCursor::NextBlock); --numBlocks; } - result += block.text().midRef(0,localPos); + result += QStringView{block.text()}.mid(0,localPos); return QVariant(result); } default: diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 2f022e6c08..bdbf23bfe2 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -1999,7 +1999,7 @@ QVariant QQuickTextInput::inputMethodQuery(Qt::InputMethodQuery property, const return QVariant(d->m_text.mid(d->m_cursor)); case Qt::ImTextBeforeCursor: if (argument.isValid()) - return QVariant(d->m_text.leftRef(d->m_cursor).right(argument.toInt()).toString()); + return QVariant(QStringView{d->m_text}.left(d->m_cursor).right(argument.toInt()).toString()); return QVariant(d->m_text.left(d->m_cursor)); default: return QQuickItem::inputMethodQuery(property); @@ -2041,7 +2041,7 @@ bool QQuickTextInput::isRightToLeft(int start, int end) qmlWarning(this) << "isRightToLeft(start, end) called with the end property being smaller than the start."; return false; } else { - return text().midRef(start, end - start).isRightToLeft(); + return QStringView{text()}.mid(start, end - start).isRightToLeft(); } } @@ -3728,7 +3728,7 @@ void QQuickTextInputPrivate::internalInsert(const QString &s) } else { int remaining = m_maxLength - m_text.length(); if (remaining != 0) { - const QStringRef remainingStr = s.leftRef(remaining); + const QStringView remainingStr = QStringView{s}.left(remaining); m_text.insert(m_cursor, remainingStr); for (auto e : remainingStr) addCommand(Command(Insert, m_cursor++, e, -1, -1)); @@ -4084,14 +4084,14 @@ QString QQuickTextInputPrivate::maskString(uint pos, const QString &str, bool cl int n = findInMask(i, true, true, str[strIndex]); if (n != -1) { if (str.length() != 1 || i == 0 || (i > 0 && (!m_maskData[i-1].separator || m_maskData[i-1].maskChar != str[strIndex]))) { - s += fill.midRef(i, n-i+1); + s += QStringView{fill}.mid(i, n-i+1); i = n + 1; // update i to find + 1 } } else { // search for valid m_blank if not n = findInMask(i, true, false, str[strIndex]); if (n != -1) { - s += fill.midRef(i, n-i); + s += QStringView{fill}.mid(i, n-i); switch (m_maskData[n].caseMode) { case MaskInputData::Upper: s += str[strIndex].toUpper(); diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index ded353a90a..82d6ca26be 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -1010,7 +1010,7 @@ void QQuickScriptActionPrivate::debugAction(QDebug d, int indentLevel) const QByteArray ind(indentLevel, u' '); QString exprStr = expr.expression(); int endOfFirstLine = exprStr.indexOf(u'\n'); - d << "\n" << ind.constData() << exprStr.leftRef(endOfFirstLine); + d << "\n" << ind.constData() << QStringView{exprStr}.left(endOfFirstLine); if (endOfFirstLine != -1 && endOfFirstLine < exprStr.length()) d << "..."; } diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp index f5d4a54e74..2c20f1c76a 100644 --- a/src/quick/util/qquickglobal.cpp +++ b/src/quick/util/qquickglobal.cpp @@ -178,8 +178,8 @@ public: int index = s.indexOf(QLatin1Char(',')); bool xGood, yGood; - float xCoord = s.leftRef(index).toFloat(&xGood); - float yCoord = s.midRef(index + 1).toFloat(&yGood); + float xCoord = QStringView{s}.left(index).toFloat(&xGood); + float yCoord = QStringView{s}.mid(index + 1).toFloat(&yGood); if (xGood && yGood) { if (ok) *ok = true; @@ -198,9 +198,9 @@ public: int index2 = s.indexOf(QLatin1Char(','), index+1); bool xGood, yGood, zGood; - float xCoord = s.leftRef(index).toFloat(&xGood); - float yCoord = s.midRef(index + 1, index2 - index - 1).toFloat(&yGood); - float zCoord = s.midRef(index2 + 1).toFloat(&zGood); + float xCoord = QStringView{s}.left(index).toFloat(&xGood); + float yCoord = QStringView{s}.mid(index + 1, index2 - index - 1).toFloat(&yGood); + float zCoord = QStringView{s}.mid(index2 + 1).toFloat(&zGood); if (xGood && yGood && zGood) { if (ok) *ok = true; @@ -220,10 +220,10 @@ public: int index3 = s.indexOf(QLatin1Char(','), index2+1); bool xGood, yGood, zGood, wGood; - float xCoord = s.leftRef(index).toFloat(&xGood); - float yCoord = s.midRef(index + 1, index2 - index - 1).toFloat(&yGood); - float zCoord = s.midRef(index2 + 1, index3 - index2 - 1).toFloat(&zGood); - float wCoord = s.midRef(index3 + 1).toFloat(&wGood); + float xCoord = QStringView{s}.left(index).toFloat(&xGood); + float yCoord = QStringView{s}.mid(index + 1, index2 - index - 1).toFloat(&yGood); + float zCoord = QStringView{s}.mid(index2 + 1, index3 - index2 - 1).toFloat(&zGood); + float wCoord = QStringView{s}.mid(index3 + 1).toFloat(&wGood); if (xGood && yGood && zGood && wGood) { if (ok) *ok = true; @@ -243,10 +243,10 @@ public: int index3 = s.indexOf(QLatin1Char(','), index2+1); bool sGood, xGood, yGood, zGood; - qreal sCoord = s.leftRef(index).toDouble(&sGood); - qreal xCoord = s.midRef(index+1, index2-index-1).toDouble(&xGood); - qreal yCoord = s.midRef(index2+1, index3-index2-1).toDouble(&yGood); - qreal zCoord = s.midRef(index3+1).toDouble(&zGood); + qreal sCoord = QStringView{s}.left(index).toDouble(&sGood); + qreal xCoord = QStringView{s}.mid(index+1, index2-index-1).toDouble(&xGood); + qreal yCoord = QStringView{s}.mid(index2+1, index3-index2-1).toDouble(&yGood); + qreal zCoord = QStringView{s}.mid(index3+1).toDouble(&zGood); if (sGood && xGood && yGood && zGood) { if (ok) *ok = true; @@ -263,7 +263,7 @@ public: if (s.count(QLatin1Char(',')) == 15) { float matValues[16]; bool vOK = true; - QStringRef mutableStr(&s); + QStringView mutableStr(s); for (int i = 0; vOK && i < 16; ++i) { int cidx = mutableStr.indexOf(QLatin1Char(',')); matValues[i] = mutableStr.left(cidx).toDouble(&vOK); diff --git a/src/quick/util/qquickstategroup.cpp b/src/quick/util/qquickstategroup.cpp index 2109aafc10..9cb3e26c04 100644 --- a/src/quick/util/qquickstategroup.cpp +++ b/src/quick/util/qquickstategroup.cpp @@ -420,26 +420,26 @@ QQuickTransition *QQuickStateGroupPrivate::findTransition(const QString &from, c const QString fromStateStr = t->fromState(); const QString toStateStr = t->toState(); - QVector<QStringRef> fromState = fromStateStr.splitRef(QLatin1Char(',')); + auto fromState = QStringView{fromStateStr}.split(QLatin1Char(',')); for (int jj = 0; jj < fromState.count(); ++jj) fromState[jj] = fromState.at(jj).trimmed(); - QVector<QStringRef> toState = toStateStr.splitRef(QLatin1Char(',')); + auto toState = QStringView{toStateStr}.split(QLatin1Char(',')); for (int jj = 0; jj < toState.count(); ++jj) toState[jj] = toState.at(jj).trimmed(); if (ii == 1) qSwap(fromState, toState); int tScore = 0; const QString asterisk = QStringLiteral("*"); - if (fromState.contains(QStringRef(&from))) + if (fromState.contains(QStringView(from))) tScore += 2; - else if (fromState.contains(QStringRef(&asterisk))) + else if (fromState.contains(QStringView(asterisk))) tScore += 1; else continue; - if (toState.contains(QStringRef(&to))) + if (toState.contains(QStringView(to))) tScore += 2; - else if (toState.contains(QStringRef(&asterisk))) + else if (toState.contains(QStringView(asterisk))) tScore += 1; else continue; diff --git a/src/quick/util/qquickstyledtext.cpp b/src/quick/util/qquickstyledtext.cpp index 660852ba83..053aa9823f 100644 --- a/src/quick/util/qquickstyledtext.cpp +++ b/src/quick/util/qquickstyledtext.cpp @@ -104,8 +104,8 @@ public: bool parseUnorderedListAttributes(const QChar *&ch, const QString &textIn); bool parseAnchorAttributes(const QChar *&ch, const QString &textIn, QTextCharFormat &format); void parseImageAttributes(const QChar *&ch, const QString &textIn, QString &textOut); - QPair<QStringRef,QStringRef> parseAttribute(const QChar *&ch, const QString &textIn); - QStringRef parseValue(const QChar *&ch, const QString &textIn); + QPair<QStringView,QStringView> parseAttribute(const QChar *&ch, const QString &textIn); + QStringView parseValue(const QChar *&ch, const QString &textIn); void setFontSize(int size, QTextCharFormat &format); inline void skipSpace(const QChar *&ch) { @@ -298,7 +298,7 @@ void QQuickStyledTextPrivate::appendText(const QString &textIn, int start, int l { if (prependSpace) textOut.append(space); - textOut.append(QStringRef(&textIn, start, length)); + textOut.append(QStringView(textIn).mid(start, length)); prependSpace = false; hasSpace = false; hasNewLine = false; @@ -328,7 +328,7 @@ bool QQuickStyledTextPrivate::parseTag(const QChar *&ch, const QString &textIn, if (*ch == greaterThan) { if (tagLength == 0) return false; - QStringRef tag(&textIn, tagStart, tagLength); + auto tag = QStringView(textIn).mid(tagStart, tagLength); const QChar char0 = tag.at(0); if (char0 == QLatin1Char('b')) { if (tagLength == 1) { @@ -437,7 +437,7 @@ bool QQuickStyledTextPrivate::parseTag(const QChar *&ch, const QString &textIn, return false; } else if (ch->isSpace()) { // may have params. - QStringRef tag(&textIn, tagStart, tagLength); + auto tag = QStringView(textIn).mid(tagStart, tagLength); if (tag == QLatin1String("font")) return parseFontAttributes(ch, textIn, format); if (tag == QLatin1String("ol")) { @@ -475,7 +475,7 @@ bool QQuickStyledTextPrivate::parseCloseTag(const QChar *&ch, const QString &tex if (*ch == greaterThan) { if (tagLength == 0) return false; - QStringRef tag(&textIn, tagStart, tagLength); + auto tag = QStringView(textIn).mid(tagStart, tagLength); const QChar char0 = tag.at(0); hasNewLine = false; if (char0 == QLatin1Char('b')) { @@ -555,7 +555,7 @@ void QQuickStyledTextPrivate::parseEntity(const QChar *&ch, const QString &textI int entityLength = 0; while (!ch->isNull()) { if (*ch == QLatin1Char(';')) { - QStringRef entity(&textIn, entityStart, entityLength); + auto entity = QStringView(textIn).mid(entityStart, entityLength); if (entity == QLatin1String("gt")) textOut += QChar(62); else if (entity == QLatin1String("lt")) @@ -568,7 +568,7 @@ void QQuickStyledTextPrivate::parseEntity(const QChar *&ch, const QString &textI textOut += QChar(QChar::Nbsp); return; } else if (*ch == QLatin1Char(' ')) { - QStringRef entity(&textIn, entityStart - 1, entityLength + 1); + auto entity = QStringView(textIn).mid(entityStart - 1, entityLength + 1); textOut += entity + *ch; return; } @@ -580,7 +580,7 @@ void QQuickStyledTextPrivate::parseEntity(const QChar *&ch, const QString &textI bool QQuickStyledTextPrivate::parseFontAttributes(const QChar *&ch, const QString &textIn, QTextCharFormat &format) { bool valid = false; - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); if (attr.first == QLatin1String("color")) { @@ -608,7 +608,7 @@ bool QQuickStyledTextPrivate::parseOrderedListAttributes(const QChar *&ch, const listItem.type = Ordered; listItem.format = Decimal; - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); if (attr.first == QLatin1String("type")) { @@ -637,7 +637,7 @@ bool QQuickStyledTextPrivate::parseUnorderedListAttributes(const QChar *&ch, con listItem.type = Unordered; listItem.format = Bullet; - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); if (attr.first == QLatin1String("type")) { @@ -657,7 +657,7 @@ bool QQuickStyledTextPrivate::parseAnchorAttributes(const QChar *&ch, const QStr { bool valid = false; - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); if (attr.first == QLatin1String("href")) { @@ -682,7 +682,7 @@ void QQuickStyledTextPrivate::parseImageAttributes(const QChar *&ch, const QStri QQuickStyledTextImgTag *image = new QQuickStyledTextImgTag; image->position = textOut.length() + (trailingSpace ? 0 : 1); - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); if (attr.first == QLatin1String("src")) { @@ -727,7 +727,7 @@ void QQuickStyledTextPrivate::parseImageAttributes(const QChar *&ch, const QStri image->position = textOut.length() + (trailingSpace ? 0 : 1); imgWidth = image->size.width(); image->offset = -std::fmod(imgWidth, spaceWidth) / 2.0; - QPair<QStringRef,QStringRef> attr; + QPair<QStringView,QStringView> attr; do { attr = parseAttribute(ch, textIn); } while (!ch->isNull() && !attr.first.isEmpty()); @@ -740,7 +740,7 @@ void QQuickStyledTextPrivate::parseImageAttributes(const QChar *&ch, const QStri textOut += padding + QLatin1Char(' '); } -QPair<QStringRef,QStringRef> QQuickStyledTextPrivate::parseAttribute(const QChar *&ch, const QString &textIn) +QPair<QStringView,QStringView> QQuickStyledTextPrivate::parseAttribute(const QChar *&ch, const QString &textIn) { skipSpace(ch); @@ -759,10 +759,10 @@ QPair<QStringRef,QStringRef> QQuickStyledTextPrivate::parseAttribute(const QChar ++ch; if (!attrLength) break; - QStringRef attr(&textIn, attrStart, attrLength); - QStringRef val = parseValue(ch, textIn); + auto attr = QStringView(textIn).mid(attrStart, attrLength); + QStringView val = parseValue(ch, textIn); if (!val.isEmpty()) - return QPair<QStringRef,QStringRef>(attr,val); + return QPair<QStringView,QStringView>(attr,val); break; } else { ++attrLength; @@ -770,10 +770,10 @@ QPair<QStringRef,QStringRef> QQuickStyledTextPrivate::parseAttribute(const QChar ++ch; } - return QPair<QStringRef,QStringRef>(); + return QPair<QStringView,QStringView>(); } -QStringRef QQuickStyledTextPrivate::parseValue(const QChar *&ch, const QString &textIn) +QStringView QQuickStyledTextPrivate::parseValue(const QChar *&ch, const QString &textIn) { int valStart = ch - textIn.constData(); int valLength = 0; @@ -782,10 +782,10 @@ QStringRef QQuickStyledTextPrivate::parseValue(const QChar *&ch, const QString & ++ch; } if (ch->isNull()) - return QStringRef(); + return QStringView(); ++ch; // skip quote - return QStringRef(&textIn, valStart, valLength); + return QStringView(textIn).mid(valStart, valLength); } QString QQuickStyledTextPrivate::toAlpha(int value, bool upper) |