aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@qt.io>2020-06-16 10:23:19 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2020-06-16 22:46:16 +0200
commit1b10ce6a08edbc2ac7e8fd7e97e3fc691f2081df (patch)
tree34ab485d1dd9435369709b5e77c11af6dec78c22 /src/quick
parentb65eee039092fa664e781cdd98a4bb5e66815218 (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.cpp2
-rw-r--r--src/quick/items/context2d/qquickcontext2d.cpp22
-rw-r--r--src/quick/items/qquickpathview.cpp2
-rw-r--r--src/quick/items/qquickscalegrid.cpp8
-rw-r--r--src/quick/items/qquickscalegrid_p_p.h2
-rw-r--r--src/quick/items/qquicktextcontrol.cpp2
-rw-r--r--src/quick/items/qquicktextinput.cpp10
-rw-r--r--src/quick/util/qquickanimation.cpp2
-rw-r--r--src/quick/util/qquickglobal.cpp28
-rw-r--r--src/quick/util/qquickstategroup.cpp12
-rw-r--r--src/quick/util/qquickstyledtext.cpp44
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 &current
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 &current
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 &current
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)