aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextinput.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-10-12 14:18:02 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-10-14 11:05:03 +0000
commit3ea8faca3a3533ab7bf1a23452e2527e880f2659 (patch)
treef37ce6ff131f660f52ecfc3f25e8813ca1d60e2f /src/quick/items/qquicktextinput.cpp
parent2fecb343c2812d2f7e0fe705074401f3fb152279 (diff)
QQuickTextInput: replace QString::left with QString::leftRef
Reduce memory allocations. While touching the code, port index-based loop to C++11 range-for loop. Change-Id: I7b11f463177f1355fc8be2b44c7a45a82ba1610c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/quick/items/qquicktextinput.cpp')
-rw-r--r--src/quick/items/qquicktextinput.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 68112461b2..4c9a1f8dfc 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -3687,9 +3687,10 @@ void QQuickTextInputPrivate::internalInsert(const QString &s)
} else {
int remaining = m_maxLength - m_text.length();
if (remaining != 0) {
- m_text.insert(m_cursor, s.left(remaining));
- for (int i = 0; i < s.leftRef(remaining).length(); ++i)
- addCommand(Command(Insert, m_cursor++, s.at(i), -1, -1));
+ const QStringRef remainingStr = s.leftRef(remaining);
+ m_text.insert(m_cursor, remainingStr);
+ for (auto e : remainingStr)
+ addCommand(Command(Insert, m_cursor++, e, -1, -1));
m_textDirty = true;
}
}