gui: Add several QList::reserve() calls.
Reduces reallocations. Change-Id: I0db16726f413a67b76a73fabd013f910ab5f5109 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>bb10
parent
307f551291
commit
eca8f1bf98
|
|
@ -1216,7 +1216,9 @@ QList<QByteArray> QPicture::inputFormats()
|
|||
static QStringList qToStringList(const QList<QByteArray> &arr)
|
||||
{
|
||||
QStringList list;
|
||||
for (int i = 0; i < arr.count(); ++i)
|
||||
const int count = arr.count();
|
||||
list.reserve(count);
|
||||
for (int i = 0; i < count; ++i)
|
||||
list.append(QString::fromLatin1(arr.at(i)));
|
||||
return list;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1803,6 +1803,7 @@ QList<QStandardItem*> QStandardItem::takeRow(int row)
|
|||
int index = d->childIndex(row, 0); // Will return -1 if there are no columns
|
||||
if (index != -1) {
|
||||
int col_count = d->columnCount();
|
||||
items.reserve(col_count);
|
||||
for (int column = 0; column < col_count; ++column) {
|
||||
QStandardItem *ch = d->children.at(index + column);
|
||||
if (ch)
|
||||
|
|
@ -2518,7 +2519,9 @@ QList<QStandardItem*> QStandardItemModel::findItems(const QString &text,
|
|||
QModelIndexList indexes = match(index(0, column, QModelIndex()),
|
||||
Qt::DisplayRole, text, -1, flags);
|
||||
QList<QStandardItem*> items;
|
||||
for (int i = 0; i < indexes.size(); ++i)
|
||||
const int numIndexes = indexes.size();
|
||||
items.reserve(numIndexes);
|
||||
for (int i = 0; i < numIndexes; ++i)
|
||||
items.append(itemFromIndex(indexes.at(i)));
|
||||
return items;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,9 @@ static QStringList imageReadMimeFormats()
|
|||
{
|
||||
QStringList formats;
|
||||
QList<QByteArray> imageFormats = QImageReader::supportedImageFormats();
|
||||
for (int i = 0; i < imageFormats.size(); ++i) {
|
||||
const int numImageFormats = imageFormats.size();
|
||||
formats.reserve(numImageFormats);
|
||||
for (int i = 0; i < numImageFormats; ++i) {
|
||||
QString format = QLatin1String("image/");
|
||||
format += QString::fromLatin1(imageFormats.at(i).toLower());
|
||||
formats.append(format);
|
||||
|
|
@ -166,7 +168,9 @@ static QStringList imageWriteMimeFormats()
|
|||
{
|
||||
QStringList formats;
|
||||
QList<QByteArray> imageFormats = QImageWriter::supportedImageFormats();
|
||||
for (int i = 0; i < imageFormats.size(); ++i) {
|
||||
const int numImageFormats = imageFormats.size();
|
||||
formats.reserve(numImageFormats);
|
||||
for (int i = 0; i < numImageFormats; ++i) {
|
||||
QString format = QLatin1String("image/");
|
||||
format += QString::fromLatin1(imageFormats.at(i).toLower());
|
||||
formats.append(format);
|
||||
|
|
|
|||
|
|
@ -1534,6 +1534,7 @@ QList<QKeySequence> QKeySequence::listFromString(const QString &str, SequenceFor
|
|||
QList<QKeySequence> result;
|
||||
|
||||
QStringList strings = str.split(QLatin1String("; "));
|
||||
result.reserve(strings.count());
|
||||
foreach (const QString &string, strings) {
|
||||
result << fromString(string, format);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -329,6 +329,7 @@ QList<QScreen *> QScreen::virtualSiblings() const
|
|||
Q_D(const QScreen);
|
||||
QList<QPlatformScreen *> platformScreens = d->platformScreen->virtualSiblings();
|
||||
QList<QScreen *> screens;
|
||||
screens.reserve(platformScreens.count());
|
||||
foreach (QPlatformScreen *platformScreen, platformScreens)
|
||||
screens << platformScreen->screen();
|
||||
return screens;
|
||||
|
|
|
|||
|
|
@ -455,6 +455,7 @@ QList<QTouchEvent::TouchPoint> QWindowSystemInterfacePrivate::convertTouchPoints
|
|||
Qt::TouchPointStates states;
|
||||
QTouchEvent::TouchPoint p;
|
||||
|
||||
touchPoints.reserve(points.count());
|
||||
QList<QWindowSystemInterface::TouchPoint>::const_iterator point = points.constBegin();
|
||||
QList<QWindowSystemInterface::TouchPoint>::const_iterator end = points.constEnd();
|
||||
while (point != end) {
|
||||
|
|
|
|||
|
|
@ -1163,6 +1163,7 @@ QDataStream &operator>>(QDataStream &s, QBrush &b)
|
|||
QColor c;
|
||||
|
||||
s >> numStops;
|
||||
stops.reserve(numStops);
|
||||
for (quint32 i = 0; i < numStops; ++i) {
|
||||
s >> n >> c;
|
||||
stops << QPair<qreal, QColor>(n, c);
|
||||
|
|
|
|||
|
|
@ -7497,6 +7497,7 @@ start_lengthVariant:
|
|||
|
||||
if (engine.option.tabs().isEmpty() && ta) {
|
||||
QList<qreal> tabs;
|
||||
tabs.reserve(tabarraylen);
|
||||
for (int i = 0; i < tabarraylen; i++)
|
||||
tabs.append(qreal(ta[i]));
|
||||
engine.option.setTabArray(tabs);
|
||||
|
|
|
|||
|
|
@ -1952,7 +1952,9 @@ int QPdfEnginePrivate::createShadingFunction(const QGradient *gradient, int from
|
|||
stops.append(QGradientStop(1, stops.at(stops.size() - 1).second));
|
||||
|
||||
QVector<int> functions;
|
||||
for (int i = 0; i < stops.size() - 1; ++i) {
|
||||
const int numStops = stops.size();
|
||||
functions.reserve(numStops - 1);
|
||||
for (int i = 0; i < numStops - 1; ++i) {
|
||||
int f = addXrefEntry(-1);
|
||||
QByteArray data;
|
||||
QPdf::ByteStream s(&data);
|
||||
|
|
|
|||
|
|
@ -980,6 +980,7 @@ QDataStream &operator>>(QDataStream &s, QPen &p)
|
|||
quint32 numDashes;
|
||||
s >> numDashes;
|
||||
double dash;
|
||||
dashPattern.reserve(numDashes);
|
||||
for (quint32 i = 0; i < numDashes; ++i) {
|
||||
s >> dash;
|
||||
dashPattern << dash;
|
||||
|
|
|
|||
|
|
@ -461,6 +461,7 @@ void ValueExtractor::lengthValues(const Declaration &decl, int *m)
|
|||
}
|
||||
|
||||
QList<QVariant> v;
|
||||
v.reserve(4);
|
||||
for (i = 0; i < 4; i++) {
|
||||
v += QVariant::fromValue<LengthData>(datas[i]);
|
||||
m[i] = lengthValueFromData(datas[i], f);
|
||||
|
|
|
|||
|
|
@ -1860,14 +1860,9 @@ void QFont::removeSubstitutions(const QString &familyName)
|
|||
*/
|
||||
QStringList QFont::substitutions()
|
||||
{
|
||||
typedef QFontSubst::const_iterator QFontSubstConstIterator;
|
||||
|
||||
QFontSubst *fontSubst = globalFontSubst();
|
||||
Q_ASSERT(fontSubst != 0);
|
||||
QStringList ret;
|
||||
const QFontSubstConstIterator cend = fontSubst->constEnd();
|
||||
for (QFontSubstConstIterator it = fontSubst->constBegin(); it != cend; ++it)
|
||||
ret.append(it.key());
|
||||
QStringList ret = fontSubst->keys();
|
||||
|
||||
ret.sort();
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -1071,7 +1071,9 @@ void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *pain
|
|||
it = frameIteratorForYPosition(QFixed::fromReal(context.clip.top()));
|
||||
|
||||
QList<QTextFrame *> floats;
|
||||
for (int i = 0; i < fd->floats.count(); ++i)
|
||||
const int numFloats = fd->floats.count();
|
||||
floats.reserve(numFloats);
|
||||
for (int i = 0; i < numFloats; ++i)
|
||||
floats.append(fd->floats.at(i));
|
||||
|
||||
drawFlow(off, painter, context, it, floats, &cursorBlockNeedingRepaint);
|
||||
|
|
|
|||
|
|
@ -2863,6 +2863,7 @@ QFixed QTextEngine::calculateTabWidth(int item, QFixed x) const
|
|||
if (!tabArray.isEmpty()) {
|
||||
if (isRightToLeft()) { // rebase the tabArray positions.
|
||||
QList<QTextOption::Tab> newTabs;
|
||||
newTabs.reserve(tabArray.count());
|
||||
QList<QTextOption::Tab>::Iterator iter = tabArray.begin();
|
||||
while(iter != tabArray.end()) {
|
||||
QTextOption::Tab tab = *iter;
|
||||
|
|
|
|||
|
|
@ -1115,7 +1115,9 @@ void QTextFormat::setProperty(int propertyId, const QVector<QTextLength> &value)
|
|||
if (!d)
|
||||
d = new QTextFormatPrivate;
|
||||
QVariantList list;
|
||||
for (int i=0; i<value.size(); ++i)
|
||||
const int numValues = value.size();
|
||||
list.reserve(numValues);
|
||||
for (int i = 0; i < numValues; ++i)
|
||||
list << value.at(i);
|
||||
d->insertProperty(propertyId, list);
|
||||
}
|
||||
|
|
@ -2041,6 +2043,7 @@ QTextBlockFormat::QTextBlockFormat(const QTextFormat &fmt)
|
|||
void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs)
|
||||
{
|
||||
QList<QVariant> list;
|
||||
list.reserve(tabs.count());
|
||||
QList<QTextOption::Tab>::ConstIterator iter = tabs.constBegin();
|
||||
while (iter != tabs.constEnd()) {
|
||||
QVariant v;
|
||||
|
|
@ -2065,6 +2068,7 @@ QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const
|
|||
QList<QTextOption::Tab> answer;
|
||||
QList<QVariant> variantsList = qvariant_cast<QList<QVariant> >(variant);
|
||||
QList<QVariant>::Iterator iter = variantsList.begin();
|
||||
answer.reserve(variantsList.count());
|
||||
while(iter != variantsList.end()) {
|
||||
answer.append( qvariant_cast<QTextOption::Tab>(*iter));
|
||||
++iter;
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ void QTextOption::setTabArray(const QList<qreal> &tabStops)
|
|||
d = new QTextOptionPrivate;
|
||||
QList<QTextOption::Tab> tabs;
|
||||
QTextOption::Tab tab;
|
||||
tabs.reserve(tabStops.count());
|
||||
foreach (qreal pos, tabStops) {
|
||||
tab.position = pos;
|
||||
tabs.append(tab);
|
||||
|
|
@ -174,10 +175,11 @@ void QTextOption::setTabs(const QList<QTextOption::Tab> &tabStops)
|
|||
*/
|
||||
QList<qreal> QTextOption::tabArray() const
|
||||
{
|
||||
if (!d)
|
||||
return QList<qreal>();
|
||||
|
||||
QList<qreal> answer;
|
||||
if (!d)
|
||||
return answer;
|
||||
|
||||
answer.reserve(d->tabStops.count());
|
||||
QList<QTextOption::Tab>::ConstIterator iter = d->tabStops.constBegin();
|
||||
while(iter != d->tabStops.constEnd()) {
|
||||
answer.append( (*iter).position);
|
||||
|
|
|
|||
|
|
@ -916,7 +916,9 @@ QList<QZipReader::FileInfo> QZipReader::fileInfoList() const
|
|||
{
|
||||
d->scanFiles();
|
||||
QList<QZipReader::FileInfo> files;
|
||||
for (int i = 0; i < d->fileHeaders.size(); ++i) {
|
||||
const int numFileHeaders = d->fileHeaders.size();
|
||||
files.reserve(numFileHeaders);
|
||||
for (int i = 0; i < numFileHeaders; ++i) {
|
||||
QZipReader::FileInfo fi;
|
||||
d->fillFileInfo(i, fi);
|
||||
files.append(fi);
|
||||
|
|
|
|||
Loading…
Reference in New Issue