diff --git a/src/filewidgets/kdiroperator.cpp b/src/filewidgets/kdiroperator.cpp --- a/src/filewidgets/kdiroperator.cpp +++ b/src/filewidgets/kdiroperator.cpp @@ -2124,7 +2124,8 @@ connect(d->newFileMenu, SIGNAL(directoryCreated(QUrl)), this, SLOT(_k_slotDirectoryCreated(QUrl))); d->actionCollection->addAssociatedWidget(this); - foreach (QAction *action, d->actionCollection->actions()) { + const QList list = d->actionCollection->actions(); + for (QAction *action : list) { action->setShortcutContext(Qt::WidgetWithChildrenShortcut); } } diff --git a/src/filewidgets/kfilecopytomenu.cpp b/src/filewidgets/kfilecopytomenu.cpp --- a/src/filewidgets/kfilecopytomenu.cpp +++ b/src/filewidgets/kfilecopytomenu.cpp @@ -120,7 +120,8 @@ act = addMenu(subMenu); act->setObjectName(QStringLiteral("root")); #else - foreach (const QFileInfo &info, QDir::drives()) { + const QFileInfoList drives = QDir::drives(); + for (const QFileInfo &info : drives) { QString driveIcon = QStringLiteral("drive-harddisk"); const uint type = GetDriveTypeW((wchar_t *)info.absoluteFilePath().utf16()); switch (type) { diff --git a/src/filewidgets/kfilepreviewgenerator.cpp b/src/filewidgets/kfilepreviewgenerator.cpp --- a/src/filewidgets/kfilepreviewgenerator.cpp +++ b/src/filewidgets/kfilepreviewgenerator.cpp @@ -545,7 +545,7 @@ orderItems(orderedItems); m_pendingItems.reserve(m_pendingItems.size() + orderedItems.size()); - foreach (const KFileItem &item, orderedItems) { + for (const KFileItem &item : qAsConst(orderedItems)) { m_pendingItems.append(item); } @@ -636,7 +636,8 @@ const QUrl itemParentDir = item.url().adjusted(QUrl::RemoveFilename | QUrl::StripTrailingSlash); - foreach (const QUrl &dir, dirModel->dirLister()->directories()) { + const QList dirs = dirModel->dirLister()->directories(); + for (const QUrl &dir : dirs) { if (dir == itemParentDir || dir.path().isEmpty()) { isOldPreview = false; break; @@ -682,7 +683,7 @@ m_previewJobs.removeAt(index); if (m_previewJobs.isEmpty()) { - foreach (const KFileItem &item, m_pendingItems) { + for (const KFileItem &item : qAsConst(m_pendingItems)) { if (item.isMimeTypeKnown()) { m_resolvedMimeTypes.append(item); } @@ -729,7 +730,8 @@ KFileItemList previews; // Reset the icons of all items that are stored in the cache // to use their default MIME type icon. - foreach (const QUrl &url, m_cutItemsCache.keys()) { + const QList list = m_cutItemsCache.keys(); + for (const QUrl &url : list) { const QModelIndex index = dirModel->indexForUrl(url); if (index.isValid()) { dirModel->setData(index, QIcon(), Qt::DecorationRole); @@ -762,7 +764,7 @@ if (m_previewShown) { // dispatch preview queue - foreach (const ItemInfo &preview, m_previews) { + for (const ItemInfo &preview : qAsConst(m_previews)) { const QModelIndex idx = dirModel->indexForUrl(preview.url); if (idx.isValid() && (idx.column() == 0)) { dirModel->setData(idx, QIcon(preview.pixmap), Qt::DecorationRole); @@ -772,7 +774,7 @@ } // dispatch mime type queue - foreach (const KFileItem &item, m_resolvedMimeTypes) { + for (const KFileItem &item : qAsConst(m_resolvedMimeTypes)) { const QModelIndex idx = dirModel->indexForItem(item); dirModel->itemChanged(idx); } @@ -795,7 +797,7 @@ void KFilePreviewGenerator::Private::pauseIconUpdates() { m_iconUpdatesPaused = true; - foreach (KJob *job, m_previewJobs) { + for (KJob *job : qAsConst(m_previewJobs)) { Q_ASSERT(job != nullptr); job->suspend(); } @@ -812,7 +814,7 @@ // queue is usually equal. So even when having a lot of elements the // nested loop is no performance bottle neck, as the inner loop is only // entered once in most cases. - foreach (const KFileItem &item, m_dispatchedItems) { + for (const KFileItem &item : qAsConst(m_dispatchedItems)) { KFileItemList::iterator begin = m_pendingItems.begin(); KFileItemList::iterator end = m_pendingItems.end(); for (KFileItemList::iterator it = begin; it != end; ++it) { @@ -1032,7 +1034,7 @@ KFileItemList imageItems; KFileItemList otherItems; QString mimeType; - foreach (const KFileItem &item, items) { + for (const KFileItem &item : items) { mimeType = item.mimetype(); const int slashIndex = mimeType.indexOf(QLatin1Char('/')); const QStringRef mimeTypeGroup = mimeType.leftRef(slashIndex); @@ -1075,7 +1077,7 @@ void KFilePreviewGenerator::Private::killPreviewJobs() { - foreach (KJob *job, m_previewJobs) { + for (KJob *job : qAsConst(m_previewJobs)) { Q_ASSERT(job != nullptr); job->kill(); } diff --git a/src/filewidgets/kfilewidget.cpp b/src/filewidgets/kfilewidget.cpp --- a/src/filewidgets/kfilewidget.cpp +++ b/src/filewidgets/kfilewidget.cpp @@ -2497,7 +2497,8 @@ if (!findMatchingFilter(filterWidget->currentFilter(), filename).isEmpty()) { return; } - foreach (const QString &filter, filterWidget->filters()) { + const QStringList list = filterWidget->filters(); + for (const QString &filter : list) { QString match = findMatchingFilter(filter, filename); if (!match.isEmpty()) { if (match != QLatin1String("*")) { // never match the catch-all filter diff --git a/src/filewidgets/knewfilemenu.cpp b/src/filewidgets/knewfilemenu.cpp --- a/src/filewidgets/knewfilemenu.cpp +++ b/src/filewidgets/knewfilemenu.cpp @@ -1219,8 +1219,9 @@ //qDebug() << "recreating actions"; // We need to clean up the action collection // We look for our actions using the group - foreach (QAction *action, d->m_newMenuGroup->actions()) { - delete action; + QList actions = d->m_newMenuGroup->actions(); + for (auto it = actions.begin(); it != actions.end(); ++it) { + delete (*it); } if (!s->templatesList) { // No templates list up to now diff --git a/src/filewidgets/kurlnavigator.cpp b/src/filewidgets/kurlnavigator.cpp --- a/src/filewidgets/kurlnavigator.cpp +++ b/src/filewidgets/kurlnavigator.cpp @@ -683,7 +683,7 @@ // Check whether buttons must be hidden at all... int requiredButtonWidth = 0; - foreach (const KUrlNavigatorButton *button, m_navButtons) { + for (const KUrlNavigatorButton *button : qAsConst(m_navButtons)) { requiredButtonWidth += button->minimumWidth(); } @@ -721,7 +721,7 @@ // All buttons have the correct activation state and // can be shown now - foreach (KUrlNavigatorButton *button, buttonsToShow) { + for (KUrlNavigatorButton *button : qAsConst(buttonsToShow)) { button->show(); } @@ -800,7 +800,8 @@ void KUrlNavigator::Private::deleteButtons() { - foreach (KUrlNavigatorButton *button, m_navButtons) { + for (auto it = m_navButtons.begin(); it != m_navButtons.end(); ++it) { + KUrlNavigatorButton *button = *it; button->hide(); button->deleteLater(); } @@ -992,7 +993,7 @@ d->m_active = active; d->m_dropDownButton->setActive(active); - foreach (KUrlNavigatorButton *button, d->m_navButtons) { + for (KUrlNavigatorButton *button : qAsConst(d->m_navButtons)) { button->setActive(active); } @@ -1223,13 +1224,13 @@ requestActivation(); setFocus(); } - foreach (KUrlNavigatorButton *button, d->m_navButtons) { + for (KUrlNavigatorButton *button : qAsConst(d->m_navButtons)) { button->setShowMnemonic(true); } break; case QEvent::FocusOut: - foreach (KUrlNavigatorButton *button, d->m_navButtons) { + for (KUrlNavigatorButton *button : qAsConst(d->m_navButtons)) { button->setShowMnemonic(false); } break; diff --git a/src/filewidgets/kurlnavigatorprotocolcombo.cpp b/src/filewidgets/kurlnavigatorprotocolcombo.cpp --- a/src/filewidgets/kurlnavigatorprotocolcombo.cpp +++ b/src/filewidgets/kurlnavigatorprotocolcombo.cpp @@ -153,7 +153,7 @@ // move all protocols into the corresponding category of 'items' QList items[CategoryCount]; - foreach (const QString &protocol, m_protocols) { + for (const QString &protocol : qAsConst(m_protocols)) { if (m_categories.contains(protocol)) { const ProtocolCategory category = m_categories.value(protocol); items[category].append(protocol); @@ -187,7 +187,7 @@ break; } - foreach (const QString &protocol, items[category]) { + for (const QString &protocol : qAsConst(items[category])) { QAction *action = menu->addAction(protocol); action->setData(protocol); }