QtGui: eradicate Q_FOREACH loops [needing qAsConst()]

... by replacing them with C++11 range-for loops.
To avoid detaches of these mutable Qt containers,
wrap the container in qAsConst().

Change-Id: I90fd517ad542ef92034403c15ebb8300a56ac693
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
This commit is contained in:
Marc Mutz 2016-01-26 14:38:54 +01:00
parent d09cfe04b8
commit 37a933c2b1
9 changed files with 19 additions and 20 deletions

View File

@ -442,7 +442,7 @@ void QPixmapIconEngine::addFile(const QString &fileName, const QSize &size, QIco
}
}
}
foreach (const QImage &i, icoImages)
for (const QImage &i : qAsConst(icoImages))
pixmaps += QPixmapIconEngineEntry(abs, i, mode, state);
if (icoImages.isEmpty() && !ignoreSize) // Add placeholder with the filename and empty pixmap for the size.
pixmaps += QPixmapIconEngineEntry(abs, size, mode, state);

View File

@ -3032,9 +3032,8 @@ QMimeData *QStandardItemModel::mimeData(const QModelIndexList &indexes) const
}
stack.reserve(itemsSet.count());
foreach (QStandardItem *item, itemsSet) {
for (QStandardItem *item : qAsConst(itemsSet))
stack.push(item);
}
//stream everything recursively
while (!stack.isEmpty()) {

View File

@ -990,9 +990,8 @@ qreal QGuiApplication::devicePixelRatio() const
}
topDevicePixelRatio = 1.0; // make sure we never return 0.
foreach (QScreen *screen, QGuiApplicationPrivate::screen_list) {
for (QScreen *screen : qAsConst(QGuiApplicationPrivate::screen_list))
topDevicePixelRatio = qMax(topDevicePixelRatio, screen->devicePixelRatio());
}
return topDevicePixelRatio;
}
@ -1127,7 +1126,7 @@ static void init_platform(const QString &pluginArgument, const QString &platform
// 2) Ask the platform integration for a list of theme names
themeNames += QGuiApplicationPrivate::platform_integration->themeNames();
// 3) Look for a theme plugin.
foreach (const QString &themeName, themeNames) {
for (const QString &themeName : qAsConst(themeNames)) {
QGuiApplicationPrivate::platform_theme = QPlatformThemeFactory::create(themeName, platformPluginPath);
if (QGuiApplicationPrivate::platform_theme)
break;
@ -1136,7 +1135,7 @@ static void init_platform(const QString &pluginArgument, const QString &platform
// 4) If no theme plugin was found ask the platform integration to
// create a theme
if (!QGuiApplicationPrivate::platform_theme) {
foreach (const QString &themeName, themeNames) {
for (const QString &themeName : qAsConst(themeNames)) {
QGuiApplicationPrivate::platform_theme = QGuiApplicationPrivate::platform_integration->createPlatformTheme(themeName);
if (QGuiApplicationPrivate::platform_theme)
break;
@ -1153,7 +1152,7 @@ static void init_platform(const QString &pluginArgument, const QString &platform
// boolean 'foo' or strings: 'foo=bar'
if (!arguments.isEmpty()) {
if (QObject *nativeInterface = QGuiApplicationPrivate::platform_integration->nativeInterface()) {
foreach (const QString &argument, arguments) {
for (const QString &argument : qAsConst(arguments)) {
const int equalsPos = argument.indexOf(QLatin1Char('='));
const QByteArray name =
equalsPos != -1 ? argument.left(equalsPos).toUtf8() : argument.toUtf8();

View File

@ -653,7 +653,7 @@ void QOpenGLContext::destroy()
delete d->functions;
d->functions = 0;
foreach (QAbstractOpenGLFunctions *func, d->externalVersionFunctions) {
for (QAbstractOpenGLFunctions *func : qAsConst(d->externalVersionFunctions)) {
QAbstractOpenGLFunctionsPrivate *func_d = QAbstractOpenGLFunctionsPrivate::get(func);
func_d->owningContext = 0;
func_d->initialized = false;

View File

@ -52,9 +52,10 @@ QT_BEGIN_NAMESPACE
QList<QPlatformCursor *> QPlatformCursorPrivate::getInstances()
{
QList<QPlatformCursor *> result;
foreach (const QScreen *screen, QGuiApplicationPrivate::screen_list)
for (const QScreen *screen : qAsConst(QGuiApplicationPrivate::screen_list)) {
if (QPlatformCursor *cursor = screen->handle()->cursor())
result.push_back(cursor);
}
return result;
}

View File

@ -943,7 +943,7 @@ QOpenGLFramebufferObject::~QOpenGLFramebufferObject()
if (isBound())
release();
foreach (const QOpenGLFramebufferObjectPrivate::ColorAttachment &color, d->colorAttachments) {
for (const auto &color : qAsConst(d->colorAttachments)) {
if (color.guard)
color.guard->free();
}

View File

@ -986,7 +986,7 @@ void QOpenGLShaderProgram::removeAllShaders()
{
Q_D(QOpenGLShaderProgram);
d->removingShaders = true;
foreach (QOpenGLShader *shader, d->shaders) {
for (QOpenGLShader *shader : qAsConst(d->shaders)) {
if (d->programGuard && d->programGuard->id()
&& shader && shader->d_func()->shaderGuard)
{

View File

@ -235,7 +235,7 @@ void QTextDocumentPrivate::clear()
{
Q_Q(QTextDocument);
foreach (QTextCursorPrivate *curs, cursors) {
for (QTextCursorPrivate *curs : qAsConst(cursors)) {
curs->setPosition(0);
curs->currentCharFormat = -1;
curs->anchor = 0;
@ -287,7 +287,7 @@ void QTextDocumentPrivate::clear()
QTextDocumentPrivate::~QTextDocumentPrivate()
{
foreach (QTextCursorPrivate *curs, cursors)
for (QTextCursorPrivate *curs : qAsConst(cursors))
curs->priv = 0;
cursors.clear();
undoState = 0;
@ -674,7 +674,7 @@ void QTextDocumentPrivate::remove(int pos, int length, QTextUndoCommand::Operati
blockCursorAdjustment = true;
move(pos, -1, length, op);
blockCursorAdjustment = false;
foreach (QTextCursorPrivate *curs, cursors) {
for (QTextCursorPrivate *curs : qAsConst(cursors)) {
if (curs->adjustPosition(pos, -length, op) == QTextCursorPrivate::CursorMoved) {
curs->changed = true;
}
@ -1232,13 +1232,13 @@ void QTextDocumentPrivate::finishEdit()
}
QList<QTextCursor> changedCursors;
foreach (QTextCursorPrivate *curs, cursors) {
for (QTextCursorPrivate *curs : qAsConst(cursors)) {
if (curs->changed) {
curs->changed = false;
changedCursors.append(QTextCursor(curs));
}
}
foreach (const QTextCursor &cursor, changedCursors)
for (const QTextCursor &cursor : qAsConst(changedCursors))
emit q->cursorPositionChanged(cursor);
contentsChanged();
@ -1284,7 +1284,7 @@ void QTextDocumentPrivate::adjustDocumentChangesAndCursors(int from, int addedOr
if (blockCursorAdjustment) {
; // postpone, will be called again from QTextDocumentPrivate::remove()
} else {
foreach (QTextCursorPrivate *curs, cursors) {
for (QTextCursorPrivate *curs : qAsConst(cursors)) {
if (curs->adjustPosition(from, addedOrRemoved, op) == QTextCursorPrivate::CursorMoved) {
curs->changed = true;
}
@ -1731,7 +1731,7 @@ bool QTextDocumentPrivate::ensureMaximumBlockCount()
void QTextDocumentPrivate::aboutToRemoveCell(int from, int to)
{
Q_ASSERT(from <= to);
foreach (QTextCursorPrivate *curs, cursors)
for (QTextCursorPrivate *curs : qAsConst(cursors))
curs->aboutToRemoveCell(from, to);
}

View File

@ -873,7 +873,7 @@ QTextHtmlImporter::Table QTextHtmlImporter::scanTable(int tableNodeIdx)
QVector<RowColSpanInfo> rowColSpanForColumn;
int effectiveRow = 0;
foreach (int row, rowNodes) {
for (int row : qAsConst(rowNodes)) {
int colsInRow = 0;
foreach (int cell, at(row).children)