widgets: Use QList::reserve(), reduces reallocations.
Change-Id: I49cc03f365c77f142f62c8e77505ec09723a44d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
parent
a4d3af9614
commit
fece7cdb5d
@ -198,7 +198,9 @@ QList<QAccessibleInterface *> QAccessibleTable::selectedCells() const
|
||||
QList<QAccessibleInterface*> cells;
|
||||
if (!view()->selectionModel())
|
||||
return cells;
|
||||
Q_FOREACH (const QModelIndex &index, view()->selectionModel()->selectedIndexes())
|
||||
const QModelIndexList selectedIndexes = view()->selectionModel()->selectedIndexes();
|
||||
cells.reserve(selectedIndexes.size());
|
||||
Q_FOREACH (const QModelIndex &index, selectedIndexes)
|
||||
cells.append(child(logicalIndex(index)));
|
||||
return cells;
|
||||
}
|
||||
@ -208,9 +210,11 @@ QList<int> QAccessibleTable::selectedColumns() const
|
||||
if (!view()->selectionModel())
|
||||
return QList<int>();
|
||||
QList<int> columns;
|
||||
Q_FOREACH (const QModelIndex &index, view()->selectionModel()->selectedColumns()) {
|
||||
const QModelIndexList selectedColumns = view()->selectionModel()->selectedColumns();
|
||||
columns.reserve(selectedColumns.size());
|
||||
Q_FOREACH (const QModelIndex &index, selectedColumns)
|
||||
columns.append(index.column());
|
||||
}
|
||||
|
||||
return columns;
|
||||
}
|
||||
|
||||
@ -219,9 +223,11 @@ QList<int> QAccessibleTable::selectedRows() const
|
||||
if (!view()->selectionModel())
|
||||
return QList<int>();
|
||||
QList<int> rows;
|
||||
Q_FOREACH (const QModelIndex &index, view()->selectionModel()->selectedRows()) {
|
||||
const QModelIndexList selectedRows = view()->selectionModel()->selectedRows();
|
||||
rows.reserve(selectedRows.size());
|
||||
Q_FOREACH (const QModelIndex &index, selectedRows)
|
||||
rows.append(index.row());
|
||||
}
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
@ -1189,12 +1189,17 @@ QList<QUrl> QFileDialogPrivate::userSelectedFiles() const
|
||||
if (!usingWidgets())
|
||||
return addDefaultSuffixToUrls(selectedFiles_sys());
|
||||
|
||||
foreach (const QModelIndex &index, qFileDialogUi->listView->selectionModel()->selectedRows())
|
||||
const QModelIndexList selectedRows = qFileDialogUi->listView->selectionModel()->selectedRows();
|
||||
files.reserve(selectedRows.size());
|
||||
foreach (const QModelIndex &index, selectedRows)
|
||||
files.append(QUrl::fromLocalFile(index.data(QFileSystemModel::FilePathRole).toString()));
|
||||
|
||||
if (files.isEmpty() && !lineEdit()->text().isEmpty())
|
||||
foreach (const QString &path, typedFiles())
|
||||
if (files.isEmpty() && !lineEdit()->text().isEmpty()) {
|
||||
const QStringList typedFilesList = typedFiles();
|
||||
files.reserve(typedFilesList.size());
|
||||
foreach (const QString &path, typedFilesList)
|
||||
files.append(QUrl::fromLocalFile(path));
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
@ -1228,7 +1233,9 @@ QStringList QFileDialogPrivate::addDefaultSuffixToFiles(const QStringList &files
|
||||
QList<QUrl> QFileDialogPrivate::addDefaultSuffixToUrls(const QList<QUrl> &urlsToFix) const
|
||||
{
|
||||
QList<QUrl> urls;
|
||||
for (int i=0; i<urlsToFix.size(); ++i) {
|
||||
const int numUrlsToFix = urlsToFix.size();
|
||||
urls.reserve(numUrlsToFix);
|
||||
for (int i = 0; i < numUrlsToFix; ++i) {
|
||||
QUrl url = urlsToFix.at(i);
|
||||
// if the filename has no suffix, add the default suffix
|
||||
const QString defaultSuffix = options->defaultSuffix();
|
||||
@ -1252,7 +1259,9 @@ QStringList QFileDialog::selectedFiles() const
|
||||
Q_D(const QFileDialog);
|
||||
|
||||
QStringList files;
|
||||
foreach (const QUrl &file, d->userSelectedFiles())
|
||||
const QList<QUrl> userSelectedFiles = d->userSelectedFiles();
|
||||
files.reserve(userSelectedFiles.size());
|
||||
foreach (const QUrl &file, userSelectedFiles)
|
||||
files.append(file.toLocalFile());
|
||||
if (files.isEmpty() && d->usingWidgets()) {
|
||||
const FileMode fm = fileMode();
|
||||
@ -1277,7 +1286,9 @@ QList<QUrl> QFileDialog::selectedUrls() const
|
||||
return d->userSelectedFiles();
|
||||
} else {
|
||||
QList<QUrl> urls;
|
||||
foreach (const QString &file, selectedFiles())
|
||||
const QStringList selectedFileList = selectedFiles();
|
||||
urls.reserve(selectedFileList.size());
|
||||
foreach (const QString &file, selectedFileList)
|
||||
urls.append(QUrl::fromLocalFile(file));
|
||||
return urls;
|
||||
}
|
||||
@ -1356,7 +1367,9 @@ QStringList qt_strip_filters(const QStringList &filters)
|
||||
{
|
||||
QStringList strippedFilters;
|
||||
QRegExp r(QString::fromLatin1(QPlatformFileDialogHelper::filterRegExp));
|
||||
for (int i = 0; i < filters.count(); ++i) {
|
||||
const int numFilters = filters.count();
|
||||
strippedFilters.reserve(numFilters);
|
||||
for (int i = 0; i < numFilters; ++i) {
|
||||
QString filterName;
|
||||
int index = r.indexIn(filters[i]);
|
||||
if (index >= 0)
|
||||
@ -1391,7 +1404,9 @@ void QFileDialog::setNameFilters(const QStringList &filters)
|
||||
Q_D(QFileDialog);
|
||||
d->defaultFileTypes = (filters == QStringList(QFileDialog::tr("All Files (*)")));
|
||||
QStringList cleanedFilters;
|
||||
for (int i = 0; i < filters.count(); ++i) {
|
||||
const int numFilters = filters.count();
|
||||
cleanedFilters.reserve(numFilters);
|
||||
for (int i = 0; i < numFilters; ++i) {
|
||||
cleanedFilters << filters[i].simplified();
|
||||
}
|
||||
d->options->setNameFilters(cleanedFilters);
|
||||
@ -2186,6 +2201,7 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
|
||||
const QStringList schemes = QStringList(QStringLiteral("file"));
|
||||
const QList<QUrl> selectedUrls = getOpenFileUrls(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes);
|
||||
QStringList fileNames;
|
||||
fileNames.reserve(selectedUrls.size());
|
||||
foreach (const QUrl &url, selectedUrls)
|
||||
fileNames << url.toLocalFile();
|
||||
return fileNames;
|
||||
@ -2662,7 +2678,9 @@ void QFileDialogPrivate::saveSettings()
|
||||
settings.setValue(QLatin1String("treeViewHeader"), qFileDialogUi->treeView->header()->saveState());
|
||||
}
|
||||
QStringList historyUrls;
|
||||
foreach (const QString &path, q->history())
|
||||
const QStringList history = q->history();
|
||||
historyUrls.reserve(history.size());
|
||||
foreach (const QString &path, history)
|
||||
historyUrls << QUrl::fromLocalFile(path).toString();
|
||||
settings.setValue(QLatin1String("history"), historyUrls);
|
||||
settings.setValue(QLatin1String("lastVisited"), lastVisitedDir()->toString());
|
||||
|
@ -1183,8 +1183,11 @@ void QFileSystemModel::sort(int column, Qt::SortOrder order)
|
||||
emit layoutAboutToBeChanged();
|
||||
QModelIndexList oldList = persistentIndexList();
|
||||
QList<QPair<QFileSystemModelPrivate::QFileSystemNode*, int> > oldNodes;
|
||||
for (int i = 0; i < oldList.count(); ++i) {
|
||||
QPair<QFileSystemModelPrivate::QFileSystemNode*, int> pair(d->node(oldList.at(i)), oldList.at(i).column());
|
||||
const int nodeCount = oldList.count();
|
||||
oldNodes.reserve(nodeCount);
|
||||
for (int i = 0; i < nodeCount; ++i) {
|
||||
const QModelIndex &oldNode = oldList.at(i);
|
||||
QPair<QFileSystemModelPrivate::QFileSystemNode*, int> pair(d->node(oldNode), oldNode.column());
|
||||
oldNodes.append(pair);
|
||||
}
|
||||
|
||||
@ -1197,9 +1200,10 @@ void QFileSystemModel::sort(int column, Qt::SortOrder order)
|
||||
d->sortOrder = order;
|
||||
|
||||
QModelIndexList newList;
|
||||
for (int i = 0; i < oldNodes.count(); ++i) {
|
||||
QModelIndex idx = d->index(oldNodes.at(i).first);
|
||||
idx = idx.sibling(idx.row(), oldNodes.at(i).second);
|
||||
for (int i = 0; i < nodeCount; ++i) {
|
||||
const QPair<QFileSystemModelPrivate::QFileSystemNode*, int> &oldNode = oldNodes.at(i);
|
||||
QModelIndex idx = d->index(oldNode.first);
|
||||
idx = idx.sibling(idx.row(), oldNode.second);
|
||||
newList.append(idx);
|
||||
}
|
||||
changePersistentIndexList(oldList, newList);
|
||||
@ -1648,7 +1652,9 @@ QStringList QFileSystemModel::nameFilters() const
|
||||
Q_D(const QFileSystemModel);
|
||||
QStringList filters;
|
||||
#ifndef QT_NO_REGEXP
|
||||
for (int i = 0; i < d->nameFilters.size(); ++i) {
|
||||
const int numNameFilters = d->nameFilters.size();
|
||||
filters.reserve(numNameFilters);
|
||||
for (int i = 0; i < numNameFilters; ++i) {
|
||||
filters << d->nameFilters.at(i).pattern();
|
||||
}
|
||||
#endif
|
||||
|
@ -619,6 +619,7 @@ void QFontDialogPrivate::updateSizes()
|
||||
int i = 0;
|
||||
int current = -1;
|
||||
QStringList str_sizes;
|
||||
str_sizes.reserve(sizes.size());
|
||||
for(QList<int>::const_iterator it = sizes.constBegin(); it != sizes.constEnd(); ++it) {
|
||||
str_sizes.append(QString::number(*it));
|
||||
if (current == -1 && *it == size)
|
||||
|
@ -791,6 +791,7 @@ QStringList QInputDialog::comboBoxItems() const
|
||||
QStringList result;
|
||||
if (d->comboBox) {
|
||||
const int count = d->comboBox->count();
|
||||
result.reserve(count);
|
||||
for (int i = 0; i < count; ++i)
|
||||
result.append(d->comboBox->itemText(i));
|
||||
}
|
||||
|
@ -274,7 +274,9 @@ void QUrlModel::addUrls(const QList<QUrl> &list, int row, bool move)
|
||||
QList<QUrl> QUrlModel::urls() const
|
||||
{
|
||||
QList<QUrl> list;
|
||||
for (int i = 0; i < rowCount(); ++i)
|
||||
const int numRows = rowCount();
|
||||
list.reserve(numRows);
|
||||
for (int i = 0; i < numRows; ++i)
|
||||
list.append(data(index(i, 0), UrlRole).toUrl());
|
||||
return list;
|
||||
}
|
||||
@ -334,10 +336,12 @@ void QUrlModel::dataChanged(const QModelIndex &topLeft, const QModelIndex &botto
|
||||
void QUrlModel::layoutChanged()
|
||||
{
|
||||
QStringList paths;
|
||||
for (int i = 0; i < watching.count(); ++i)
|
||||
const int numPaths = watching.count();
|
||||
paths.reserve(numPaths);
|
||||
for (int i = 0; i < numPaths; ++i)
|
||||
paths.append(watching.at(i).second);
|
||||
watching.clear();
|
||||
for (int i = 0; i < paths.count(); ++i) {
|
||||
for (int i = 0; i < numPaths; ++i) {
|
||||
QString path = paths.at(i);
|
||||
QModelIndex newIndex = fileSystemModel->index(path);
|
||||
watching.append(QPair<QModelIndex, QString>(newIndex, path));
|
||||
@ -453,12 +457,14 @@ void QSidebar::removeEntry()
|
||||
{
|
||||
QList<QModelIndex> idxs = selectionModel()->selectedIndexes();
|
||||
QList<QPersistentModelIndex> indexes;
|
||||
for (int i = 0; i < idxs.count(); i++)
|
||||
const int numIndexes = idxs.count();
|
||||
for (int i = 0; i < numIndexes; i++)
|
||||
indexes.append(idxs.at(i));
|
||||
|
||||
for (int i = 0; i < indexes.count(); ++i)
|
||||
for (int i = 0; i < numIndexes; ++i) {
|
||||
if (!indexes.at(i).data(QUrlModel::UrlRole).toUrl().path().isEmpty())
|
||||
model()->removeRow(indexes.at(i).row());
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -752,8 +752,10 @@ static AnchorData *createSequence(Graph<AnchorVertex, AnchorData> *graph,
|
||||
AnchorVertex *prev = before;
|
||||
QVector<AnchorData *> edges;
|
||||
|
||||
const int numVertices = vertices.count();
|
||||
edges.reserve(numVertices + 1);
|
||||
// Take from the graph, the edges that will be simplificated
|
||||
for (int i = 0; i < vertices.count(); ++i) {
|
||||
for (int i = 0; i < numVertices; ++i) {
|
||||
AnchorVertex *next = vertices.at(i);
|
||||
AnchorData *ad = graph->takeEdge(prev, next);
|
||||
Q_ASSERT(ad);
|
||||
@ -2569,6 +2571,7 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation)
|
||||
|
||||
if (!remainingConstraints.isEmpty()) {
|
||||
QList<QSimplexConstraint *> nonTrunkConstraints;
|
||||
nonTrunkConstraints.reserve(remainingConstraints.size());
|
||||
QLinkedList<QSimplexConstraint *>::iterator it = remainingConstraints.begin();
|
||||
while (it != remainingConstraints.end()) {
|
||||
nonTrunkConstraints += *it;
|
||||
|
@ -284,7 +284,9 @@ void QGraphicsItemAnimation::setPosAt(qreal step, const QPointF &pos)
|
||||
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::posList() const
|
||||
{
|
||||
QList<QPair<qreal, QPointF> > list;
|
||||
for (int i = 0; i < d->xPosition.size(); ++i)
|
||||
const int xPosCount = d->xPosition.size();
|
||||
list.reserve(xPosCount);
|
||||
for (int i = 0; i < xPosCount; ++i)
|
||||
list << QPair<qreal, QPointF>(d->xPosition.at(i).step, QPointF(d->xPosition.at(i).value, d->yPosition.at(i).value));
|
||||
|
||||
return list;
|
||||
@ -338,7 +340,9 @@ void QGraphicsItemAnimation::setRotationAt(qreal step, qreal angle)
|
||||
QList<QPair<qreal, qreal> > QGraphicsItemAnimation::rotationList() const
|
||||
{
|
||||
QList<QPair<qreal, qreal> > list;
|
||||
for (int i = 0; i < d->rotation.size(); ++i)
|
||||
const int numRotations = d->rotation.size();
|
||||
list.reserve(numRotations);
|
||||
for (int i = 0; i < numRotations; ++i)
|
||||
list << QPair<qreal, qreal>(d->rotation.at(i).step, d->rotation.at(i).value);
|
||||
|
||||
return list;
|
||||
@ -386,7 +390,9 @@ void QGraphicsItemAnimation::setTranslationAt(qreal step, qreal dx, qreal dy)
|
||||
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::translationList() const
|
||||
{
|
||||
QList<QPair<qreal, QPointF> > list;
|
||||
for (int i = 0; i < d->xTranslation.size(); ++i)
|
||||
const int numTranslations = d->xTranslation.size();
|
||||
list.reserve(numTranslations);
|
||||
for (int i = 0; i < numTranslations; ++i)
|
||||
list << QPair<qreal, QPointF>(d->xTranslation.at(i).step, QPointF(d->xTranslation.at(i).value, d->yTranslation.at(i).value));
|
||||
|
||||
return list;
|
||||
@ -435,7 +441,9 @@ void QGraphicsItemAnimation::setScaleAt(qreal step, qreal sx, qreal sy)
|
||||
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::scaleList() const
|
||||
{
|
||||
QList<QPair<qreal, QPointF> > list;
|
||||
for (int i = 0; i < d->horizontalScale.size(); ++i)
|
||||
const int numScales = d->horizontalScale.size();
|
||||
list.reserve(numScales);
|
||||
for (int i = 0; i < numScales; ++i)
|
||||
list << QPair<qreal, QPointF>(d->horizontalScale.at(i).step, QPointF(d->horizontalScale.at(i).value, d->verticalScale.at(i).value));
|
||||
|
||||
return list;
|
||||
@ -483,7 +491,9 @@ void QGraphicsItemAnimation::setShearAt(qreal step, qreal sh, qreal sv)
|
||||
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::shearList() const
|
||||
{
|
||||
QList<QPair<qreal, QPointF> > list;
|
||||
for (int i = 0; i < d->horizontalShear.size(); ++i)
|
||||
const int numShears = d->horizontalShear.size();
|
||||
list.reserve(numShears);
|
||||
for (int i = 0; i < numShears; ++i)
|
||||
list << QPair<qreal, QPointF>(d->horizontalShear.at(i).step, QPointF(d->horizontalShear.at(i).value, d->verticalShear.at(i).value));
|
||||
|
||||
return list;
|
||||
|
@ -520,7 +520,9 @@ QList<QGraphicsItem *> QGraphicsSceneIndex::estimateTopLevelItems(const QRectF &
|
||||
scened->ensureSortedTopLevelItems();
|
||||
if (order == Qt::DescendingOrder) {
|
||||
QList<QGraphicsItem *> sorted;
|
||||
for (int i = scened->topLevelItems.size() - 1; i >= 0; --i)
|
||||
const int numTopLevelItems = scened->topLevelItems.size();
|
||||
sorted.reserve(numTopLevelItems);
|
||||
for (int i = numTopLevelItems - 1; i >= 0; --i)
|
||||
sorted << scened->topLevelItems.at(i);
|
||||
return sorted;
|
||||
}
|
||||
|
@ -1699,7 +1699,9 @@ QList<QListWidgetItem*> QListWidget::selectedItems() const
|
||||
Q_D(const QListWidget);
|
||||
QModelIndexList indexes = selectionModel()->selectedIndexes();
|
||||
QList<QListWidgetItem*> items;
|
||||
for (int i = 0; i < indexes.count(); ++i)
|
||||
const int numIndexes = indexes.count();
|
||||
items.reserve(numIndexes);
|
||||
for (int i = 0; i < numIndexes; ++i)
|
||||
items.append(d->listModel()->at(indexes.at(i).row()));
|
||||
return items;
|
||||
}
|
||||
|
@ -1884,6 +1884,7 @@ void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionF
|
||||
break;
|
||||
}
|
||||
} while (expanded);
|
||||
selection.reserve((right - left + 1) * (bottom - top + 1));
|
||||
for (int horizontal = left; horizontal <= right; ++horizontal) {
|
||||
int column = d->logicalColumn(horizontal);
|
||||
for (int vertical = top; vertical <= bottom; ++vertical) {
|
||||
@ -1897,6 +1898,7 @@ void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionF
|
||||
int left = d->visualColumn(tl.column());
|
||||
int bottom = d->visualRow(br.row());
|
||||
int right = d->visualColumn(br.column());
|
||||
selection.reserve((right - left + 1) * (bottom - top + 1));
|
||||
for (int horizontal = left; horizontal <= right; ++horizontal) {
|
||||
int column = d->logicalColumn(horizontal);
|
||||
for (int vertical = top; vertical <= bottom; ++vertical) {
|
||||
@ -1908,6 +1910,7 @@ void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionF
|
||||
} else if (horizontalMoved) {
|
||||
int left = d->visualColumn(tl.column());
|
||||
int right = d->visualColumn(br.column());
|
||||
selection.reserve(right - left + 1);
|
||||
for (int visual = left; visual <= right; ++visual) {
|
||||
int column = d->logicalColumn(visual);
|
||||
QModelIndex topLeft = d->model->index(tl.row(), column, d->root);
|
||||
@ -1917,6 +1920,7 @@ void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionF
|
||||
} else if (verticalMoved) {
|
||||
int top = d->visualRow(tl.row());
|
||||
int bottom = d->visualRow(br.row());
|
||||
selection.reserve(bottom - top + 1);
|
||||
for (int visual = top; visual <= bottom; ++visual) {
|
||||
int row = d->logicalRow(visual);
|
||||
QModelIndex topLeft = d->model->index(row, tl.column(), d->root);
|
||||
|
@ -507,11 +507,15 @@ void QTableModel::sort(int column, Qt::SortOrder order)
|
||||
QVector<QTableWidgetItem*> sorted_table(tableItems.count());
|
||||
QModelIndexList from;
|
||||
QModelIndexList to;
|
||||
for (int i = 0; i < rowCount(); ++i) {
|
||||
const int numRows = rowCount();
|
||||
const int numColumns = columnCount();
|
||||
from.reserve(numRows * numColumns);
|
||||
to.reserve(numRows * numColumns);
|
||||
for (int i = 0; i < numRows; ++i) {
|
||||
int r = (i < sortable.count()
|
||||
? sortable.at(i).second
|
||||
: unsortable.at(i - sortable.count()));
|
||||
for (int c = 0; c < columnCount(); ++c) {
|
||||
for (int c = 0; c < numColumns; ++c) {
|
||||
sorted_table[tableIndex(i, c)] = item(r, c);
|
||||
from.append(createIndex(r, c));
|
||||
to.append(createIndex(i, c));
|
||||
|
@ -210,10 +210,12 @@ QWidgetList QAbstractScrollAreaScrollBarContainer::widgets(LogicalPosition posit
|
||||
QWidgetList list;
|
||||
const int scrollBarIndex = scrollBarLayoutIndex();
|
||||
if (position == LogicalLeft) {
|
||||
list.reserve(scrollBarIndex);
|
||||
for (int i = 0; i < scrollBarIndex; ++i)
|
||||
list.append(layout->itemAt(i)->widget());
|
||||
} else if (position == LogicalRight) {
|
||||
const int layoutItemCount = layout->count();
|
||||
list.reserve(layoutItemCount - (scrollBarIndex + 1));
|
||||
for (int i = scrollBarIndex + 1; i < layoutItemCount; ++i)
|
||||
list.append(layout->itemAt(i)->widget());
|
||||
}
|
||||
|
@ -2263,6 +2263,7 @@ void QComboBox::insertItems(int index, const QStringList &list)
|
||||
// construct a QStandardItem, reducing the number of expensive signals from the model
|
||||
if (QStandardItemModel *m = qobject_cast<QStandardItemModel*>(d->model)) {
|
||||
QList<QStandardItem *> items;
|
||||
items.reserve(insertCount);
|
||||
QStandardItem *hiddenRoot = m->invisibleRootItem();
|
||||
for (int i = 0; i < insertCount; ++i)
|
||||
items.append(new QStandardItem(list.at(i)));
|
||||
|
@ -2211,8 +2211,10 @@ QSet<QTabBar*> QDockAreaLayoutInfo::usedTabBars() const
|
||||
QSet<QWidget*> QDockAreaLayoutInfo::usedSeparatorWidgets() const
|
||||
{
|
||||
QSet<QWidget*> result;
|
||||
const int numSeparatorWidgets = separatorWidgets.count();
|
||||
result.reserve(numSeparatorWidgets);
|
||||
|
||||
for (int i = 0; i < separatorWidgets.count(); ++i)
|
||||
for (int i = 0; i < numSeparatorWidgets; ++i)
|
||||
result << separatorWidgets.at(i);
|
||||
|
||||
for (int i = 0; i < item_list.count(); ++i) {
|
||||
|
@ -1502,8 +1502,11 @@ QList<int> QSplitter::sizes() const
|
||||
Q_D(const QSplitter);
|
||||
ensurePolished();
|
||||
|
||||
const int numSizes = d->list.size();
|
||||
QList<int> list;
|
||||
for (int i = 0; i < d->list.size(); ++i) {
|
||||
list.reserve(numSizes);
|
||||
|
||||
for (int i = 0; i < numSizes; ++i) {
|
||||
QSplitterLayoutStruct *s = d->list.at(i);
|
||||
list.append(d->pick(s->rect.size()));
|
||||
}
|
||||
@ -1598,8 +1601,10 @@ QByteArray QSplitter::saveState() const
|
||||
|
||||
stream << qint32(SplitterMagic);
|
||||
stream << qint32(version);
|
||||
const int numSizes = d->list.size();
|
||||
QList<int> list;
|
||||
for (int i = 0; i < d->list.size(); ++i) {
|
||||
list.reserve(numSizes);
|
||||
for (int i = 0; i < numSizes; ++i) {
|
||||
QSplitterLayoutStruct *s = d->list.at(i);
|
||||
list.append(s->sizer);
|
||||
}
|
||||
|
@ -2439,10 +2439,13 @@ QList<QTextEdit::ExtraSelection> QWidgetTextControl::extraSelections() const
|
||||
{
|
||||
Q_D(const QWidgetTextControl);
|
||||
QList<QTextEdit::ExtraSelection> selections;
|
||||
for (int i = 0; i < d->extraSelections.count(); ++i) {
|
||||
const int numExtraSelections = d->extraSelections.count();
|
||||
selections.reserve(numExtraSelections);
|
||||
for (int i = 0; i < numExtraSelections; ++i) {
|
||||
QTextEdit::ExtraSelection sel;
|
||||
sel.cursor = d->extraSelections.at(i).cursor;
|
||||
sel.format = d->extraSelections.at(i).format;
|
||||
const QAbstractTextDocumentLayout::Selection &sel2 = d->extraSelections.at(i);
|
||||
sel.cursor = sel2.cursor;
|
||||
sel.format = sel2.format;
|
||||
selections.append(sel);
|
||||
}
|
||||
return selections;
|
||||
|
Loading…
x
Reference in New Issue
Block a user