diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-10-12 14:18:02 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-10-14 11:05:03 +0000 |
commit | 3ea8faca3a3533ab7bf1a23452e2527e880f2659 (patch) | |
tree | f37ce6ff131f660f52ecfc3f25e8813ca1d60e2f /src/quick/items/qquicktextinput.cpp | |
parent | 2fecb343c2812d2f7e0fe705074401f3fb152279 (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.cpp | 7 |
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; } } |