]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Compile without foreach
authorAlexander Lohnau <alexander.lohnau@gmx.de>
Fri, 23 Oct 2020 17:48:22 +0000 (19:48 +0200)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Fri, 23 Oct 2020 18:23:06 +0000 (18:23 +0000)
38 files changed:
src/CMakeLists.txt
src/dolphincontextmenu.cpp
src/dolphinmainwindow.cpp
src/dolphinpart.cpp
src/dolphintabwidget.cpp
src/global.cpp
src/kitemviews/kfileitemmodel.cpp
src/kitemviews/kfileitemmodelrolesupdater.cpp
src/kitemviews/kitemlistcontroller.cpp
src/kitemviews/kitemlistheader.cpp
src/kitemviews/kitemlistselectionmanager.cpp
src/kitemviews/kitemlistview.cpp
src/kitemviews/kitemlistviewaccessible.cpp
src/kitemviews/kitemlistwidget.cpp
src/kitemviews/kitemset.cpp
src/kitemviews/kitemset.h
src/kitemviews/kstandarditemlistview.cpp
src/kitemviews/kstandarditemlistwidget.cpp
src/kitemviews/private/kfileitemmodelfilter.cpp
src/kitemviews/private/kitemlistheaderwidget.cpp
src/kitemviews/private/kitemlistsizehintresolver.cpp
src/panels/folders/treeviewcontextmenu.cpp
src/panels/places/placespanel.cpp
src/search/dolphinquery.cpp
src/settings/applyviewpropsjob.cpp
src/settings/dolphinsettingsdialog.cpp
src/settings/general/generalsettingspage.cpp
src/settings/general/previewssettingspage.cpp
src/settings/viewmodes/viewsettingspage.cpp
src/settings/viewpropertiesdialog.cpp
src/tests/kfileitemmodelbenchmark.cpp
src/tests/kitemlistcontrollertest.cpp
src/tests/kitemsettest.cpp
src/tests/testdir.cpp
src/views/dolphinview.cpp
src/views/dolphinviewactionhandler.cpp
src/views/versioncontrol/versioncontrolobserver.cpp
src/views/viewproperties.cpp

index a6178841ddbdc72ea7547b81f88d75f11d30179e..8ad9b7f2050cf35bfc342582e35be56a8a89a81e 100644 (file)
@@ -16,6 +16,7 @@ remove_definitions(
     -DQT_NO_SIGNALS_SLOTS_KEYWORDS
     -DQT_NO_CAST_FROM_ASCII
     -DQT_NO_CAST_TO_ASCII
+    -DQT_NO_FOREACH
 )
 
 ##########################################
index d318acab202f80f247fdf83415dbc34a723e678e..d15e668b1cac6f5542233737fbbb0261a8ef713d 100644 (file)
@@ -163,7 +163,7 @@ void DolphinContextMenu::openTrashItemContextMenu()
     if (exec(m_pos) == restoreAction) {
         QList<QUrl> selectedUrls;
         selectedUrls.reserve(m_selectedItems.count());
-        foreach (const KFileItem &item, m_selectedItems) {
+        for (const KFileItem &item : qAsConst(m_selectedItems)) {
             selectedUrls.append(item.url());
         }
 
index f7ec5f511f9ad64d0ba28afbd380a360a5f681c5..e45ca5e3897417d0d0a9261a8a7f6732df559c3e 100644 (file)
@@ -427,7 +427,7 @@ void DolphinMainWindow::openInNewTab()
     const KFileItemList& list = m_activeViewContainer->view()->selectedItems();
     bool tabCreated = false;
 
-    foreach (const KFileItem& item, list) {
+    for (const KFileItem& item : list) {
         const QUrl& url = DolphinView::openItemAsFolderUrl(item);
         if (!url.isEmpty()) {
             openNewTabAfterCurrentTab(url);
@@ -861,7 +861,8 @@ void DolphinMainWindow::replaceLocation()
 void DolphinMainWindow::togglePanelLockState()
 {
     const bool newLockState = !GeneralSettings::lockPanels();
-    foreach (QObject* child, children()) {
+    const auto childrenObjects = children();
+    for (QObject* child : childrenObjects) {
         DolphinDockWidget* dock = qobject_cast<DolphinDockWidget*>(child);
         if (dock) {
             dock->setLocked(newLockState);
@@ -2083,7 +2084,8 @@ bool DolphinMainWindow::addActionToMenu(QAction* action, QMenu* menu)
     Q_ASSERT(menu);
 
     const KToolBar* toolBarWidget = toolBar();
-    foreach (const QWidget* widget, action->associatedWidgets()) {
+    const auto associatedWidgets = action->associatedWidgets();
+    for (const QWidget* widget : associatedWidgets) {
         if (widget == toolBarWidget) {
             return false;
         }
index 5d41881516af79ec9ebef551efe82dbd2638d97b..7694e92f7c5e554ae90093f22d8dba1d0acc9a0e 100644 (file)
@@ -362,7 +362,7 @@ void DolphinPart::slotItemActivated(const KFileItem& item)
 
 void DolphinPart::slotItemsActivated(const KFileItemList& items)
 {
-    foreach (const KFileItem& item, items) {
+    for (const KFileItem& item : items) {
         slotItemActivated(item);
     }
 }
index 4627b27e8feea90c77f1b55121dccbc318a2572b..ae02705fc66a92b8547393da7a48804fb9140156 100644 (file)
@@ -216,7 +216,7 @@ void DolphinTabWidget::openFiles(const QList<QUrl>& files, bool splitView)
     // for each directory. If the "split view" option is enabled, two
     // directories are shown inside one tab (see openDirectories()).
     QList<QUrl> dirs;
-    foreach (const QUrl& url, files) {
+    for (const QUrl& url : files) {
         const QUrl dir(url.adjusted(QUrl::RemoveFilename));
         if (!dirs.contains(dir)) {
             dirs.append(dir);
index 3d91fbab9e27a1b8100eff31307bf431027e97eb..1018c7d4c496a3a5e9bce32bf9601ef5bba91aa7 100644 (file)
@@ -22,7 +22,7 @@ QList<QUrl> Dolphin::validateUris(const QStringList& uriList)
 {
     const QString currentDir = QDir::currentPath();
     QList<QUrl> urls;
-    foreach (const QString& str, uriList) {
+    for (const QString& str : uriList) {
         const QUrl url = QUrl::fromUserInput(str, currentDir, QUrl::AssumeLocalFile);
         if (url.isValid()) {
             urls.append(url);
index 0b7a5134c4bdf63f5e373b8deb517fbccd92e23f..e8cd8f39377f65297a3cc3ed452c12340bd2a713 100644 (file)
@@ -420,7 +420,8 @@ int KFileItemModel::index(const QUrl& url) const
                 indexesForUrl.insert(m_itemData.at(i)->item.url(), i);
             }
 
-            foreach (const QUrl& url, indexesForUrl.uniqueKeys()) {
+            const auto uniqueKeys = indexesForUrl.uniqueKeys();
+            for (const QUrl& url : uniqueKeys) {
                 if (indexesForUrl.count(url) > 1) {
                     qCWarning(DolphinDebug) << "Multiple items found with the URL" << url;
 
@@ -524,7 +525,7 @@ bool KFileItemModel::setExpanded(int index, bool expanded)
         m_dirLister->openUrl(url, KDirLister::Keep);
 
         const QVariantList previouslyExpandedChildren = m_itemData.at(index)->values.value("previouslyExpandedChildren").value<QVariantList>();
-        foreach (const QVariant& var, previouslyExpandedChildren) {
+        for (const QVariant& var : previouslyExpandedChildren) {
             m_urlsToExpand.insert(var.toUrl());
         }
     } else {
@@ -728,7 +729,7 @@ void KFileItemModel::removeFilteredChildren(const KItemRangeList& itemRanges)
     }
 
     QSet<ItemData*> parents;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         for (int index = range.index; index < range.index + range.count; ++index) {
             parents.insert(m_itemData.at(index));
         }
@@ -848,7 +849,7 @@ void KFileItemModel::resortAllItems()
     // been moved because of the resorting.
     QList<QUrl> oldUrls;
     oldUrls.reserve(itemCount);
-    foreach (const ItemData* itemData, m_itemData) {
+    for (const ItemData* itemData : qAsConst(m_itemData)) {
         oldUrls.append(itemData->item.url());
     }
 
@@ -916,7 +917,7 @@ void KFileItemModel::slotCompleted()
         // Note that the parent folder must be expanded before any of its subfolders become visible.
         // Therefore, some URLs in m_restoredExpandedUrls might not be visible yet
         // -> we expand the first visible URL we find in m_restoredExpandedUrls.
-        foreach (const QUrl& url, m_urlsToExpand) {
+        for (const QUrl& url : qAsConst(m_urlsToExpand)) {
             const int indexForUrl = index(url);
             if (indexForUrl >= 0) {
                 m_urlsToExpand.remove(url);
@@ -982,7 +983,7 @@ void KFileItemModel::slotItemsAdded(const QUrl &directoryUrl, const KFileItemLis
         }
     }
 
-    QList<ItemData*> itemDataList = createItemDataList(parentUrl, items);
+    const QList<ItemData*> itemDataList = createItemDataList(parentUrl, items);
 
     if (!m_filter.hasSetFilters()) {
         m_pendingItemsToInsert.append(itemDataList);
@@ -990,7 +991,7 @@ void KFileItemModel::slotItemsAdded(const QUrl &directoryUrl, const KFileItemLis
         // The name or type filter is active. Hide filtered items
         // before inserting them into the model and remember
         // the filtered items in m_filteredItems.
-        foreach (ItemData* itemData, itemDataList) {
+        for (ItemData* itemData : itemDataList) {
             if (m_filter.matches(itemData->item)) {
                 m_pendingItemsToInsert.append(itemData);
             } else {
@@ -1013,7 +1014,7 @@ void KFileItemModel::slotItemsDeleted(const KFileItemList& items)
     QVector<int> indexesToRemove;
     indexesToRemove.reserve(items.count());
 
-    foreach (const KFileItem& item, items) {
+    for (const KFileItem& item : items) {
         const int indexForItem = index(item);
         if (indexForItem >= 0) {
             indexesToRemove.append(indexForItem);
@@ -1035,7 +1036,7 @@ void KFileItemModel::slotItemsDeleted(const KFileItemList& items)
         indexesToRemoveWithChildren.reserve(m_itemData.count());
 
         const int itemCount = m_itemData.count();
-        foreach (int index, indexesToRemove) {
+        for (int index : qAsConst(indexesToRemove)) {
             indexesToRemoveWithChildren.append(index);
 
             const int parentLevel = expandedParentsCount(index);
@@ -1275,7 +1276,7 @@ void KFileItemModel::removeItems(const KItemRangeList& itemRanges, RemoveItemsBe
 
     // Step 1: Remove the items from m_itemData, and free the ItemData.
     int removedItemsCount = 0;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         removedItemsCount += range.count;
 
         for (int index = range.index; index < range.index + range.count; ++index) {
@@ -1329,7 +1330,7 @@ QList<KFileItemModel::ItemData*> KFileItemModel::createItemDataList(const QUrl&
     QList<ItemData*> itemDataList;
     itemDataList.reserve(items.count());
 
-    foreach (const KFileItem& item, items) {
+    for (const KFileItem& item : items) {
         ItemData* itemData = new ItemData();
         itemData->item = item;
         itemData->parent = parentItem;
@@ -1350,7 +1351,7 @@ void KFileItemModel::prepareItemsForSorting(QList<ItemData*>& itemDataList)
     case DeletionTimeRole:
         // These roles can be determined with retrieveData, and they have to be stored
         // in the QHash "values" for the sorting.
-        foreach (ItemData* itemData, itemDataList) {
+        for (ItemData* itemData : qAsConst(itemDataList)) {
             if (itemData->values.isEmpty()) {
                 itemData->values = retrieveData(itemData->item, itemData->parent);
             }
@@ -1359,7 +1360,7 @@ void KFileItemModel::prepareItemsForSorting(QList<ItemData*>& itemDataList)
 
     case TypeRole:
         // At least store the data including the file type for items with known MIME type.
-        foreach (ItemData* itemData, itemDataList) {
+        for (ItemData* itemData : qAsConst(itemDataList)) {
             if (itemData->values.isEmpty()) {
                 const KFileItem item = itemData->item;
                 if (item.isDir() || item.isMimeTypeKnown()) {
@@ -1432,7 +1433,7 @@ void KFileItemModel::emitItemsChangedAndTriggerResorting(const KItemRangeList& i
     // Trigger a resorting if necessary. Note that this can happen even if the sort
     // role has not changed at all because the file name can be used as a fallback.
     if (changedRoles.contains(sortRole()) || changedRoles.contains(roleForType(NameRole))) {
-        foreach (const KItemRange& range, itemRanges) {
+        for (const KItemRange& range : itemRanges) {
             bool needsResorting = false;
 
             const int first = range.index;
@@ -2365,7 +2366,7 @@ void KFileItemModel::determineMimeTypes(const KFileItemList& items, int timeout)
 {
     QElapsedTimer timer;
     timer.start();
-    foreach (const KFileItem& item, items) { // krazy:exclude=foreach
+    for (const KFileItem& item : items) {
         // Only determine mime types for files here. For directories,
         // KFileItem::determineMimeType() reads the .directory file inside to
         // load the icon, but this is not necessary at all if we just need the
index 02c55fd3e088e3831c0bcc728f7ddce0fc708c23..b9c6ccd29526d26cea1f3fa65f9574f162015120 100644 (file)
@@ -113,8 +113,8 @@ KFileItemModelRolesUpdater::KFileItemModelRolesUpdater(KFileItemModel* model, QO
     connect(m_directoryContentsCounter, &KDirectoryContentsCounter::result,
             this,                       &KFileItemModelRolesUpdater::slotDirectoryContentsCountReceived);
 
-    auto plugins = KPluginLoader::instantiatePlugins(QStringLiteral("kf5/overlayicon"), nullptr, qApp);
-    foreach (QObject *it, plugins) {
+    const auto plugins = KPluginLoader::instantiatePlugins(QStringLiteral("kf5/overlayicon"), nullptr, qApp);
+    for (QObject *it : plugins) {
         auto plugin = qobject_cast<KOverlayIconPlugin*>(it);
         if (plugin) {
             m_overlayIconsPlugin.append(plugin);
@@ -324,7 +324,7 @@ void KFileItemModelRolesUpdater::slotItemsInserted(const KItemRangeList& itemRan
     // Determine the sort role synchronously for as many items as possible.
     if (m_resolvableRoles.contains(m_model->sortRole())) {
         int insertedCount = 0;
-        foreach (const KItemRange& range, itemRanges) {
+        for (const KItemRange& range : itemRanges) {
             const int lastIndex = insertedCount + range.index + range.count - 1;
             for (int i = insertedCount + range.index; i <= lastIndex; ++i) {
                 if (timer.elapsed() < MaxBlockTimeout) {
@@ -364,7 +364,8 @@ void KFileItemModelRolesUpdater::slotItemsRemoved(const KItemRangeList& itemRang
             m_balooFileMonitor->clear();
         } else {
             QStringList newFileList;
-            foreach (const QString& file, m_balooFileMonitor->files()) {
+            const QStringList oldFileList = m_balooFileMonitor->files();
+            for (const QString& file : oldFileList) {
                 if (m_model->index(QUrl::fromLocalFile(file)) >= 0) {
                     newFileList.append(file);
                 }
@@ -424,7 +425,7 @@ void KFileItemModelRolesUpdater::slotItemsChanged(const KItemRangeList& itemRang
 
     QSet<KFileItem>& targetSet = itemsChangedRecently ? m_recentlyChangedItems : m_changedItems;
 
-    foreach (const KItemRange& itemRange, itemRanges) {
+    for (const KItemRange& itemRange : itemRanges) {
         int index = itemRange.index;
         for (int count = itemRange.count; count > 0; --count) {
             const KFileItem item = m_model->fileItem(index);
@@ -537,7 +538,7 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi
     // It is more efficient to do it here, as KIconLoader::drawOverlays()
     // assumes that an overlay will be drawn and has some additional
     // setup time.
-    foreach (const QString& overlay, overlays) {
+    for (const QString& overlay : overlays) {
         if (!overlay.isEmpty()) {
             // There is at least one overlay, draw all overlays above m_pixmap
             // and cancel the check
@@ -722,7 +723,8 @@ void KFileItemModelRolesUpdater::applyChangedBalooRolesForItem(const KFileItem &
     const KBalooRolesProvider& rolesProvider = KBalooRolesProvider::instance();
     QHash<QByteArray, QVariant> data;
 
-    foreach (const QByteArray& role, rolesProvider.roles()) {
+    const auto roles = rolesProvider.roles();
+    for (const QByteArray& role : roles) {
         // Overwrite all the role values with an empty QVariant, because the roles
         // provider doesn't overwrite it when the property value list is empty.
         // See bug 322348
@@ -808,7 +810,7 @@ void KFileItemModelRolesUpdater::startUpdating()
         m_pendingPreviewItems.clear();
         m_pendingPreviewItems.reserve(indexes.count());
 
-        foreach (int index, indexes) {
+        for (int index : qAsConst(indexes)) {
             const KFileItem item = m_model->fileItem(index);
             if (!m_finishedItems.contains(item)) {
                 m_pendingPreviewItems.append(item);
@@ -941,7 +943,7 @@ void KFileItemModelRolesUpdater::updateChangedItems()
     QList<int> visibleChangedIndexes;
     QList<int> invisibleChangedIndexes;
 
-    foreach (const KFileItem& item, m_changedItems) {
+    for (const KFileItem& item : qAsConst(m_changedItems)) {
         const int index = m_model->index(item);
 
         if (index < 0) {
@@ -959,11 +961,11 @@ void KFileItemModelRolesUpdater::updateChangedItems()
     std::sort(visibleChangedIndexes.begin(), visibleChangedIndexes.end());
 
     if (m_previewShown) {
-        foreach (int index, visibleChangedIndexes) {
+        for (int index : qAsConst(visibleChangedIndexes)) {
             m_pendingPreviewItems.append(m_model->fileItem(index));
         }
 
-        foreach (int index, invisibleChangedIndexes) {
+        for (int index : qAsConst(invisibleChangedIndexes)) {
             m_pendingPreviewItems.append(m_model->fileItem(index));
         }
 
@@ -1078,7 +1080,7 @@ QHash<QByteArray, QVariant> KFileItemModelRolesUpdater::rolesData(const KFileIte
     }
 
     QStringList overlays = item.overlays();
-    foreach(KOverlayIconPlugin *it, m_overlayIconsPlugin) {
+    for (KOverlayIconPlugin *it : qAsConst(m_overlayIconsPlugin)) {
         overlays.append(it->getOverlays(item.url()));
     }
     data.insert("iconOverlays", overlays);
@@ -1101,7 +1103,7 @@ void KFileItemModelRolesUpdater::slotOverlaysChanged(const QUrl& url, const QStr
     const int index = m_model->index(item);
     QHash<QByteArray, QVariant> data =  m_model->data(index);
     QStringList overlays = item.overlays();
-    foreach (KOverlayIconPlugin *it, m_overlayIconsPlugin) {
+    for (KOverlayIconPlugin *it : qAsConst(m_overlayIconsPlugin)) {
         overlays.append(it->getOverlays(url));
     }
     data.insert("iconOverlays", overlays);
index 60318047de55d201d21243da094d5cc0aa98a95f..0d48bb5e3c785d01a043645547e407213e82522e 100644 (file)
@@ -864,7 +864,8 @@ bool KItemListController::hoverLeaveEvent(QGraphicsSceneHoverEvent* event, const
         return false;
     }
 
-    foreach (KItemListWidget* widget, m_view->visibleItemListWidgets()) {
+    const auto widgets = m_view->visibleItemListWidgets();
+    for (KItemListWidget* widget : widgets) {
         if (widget->isHovered()) {
             widget->setHovered(false);
             emit itemUnhovered(widget->index());
@@ -1195,7 +1196,8 @@ void KItemListController::slotRubberBandChanged()
     KItemSet selectedItems;
 
     // Select all visible items that intersect with the rubberband
-    foreach (const KItemListWidget* widget, m_view->visibleItemListWidgets()) {
+    const auto widgets = m_view->visibleItemListWidgets();
+    for (const KItemListWidget* widget : widgets) {
         const int index = widget->index();
 
         const QRectF widgetRect = m_view->itemRect(index);
@@ -1284,7 +1286,8 @@ KItemListWidget* KItemListController::hoveredWidget() const
 {
     Q_ASSERT(m_view);
 
-    foreach (KItemListWidget* widget, m_view->visibleItemListWidgets()) {
+    const auto widgets = m_view->visibleItemListWidgets();
+    for (KItemListWidget* widget : widgets) {
         if (widget->isHovered()) {
             return widget;
         }
@@ -1297,7 +1300,8 @@ KItemListWidget* KItemListController::widgetForPos(const QPointF& pos) const
 {
     Q_ASSERT(m_view);
 
-    foreach (KItemListWidget* widget, m_view->visibleItemListWidgets()) {
+    const auto widgets = m_view->visibleItemListWidgets();
+    for (KItemListWidget* widget : widgets) {
         const QPointF mappedPos = widget->mapFromItem(m_view, pos);
 
         const bool hovered = widget->contains(mappedPos) &&
index d0a09704e9f1ed183a286338583fc3bd60248ddb..dedeb57e3a9f2d2c2eb6fa36e3e0680f6a6604a5 100644 (file)
@@ -45,7 +45,8 @@ qreal KItemListHeader::columnWidth(const QByteArray& role) const
 void KItemListHeader::setColumnWidths(const QHash<QByteArray, qreal>& columnWidths)
 {
     if (!m_headerWidget->automaticColumnResizing()) {
-        foreach (const QByteArray& role, m_view->visibleRoles()) {
+        const auto visibleRoles = m_view->visibleRoles();
+        for (const QByteArray& role : visibleRoles) {
             const qreal width = columnWidths.value(role);
             m_headerWidget->setColumnWidth(role, width);
         }
index 3cb051a23d5561b38e3e7c2c993f064fb354d900..e5f450a7c594408f41d07de76dae5e1ea39bb485 100644 (file)
@@ -222,7 +222,7 @@ void KItemListSelectionManager::itemsInserted(const KItemRangeList& itemRanges)
     } else {
         const int previousCurrent = m_currentItem;
         int inc = 0;
-        foreach (const KItemRange& itemRange, itemRanges) {
+        for (const KItemRange& itemRange : itemRanges) {
             if (m_currentItem < itemRange.index) {
                 break;
             }
@@ -242,7 +242,7 @@ void KItemListSelectionManager::itemsInserted(const KItemRangeList& itemRanges)
         m_anchorItem = 0;
     } else {
         int inc = 0;
-        foreach (const KItemRange& itemRange, itemRanges) {
+        for (const KItemRange& itemRange : itemRanges) {
             if (m_anchorItem < itemRange.index) {
                 break;
             }
@@ -258,7 +258,7 @@ void KItemListSelectionManager::itemsInserted(const KItemRangeList& itemRanges)
 
         for (int index: previous) {
             int inc = 0;
-            foreach (const KItemRange& itemRange, itemRanges) {
+            for (const KItemRange& itemRange : itemRanges) {
                 if (index < itemRange.index) {
                     break;
                 }
@@ -376,7 +376,7 @@ int KItemListSelectionManager::indexAfterRangesRemoving(int index, const KItemRa
                                                         const RangesRemovingBehaviour behaviour) const
 {
     int dec = 0;
-    foreach (const KItemRange& itemRange, itemRanges) {
+    for (const KItemRange& itemRange : itemRanges) {
         if (index < itemRange.index) {
             break;
         }
index 4d9bf083f2f056ff4ffde35c6d86ad16d55d52e9..5bbc73d90e215de9af85b9a23cf6b2dfb752bc50 100644 (file)
@@ -230,7 +230,7 @@ void KItemListView::setVisibleRoles(const QList<QByteArray>& roles)
         if (!m_headerWidget->automaticColumnResizing()) {
             // The column-width of new roles are still 0. Apply the preferred
             // column-width as default with.
-            foreach (const QByteArray& role, m_visibleRoles) {
+            for (const QByteArray& role : qAsConst(m_visibleRoles)) {
                 if (m_headerWidget->columnWidth(role) == 0) {
                     const qreal width = m_headerWidget->preferredColumnWidth(role);
                     m_headerWidget->setColumnWidth(role, width);
@@ -1029,7 +1029,7 @@ void KItemListView::slotItemsInserted(const KItemRangeList& itemRanges)
     m_sizeHintResolver->itemsInserted(itemRanges);
 
     int previouslyInsertedCount = 0;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         // range.index is related to the model before anything has been inserted.
         // As in each loop the current item-range gets inserted the index must
         // be increased by the already previously inserted items.
@@ -1155,7 +1155,7 @@ void KItemListView::slotItemsRemoved(const KItemRangeList& itemRanges)
         QVector<int> itemsToMove;
 
         // Remove all KItemListWidget instances that got deleted
-        foreach (KItemListWidget* widget, m_visibleItems) {
+        for (KItemListWidget* widget : qAsConst(m_visibleItems)) {
             const int i = widget->index();
             if (i < firstRemovedIndex) {
                 continue;
@@ -1191,7 +1191,7 @@ void KItemListView::slotItemsRemoved(const KItemRangeList& itemRanges)
         // after the deleted items. It is important to update them in ascending
         // order to prevent overlaps when setting the new index.
         std::sort(itemsToMove.begin(), itemsToMove.end());
-        foreach (int i, itemsToMove) {
+        for (int i : qAsConst(itemsToMove)) {
             KItemListWidget* widget = m_visibleItems.value(i);
             Q_ASSERT(widget);
             const int newIndex = i - count;
@@ -1269,7 +1269,7 @@ void KItemListView::slotItemsChanged(const KItemRangeList& itemRanges,
         updatePreferredColumnWidths(itemRanges);
     }
 
-    foreach (const KItemRange& itemRange, itemRanges) {
+    for (const KItemRange& itemRange : itemRanges) {
         const int index = itemRange.index;
         const int count = itemRange.count;
 
@@ -1823,7 +1823,7 @@ void KItemListView::doLayout(LayoutAnimationHint hint, int changedIndex, int cha
     }
 
     // Delete invisible KItemListWidget instances that have not been reused
-    foreach (int index, reusableItems) {
+    for (int index : qAsConst(reusableItems)) {
         recycleWidget(m_visibleItems.value(index));
     }
 
@@ -2197,7 +2197,7 @@ QHash<QByteArray, qreal> KItemListView::preferredColumnWidths(const KItemRangeLi
     const QFontMetricsF fontMetrics(m_headerWidget->font());
     const int gripMargin   = m_headerWidget->style()->pixelMetric(QStyle::PM_HeaderGripMargin);
     const int headerMargin = m_headerWidget->style()->pixelMetric(QStyle::PM_HeaderMargin);
-    foreach (const QByteArray& visibleRole, visibleRoles()) {
+    for (const QByteArray& visibleRole : qAsConst(m_visibleRoles)) {
         const QString headerText = m_model->roleDescription(visibleRole);
         const qreal headerWidth = fontMetrics.width(headerText) + gripMargin + headerMargin * 2;
         widths.insert(visibleRole, headerWidth);
@@ -2208,12 +2208,12 @@ QHash<QByteArray, qreal> KItemListView::preferredColumnWidths(const KItemRangeLi
     const KItemListWidgetCreatorBase* creator = widgetCreator();
     int calculatedItemCount = 0;
     bool maxTimeExceeded = false;
-    foreach (const KItemRange& itemRange, itemRanges) {
+    for (const KItemRange& itemRange : itemRanges) {
         const int startIndex = itemRange.index;
         const int endIndex = startIndex + itemRange.count - 1;
 
         for (int i = startIndex; i <= endIndex; ++i) {
-            foreach (const QByteArray& visibleRole, visibleRoles()) {
+            for (const QByteArray& visibleRole : qAsConst(m_visibleRoles)) {
                 qreal maxWidth = widths.value(visibleRole, 0);
                 const qreal width = creator->preferredRoleColumnWidth(visibleRole, i, this);
                 maxWidth = qMax(width, maxWidth);
@@ -2255,7 +2255,7 @@ void KItemListView::applyColumnWidthsFromHeader()
 
 void KItemListView::updateWidgetColumnWidths(KItemListWidget* widget)
 {
-    foreach (const QByteArray& role, m_visibleRoles) {
+    for (const QByteArray& role : qAsConst(m_visibleRoles)) {
         widget->setColumnWidth(role, m_headerWidget->columnWidth(role));
     }
 }
@@ -2265,13 +2265,13 @@ void KItemListView::updatePreferredColumnWidths(const KItemRangeList& itemRanges
     Q_ASSERT(m_itemSize.isEmpty());
     const int itemCount = m_model->count();
     int rangesItemCount = 0;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         rangesItemCount += range.count;
     }
 
     if (itemCount == rangesItemCount) {
         const QHash<QByteArray, qreal> preferredWidths = preferredColumnWidths(itemRanges);
-        foreach (const QByteArray& role, m_visibleRoles) {
+        for (const QByteArray& role : qAsConst(m_visibleRoles)) {
             m_headerWidget->setPreferredColumnWidth(role, preferredWidths.value(role));
         }
     } else {
@@ -2326,7 +2326,7 @@ void KItemListView::applyAutomaticColumnWidths()
     // size does not use the available view-size the size of the
     // first role will get stretched.
 
-    foreach (const QByteArray& role, m_visibleRoles) {
+    for (const QByteArray& role : qAsConst(m_visibleRoles)) {
         const qreal preferredWidth = m_headerWidget->preferredColumnWidth(role);
         m_headerWidget->setColumnWidth(role, preferredWidth);
     }
@@ -2373,7 +2373,7 @@ void KItemListView::applyAutomaticColumnWidths()
 qreal KItemListView::columnWidthsSum() const
 {
     qreal widthsSum = 0;
-    foreach (const QByteArray& role, m_visibleRoles) {
+    for (const QByteArray& role : qAsConst(m_visibleRoles)) {
         widthsSum += m_headerWidget->columnWidth(role);
     }
     return widthsSum;
index 5f37535255262b957aa8710750d7d73dcd0435d8..ffc088bdbf9348eed96b6a1d97aaed6d4af1895e 100644 (file)
@@ -31,7 +31,7 @@ KItemListViewAccessible::KItemListViewAccessible(KItemListView* view_) :
 
 KItemListViewAccessible::~KItemListViewAccessible()
 {
-    foreach (AccessibleIdWrapper idWrapper, m_cells) {
+    for (AccessibleIdWrapper idWrapper : qAsConst(m_cells)) {
         if (idWrapper.isValid) {
             QAccessible::deleteAccessibleInterface(idWrapper.id);
         }
index fce06a53f0b6f50b566afcf0f1d3a2805e47558b..b4c14c1a7d7ac14c49b64045f96882f8c17028ed 100644 (file)
@@ -80,7 +80,7 @@ void KItemListWidget::setData(const QHash<QByteArray, QVariant>& data,
         m_data = data;
         dataChanged(m_data);
     } else {
-        foreach (const QByteArray& role, roles) {
+        for (const QByteArray& role : roles) {
             m_data[role] = data[role];
         }
         dataChanged(m_data, roles);
index ea96efd11e5ec788f76dca1a050f4e47a3e06d15..1200bc7a97c145450064d5a143f4bba7425dc1b1 100644 (file)
@@ -197,14 +197,14 @@ KItemSet KItemSet::operator^(const KItemSet& other) const
     const QVector<int>::iterator end = rangeBoundaries.end();
     QVector<int>::iterator it = begin;
 
-    foreach (const KItemRange& range, m_itemRanges) {
+    for (const KItemRange& range : qAsConst(m_itemRanges)) {
         *it++ = range.index;
         *it++ = range.index + range.count;
     }
 
     const QVector<int>::iterator middle = it;
 
-    foreach (const KItemRange& range, other.m_itemRanges) {
+    for (const KItemRange& range : qAsConst(other.m_itemRanges)) {
         *it++ = range.index;
         *it++ = range.index + range.count;
     }
index e66b47f289f2da0ccd1845f5316dfcfad0c507e0..2d0137e0f0d733e1129fec17ab27f8b43d6fe545 100644 (file)
@@ -303,7 +303,7 @@ inline KItemSet& KItemSet::operator=(const KItemSet& other)
 inline int KItemSet::count() const
 {
     int result = 0;
-    foreach (const KItemRange& range, m_itemRanges) {
+    for (const KItemRange& range : qAsConst(m_itemRanges)) {
         result += range.count;
     }
     return result;
index bc766a5dcb1e08dd39509b539a2ffb5b7b800d12..6edbefad80fc2f519f66ac0a8c8027ddd085aed8 100644 (file)
@@ -80,7 +80,8 @@ bool KStandardItemListView::itemSizeHintUpdateRequired(const QSet<QByteArray>& c
     // Even if the icons have a different size they are always aligned within
     // the area defined by KItemStyleOption.iconSize and hence result in no
     // change of the item-size.
-    foreach (const QByteArray& role, visibleRoles()) {
+    const auto roles = visibleRoles();
+    for (const QByteArray& role : roles) {
         if (changedRoles.contains(role)) {
             return true;
         }
@@ -152,7 +153,8 @@ void KStandardItemListView::applyDefaultStyleOption(int iconSize,
 void KStandardItemListView::updateLayoutOfVisibleItems()
 {
     if (model()) {
-        foreach (KItemListWidget* widget, visibleItemListWidgets()) {
+        const auto widgets = visibleItemListWidgets();
+        for (KItemListWidget* widget : widgets) {
             initializeItemListWidget(widget);
         }
     }
index daf765cc23cf9885955b6d6554a562baad9d595c..032a949c101be74e0d24318ad4cf54801295f363 100644 (file)
@@ -204,7 +204,7 @@ void KStandardItemListWidgetInformant::calculateCompactLayoutItemSizeHints(QVect
             maximumRequiredWidth = fontMetrics.horizontalAdvance(itemText(index, view));
         } else {
             const QHash<QByteArray, QVariant>& values = view->model()->data(index);
-            foreach (const QByteArray& role, visibleRoles) {
+            for (const QByteArray& role : visibleRoles) {
                 const QString& text = roleText(role, values);
                 const qreal requiredWidth = fontMetrics.horizontalAdvance(text);
                 maximumRequiredWidth = qMax(maximumRequiredWidth, requiredWidth);
@@ -1205,7 +1205,7 @@ void KStandardItemListWidget::updateIconsLayoutTextCache()
 
     // Calculate the position for each additional information
     qreal y = nameTextInfo->pos.y() + nameHeight;
-    foreach (const QByteArray& role, m_sortedVisibleRoles) {
+    for (const QByteArray& role : qAsConst(m_sortedVisibleRoles)) {
         if (role == "text") {
             continue;
         }
@@ -1268,7 +1268,7 @@ void KStandardItemListWidget::updateCompactLayoutTextCache()
     const qreal x = option.padding * 3 + scaledIconSize;
     qreal y = qRound((widgetHeight - textLinesHeight) / 2);
     const qreal maxWidth = size().width() - x - option.padding;
-    foreach (const QByteArray& role, m_sortedVisibleRoles) {
+    for (const QByteArray& role : qAsConst(m_sortedVisibleRoles)) {
         const QString text = roleText(role, values);
         TextInfo* textInfo = m_textInfo.value(role);
         textInfo->staticText.setText(text);
@@ -1319,7 +1319,7 @@ void KStandardItemListWidget::updateDetailsLayoutTextCache()
     qreal x = firstColumnInc;
     const qreal y = qMax(qreal(option.padding), (widgetHeight - fontHeight) / 2);
 
-    foreach (const QByteArray& role, m_sortedVisibleRoles) {
+    for (const QByteArray& role : qAsConst(m_sortedVisibleRoles)) {
         QString text = roleText(role, values);
 
         // Elide the text in case it does not fit into the available column-width
@@ -1493,7 +1493,7 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStrin
         // It is more efficient to do it here, as KIconLoader::drawOverlays()
         // assumes that an overlay will be drawn and has some additional
         // setup time.
-        foreach (const QString& overlay, overlays) {
+        for (const QString& overlay : overlays) {
             if (!overlay.isEmpty()) {
                 int state = KIconLoader::DefaultState;
 
index bb695e26616f980de25a63248280e913379a6cd7..6a2a4177fd2363eb69a1bbc29a4d2760c2ea241c 100644 (file)
@@ -96,7 +96,7 @@ bool KFileItemModelFilter::matchesPattern(const KFileItem& item) const
 
 bool KFileItemModelFilter::matchesType(const KFileItem& item) const
 {
-    foreach (const QString& mimeType, m_mimeTypes) {
+    for (const QString& mimeType : qAsConst(m_mimeTypes)) {
         if (item.mimetype() == mimeType) {
             return true;
         }
index c28231e1c76a6b006e7e58366bed060c3c4dcab3..05883b93e0bf2e4b342cf7df7e04866212467a53 100644 (file)
@@ -78,7 +78,7 @@ bool KItemListHeaderWidget::automaticColumnResizing() const
 
 void KItemListHeaderWidget::setColumns(const QList<QByteArray>& roles)
 {
-    foreach (const QByteArray& role, roles) {
+    for (const QByteArray& role : roles) {
         if (!m_columnWidths.contains(role)) {
             m_preferredColumnWidths.remove(role);
         }
@@ -155,7 +155,7 @@ void KItemListHeaderWidget::paint(QPainter* painter, const QStyleOptionGraphicsI
 
     qreal x = -m_offset;
     int orderIndex = 0;
-    foreach (const QByteArray& role, m_columns) {
+    for (const QByteArray& role : qAsConst(m_columns)) {
         const qreal roleWidth = m_columnWidths.value(role);
         const QRectF rect(x, 0, roleWidth, size().height());
         paintRole(painter, role, rect, orderIndex, widget);
@@ -468,7 +468,7 @@ int KItemListHeaderWidget::roleIndexAt(const QPointF& pos) const
     int index = -1;
 
     qreal x = -m_offset;
-    foreach (const QByteArray& role, m_columns) {
+    for (const QByteArray& role : qAsConst(m_columns)) {
         ++index;
         x += m_columnWidths.value(role);
         if (pos.x() <= x) {
@@ -549,7 +549,7 @@ int KItemListHeaderWidget::targetOfMovingRole() const
 qreal KItemListHeaderWidget::roleXPosition(const QByteArray& role) const
 {
     qreal x = -m_offset;
-    foreach (const QByteArray& visibleRole, m_columns) {
+    for (const QByteArray& visibleRole : qAsConst(m_columns)) {
         if (visibleRole == role) {
             return x;
         }
index 7021c5296cbb1c5f1f0ad39f1cf80df33dc07ab2..7deb5c6219c51d71c3f788a07050777ad7f2969c 100644 (file)
@@ -35,7 +35,7 @@ QSizeF KItemListSizeHintResolver::sizeHint(int index)
 void KItemListSizeHintResolver::itemsInserted(const KItemRangeList& itemRanges)
 {
     int insertedCount = 0;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         insertedCount += range.count;
     }
 
index e6cef5441383fd56eee8c54723e8ec207df66586..f4181d0646767245ffda50fe068ea0dac7d36007 100644 (file)
@@ -139,10 +139,10 @@ void TreeViewContextMenu::open(const QPoint& pos)
         popup->addAction(propertiesAction);
     }
 
-    QList<QAction*> customActions = m_parent->customContextMenuActions();
+    const QList<QAction*> customActions = m_parent->customContextMenuActions();
     if (!customActions.isEmpty()) {
         popup->addSeparator();
-        foreach (QAction* action, customActions) {
+        for (QAction* action : customActions) {
             popup->addAction(action);
         }
     }
index 2e1d09e6b6cf3e3042faee7b61583fa09debc36f..03cf628b4068028a58f57855d16044f9b2b497f8 100644 (file)
@@ -322,7 +322,8 @@ void PlacesPanel::slotViewContextMenuRequested(const QPointF& pos)
     menu.addMenu(iconSizeSubMenu);
 
     menu.addSeparator();
-    foreach (QAction* action, customContextMenuActions()) {
+    const auto actions = customContextMenuActions();
+    for (QAction* action : actions) {
         menu.addAction(action);
     }
 
index 0e69cbf65b01480e417b8c67b08a63a7770f64d5..d1a2922e8718b058faf84adfcf4bdf57c00e8572 100644 (file)
@@ -111,7 +111,7 @@ void DolphinQuery::parseBalooQuery()
     QString fileName;
 
     const QStringList subTerms = splitOutsideQuotes(query.searchString());
-    foreach (const QString& subTerm, subTerms) {
+    for (const QString& subTerm : subTerms) {
         const QString token = searchTermToken(subTerm);
         const QString value = stripQuotes(subTerm.mid(token.length()));
 
index c6468792fde73f5beeca60d9f3f315556a2cfcec..430b511216b4dd91bfce0294e674b4d161a866da 100644 (file)
@@ -39,7 +39,7 @@ ApplyViewPropsJob::~ApplyViewPropsJob()
 
 void ApplyViewPropsJob::slotEntries(KIO::Job*, const KIO::UDSEntryList& list)
 {
-    foreach (const KIO::UDSEntry& entry, list) {
+    for (const KIO::UDSEntry& entry : list) {
         const QString name = entry.stringValue(KIO::UDSEntry::UDS_NAME);
         if (name != QLatin1Char('.') && name != QLatin1String("..") && entry.isDir()) {
             ++m_progress;
index 0650e3d2466ef05f35e69a2dc3cd1138d99eea21..e89ef233c07cfb8e5859bc77503b25b412d01070 100644 (file)
@@ -118,7 +118,7 @@ void DolphinSettingsDialog::enableApply()
 
 void DolphinSettingsDialog::applySettings()
 {
-    foreach (SettingsPageBase* page, m_pages) {
+    for (SettingsPageBase* page : qAsConst(m_pages)) {
         page->applySettings();
     }
 
@@ -137,7 +137,7 @@ void DolphinSettingsDialog::applySettings()
 
 void DolphinSettingsDialog::restoreDefaults()
 {
-    foreach (SettingsPageBase* page, m_pages) {
+    for (SettingsPageBase* page : qAsConst(m_pages)) {
         page->restoreDefaults();
     }
 }
index 29472c40d8d69ef4a1b5626d3327a274342326cd..16650ff9e778a725a0d686e551ade3096bc7f7df 100644 (file)
@@ -59,14 +59,14 @@ GeneralSettingsPage::~GeneralSettingsPage()
 
 void GeneralSettingsPage::applySettings()
 {
-    foreach (SettingsPageBase* page, m_pages) {
+    for (SettingsPageBase* page : qAsConst(m_pages)) {
         page->applySettings();
     }
 }
 
 void GeneralSettingsPage::restoreDefaults()
 {
-    foreach (SettingsPageBase* page, m_pages) {
+    for (SettingsPageBase* page : qAsConst(m_pages)) {
         page->restoreDefaults();
     }
 }
index a41515c2532afe61cfc94f3c7654ee2cc7179330..38caa6b7080263c2ad0326fff09db50931c3d20c 100644 (file)
@@ -168,7 +168,7 @@ void PreviewsSettingsPage::loadPreviewPlugins()
     QAbstractItemModel* model = m_listView->model();
 
     const KService::List plugins = KServiceTypeTrader::self()->query(QStringLiteral("ThumbCreator"));
-    foreach (const KService::Ptr& service, plugins) {
+    for (const KService::Ptr& service : plugins) {
         const bool configurable = service->property(QStringLiteral("Configurable"), QVariant::Bool).toBool();
         const bool show = m_enabledPreviewPlugins.contains(service->desktopEntryName());
 
index 8c56efcddf0e409e6852f75d58e6b156104dd034..2e8c5b7dac1d0c780bf61e648a2b546167dbe484 100644 (file)
@@ -51,14 +51,14 @@ ViewSettingsPage::~ViewSettingsPage()
 
 void ViewSettingsPage::applySettings()
 {
-    foreach (ViewSettingsTab* tab, m_tabs) {
+    for (ViewSettingsTab* tab : qAsConst(m_tabs)) {
         tab->applySettings();
     }
 }
 
 void ViewSettingsPage::restoreDefaults()
 {
-    foreach (ViewSettingsTab* tab, m_tabs) {
+    for (ViewSettingsTab* tab : qAsConst(m_tabs)) {
         tab->restoreDefaultSettings();
     }
 }
index 860e01596e6df9342375037e39a3f13b4588fc37..41893ce25a702bd750eaf5b4ee6e6a2f6fa87b1b 100644 (file)
@@ -78,7 +78,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
 
     m_sorting = new QComboBox();
     const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-    foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
+    for (const KFileItemModel::RoleInfo& info : rolesInfo) {
         m_sorting->addItem(info.translation, info.role);
     }
 
@@ -116,7 +116,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
         connect(m_listWidget, &QListWidget::itemChanged, this, &ViewPropertiesDialog::slotItemChanged);
         m_listWidget->setSelectionMode(QAbstractItemView::NoSelection);
         const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-        foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
+        for (const KFileItemModel::RoleInfo& info : rolesInfo) {
             QListWidgetItem* item = new QListWidgetItem(info.translation, m_listWidget);
             item->setCheckState(visibleRoles.contains(info.role) ? Qt::Checked : Qt::Unchecked);
 
@@ -325,7 +325,7 @@ void ViewPropertiesDialog::applyViewProperties()
         QList<QByteArray> visibleRoles;
         int index = 0;
         const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-        foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
+        for (const KFileItemModel::RoleInfo& info : rolesInfo) {
             const QListWidgetItem* item = m_listWidget->item(index);
              if (item->checkState() == Qt::Checked) {
                 visibleRoles.append(info.role);
index 75f81678d219e6d81c8ac2cc3410135653a7057d..37874cea8a205019b5d6c0918820d8c8097258c6 100644 (file)
@@ -67,7 +67,7 @@ void KFileItemModelBenchmark::insertAndRemoveManyItems_data()
     QList<int> sizes;
     sizes << 100000;
 
-    foreach (int n, sizes) {
+    for (int n : qAsConst(sizes)) {
         QStringList allStrings;
         for (int i = 0; i < n; ++i) {
             allStrings << QString::number(i);
@@ -197,7 +197,7 @@ KFileItemList KFileItemModelBenchmark::createFileItemList(const QStringList& fil
     qInstallMessageHandler(myMessageOutput);
 
     KFileItemList result;
-    foreach (const QString& name, fileNames) {
+    for (const QString& name : fileNames) {
         const KFileItem item(QUrl::fromLocalFile(prefix + name), QString(), KFileItem::Unknown);
         result << item;
     }
index 7bc6b5d99d4f90d4ef4517f549250a8b7b71f0aa..80b88c03eea90e3a79f3fdefc18a381984beacd8 100644 (file)
@@ -241,7 +241,7 @@ void KItemListControllerTest::testKeyboardNavigation_data()
     groupingEnabledList.append(true);
     groupingEnabledNames[true] = "grouping enabled";
 
-    foreach (const KFileItemListView::ItemLayout& layout, layoutList) {
+    for (const KFileItemListView::ItemLayout& layout : layoutList) {
         // The following settings depend on the layout.
         // Note that 'columns' are actually 'rows' in
         // Compact layout.
@@ -279,9 +279,9 @@ void KItemListControllerTest::testKeyboardNavigation_data()
             break;
         }
 
-        foreach (int columnCount, columnCountList) {
-            foreach (const KItemListController::SelectionBehavior& selectionBehavior, selectionBehaviorList) {
-                foreach (bool groupingEnabled, groupingEnabledList) { // krazy:exclude=foreach
+        for (int columnCount : qAsConst(columnCountList)) {
+            for (const KItemListController::SelectionBehavior& selectionBehavior : qAsConst(selectionBehaviorList)) {
+                for (bool groupingEnabled : qAsConst(groupingEnabledList)) {
                     QList<QPair<KeyPress, ViewState> > testList;
 
                     // First, key presses which should have the same effect
index 880d9d966930fd0b0d72c50cca3decb5fadfc1e5..d19752c3366f19b01df0c60c8c47238789b4207e 100644 (file)
@@ -16,7 +16,7 @@ Q_DECLARE_METATYPE(KItemRangeList)
 KItemSet KItemRangeList2KItemSet(const KItemRangeList& itemRanges)
 {
     KItemSet result;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         for (int i = range.index; i < range.index + range.count; ++i) {
             result.insert(i);
         }
@@ -30,7 +30,7 @@ KItemSet KItemRangeList2KItemSet(const KItemRangeList& itemRanges)
 QSet<int> KItemRangeList2QSet(const KItemRangeList& itemRanges)
 {
     QSet<int> result;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         for (int i = range.index; i < range.index + range.count; ++i) {
             result.insert(i);
         }
@@ -44,7 +44,7 @@ QSet<int> KItemRangeList2QSet(const KItemRangeList& itemRanges)
 QVector<int> KItemRangeList2QVector(const KItemRangeList& itemRanges)
 {
     QVector<int> result;
-    foreach (const KItemRange& range, itemRanges) {
+    for (const KItemRange& range : itemRanges) {
         for (int i = range.index; i < range.index + range.count; ++i) {
             result.append(i);
         }
@@ -65,11 +65,11 @@ static QSet<int> KItemSet2QSet(const KItemSet& itemSet)
     // Check that the conversion was successful.
     Q_ASSERT(itemSet.count() == result.count());
 
-    for (int i : itemSet) {
+    for (int i : qAsConst(itemSet)) {
         Q_ASSERT(result.contains(i));
     }
 
-    foreach (int i, result) {
+    for (int i : qAsConst(result)) {
         Q_ASSERT(itemSet.contains(i));
     }
 
index 29bb3ad78fb61f75473663fc223c705d0fc353a0..51dbdbc580006f5a65e99e3f640b5a453e7cd987 100644 (file)
@@ -61,7 +61,7 @@ void TestDir::createFile(const QString& path, const QByteArray& data, const QDat
 
 void TestDir::createFiles(const QStringList& files)
 {
-    foreach (const QString& path, files) {
+    for (const QString& path : files) {
         createFile(path);
     }
 }
@@ -81,7 +81,7 @@ void TestDir::createDir(const QString& path, const QDateTime& time)
 
 void TestDir::removeFiles(const QStringList& files)
 {
-    foreach (const QString& path, files) {
+    for (const QString& path : files) {
         removeFile(path);
     }
 }
index 664e4eba9a349f42a8b111aa98984aa6a0781a9b..e69f18d7eb652951da3b180bef843aad4f4405e3 100644 (file)
@@ -512,7 +512,7 @@ QString DolphinView::statusBarText() const
     if (m_container->controller()->selectionManager()->hasSelection()) {
         // Give a summary of the status of the selected files
         const KFileItemList list = selectedItems();
-        foreach (const KFileItem& item, list) {
+        for (const KFileItem& item : list) {
             if (item.isDir()) {
                 ++folderCount;
             } else {
@@ -976,7 +976,7 @@ void DolphinView::slotHeaderContextMenuRequested(const QPointF& pos)
 
     // Add all roles to the menu that can be shown or hidden by the user
     const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-    foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
+    for (const KFileItemModel::RoleInfo& info : rolesInfo) {
         if (info.role == "text") {
             // It should not be possible to hide the "text" role
             continue;
@@ -1033,8 +1033,9 @@ void DolphinView::slotHeaderContextMenuRequested(const QPointF& pos)
             // Apply the current column-widths as custom column-widths and turn
             // off the automatic resizing of the columns
             QList<int> columnWidths;
-            columnWidths.reserve(view->visibleRoles().count());
-            foreach (const QByteArray& role, view->visibleRoles()) {
+            const auto visibleRoles = view->visibleRoles();
+            columnWidths.reserve(visibleRoles.count());
+            for (const QByteArray& role : visibleRoles) {
                 columnWidths.append(header->columnWidth(role));
             }
             props.setHeaderColumnWidths(columnWidths);
@@ -1055,8 +1056,9 @@ void DolphinView::slotHeaderContextMenuRequested(const QPointF& pos)
 
             QList<int> columnWidths;
             if (!header->automaticColumnResizing()) {
-                columnWidths.reserve(view->visibleRoles().count());
-                foreach (const QByteArray& role, view->visibleRoles()) {
+                const auto visibleRoles = view->visibleRoles();
+                columnWidths.reserve(visibleRoles.count());
+                for (const QByteArray& role : visibleRoles) {
                     columnWidths.append(header->columnWidth(role));
                 }
             }
@@ -1077,7 +1079,7 @@ void DolphinView::slotHeaderColumnWidthChangeFinished(const QByteArray& role, qr
         columnWidths.clear();
         columnWidths.reserve(visibleRoles.count());
         const KItemListHeader* header = m_view->header();
-        foreach (const QByteArray& role, visibleRoles) {
+        for (const QByteArray& role : visibleRoles) {
             const int width = header->columnWidth(role);
             columnWidths.append(width);
         }
@@ -1876,7 +1878,7 @@ QList<QUrl> DolphinView::simplifiedSelectedUrls() const
 
     const KFileItemList items = selectedItems();
     urls.reserve(items.count());
-    foreach (const KFileItem& item, items) {
+    for (const KFileItem& item : items) {
         urls.append(item.url());
     }
 
index eb22baa00d99c3cc0bd4664b0b4c5299f3d49db5..5975146ff8606e6a221e26813cf28a66602fdefa 100644 (file)
@@ -227,7 +227,8 @@ void DolphinViewActionHandler::createActions()
     sortByActionMenu->setText(i18nc("@action:inmenu View", "Sort By"));
     sortByActionMenu->setDelayed(false);
 
-    foreach (QAction* action, sortByActionGroup->actions()) {
+    const auto sortByActionGroupActions = sortByActionGroup->actions();
+    for (QAction* action : sortByActionGroupActions) {
         sortByActionMenu->addAction(action);
     }
 
@@ -261,7 +262,8 @@ void DolphinViewActionHandler::createActions()
     visibleRolesMenu->setIcon(QIcon::fromTheme(QStringLiteral("documentinfo")));
     visibleRolesMenu->setDelayed(false);
 
-    foreach (QAction* action, visibleRolesGroup->actions()) {
+    const auto visibleRolesGroupActions = visibleRolesGroup->actions();
+    for (QAction* action : visibleRolesGroupActions) {
         visibleRolesMenu->addAction(action);
     }
 
@@ -317,7 +319,7 @@ QActionGroup* DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt
 #endif
 
     const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
-    foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
+    for (const KFileItemModel::RoleInfo& info : rolesInfo) {
         if (!isSortGroup && info.role == "text") {
             // It should not be possible to hide the "text" role
             continue;
@@ -654,7 +656,8 @@ void DolphinViewActionHandler::slotSortTriggered(QAction* action)
     for (QAction *groupAction : qAsConst(m_sortByActions)) {
         KActionMenu* actionMenu = qobject_cast<KActionMenu*>(groupAction);
         if (actionMenu) {
-            foreach (QAction* subAction, actionMenu->menu()->actions()) {
+            const auto actions = actionMenu->menu()->actions();
+            for (QAction* subAction : actions) {
                 subAction->setChecked(false);
             }
         } else if (groupAction->actionGroup()) {
index 7cf78c8aaa6914bf24fcb54b9a673199d9ffb32f..359ae0152bd02c06078e134339629f1358c626ca 100644 (file)
@@ -97,7 +97,7 @@ DolphinView* VersionControlObserver::view() const
 QList<QAction*> VersionControlObserver::actions(const KFileItemList& items) const
 {
     bool hasNullItems = false;
-    foreach (const KFileItem& item, items) {
+    for (const KFileItem& item : items) {
         if (item.isNull()) {
             qCWarning(DolphinDebug) << "Requesting version-control-actions for empty items";
             hasNullItems = true;
@@ -189,7 +189,7 @@ void VersionControlObserver::slotThreadFinished()
     for (; it != itemStates.constEnd(); ++it) {
         const QVector<ItemState>& items = it.value();
 
-        foreach (const ItemState& item, items) {
+        for (const ItemState& item : items) {
             const KFileItem& fileItem = item.first;
             const KVersionControlPlugin::ItemVersion version = item.second;
             QHash<QByteArray, QVariant> values;
index 69ab19bb5b2843f7ebd0fe3c7aab7ab3f46b1011..ab3af5149a6127f853f55e359861055cb884e9e7 100644 (file)
@@ -266,7 +266,7 @@ void ViewProperties::setVisibleRoles(const QList<QByteArray>& roles)
 
     // Add the updated values for the current view-mode
     newVisibleRoles.reserve(roles.count());
-    foreach (const QByteArray& role, roles) {
+    for (const QByteArray& role : roles) {
         newVisibleRoles.append(prefix + role);
     }
 
@@ -309,7 +309,7 @@ QList<QByteArray> ViewProperties::visibleRoles() const
     const int prefixLength = prefix.length();
 
     const QStringList visibleRoles = m_node->visibleRoles();
-    foreach (const QString& visibleRole, visibleRoles) {
+    for (const QString& visibleRole : visibleRoles) {
         if (visibleRole.startsWith(prefix)) {
             const QByteArray role = visibleRole.right(visibleRole.length() - prefixLength).toLatin1();
             if (role != "text") {
@@ -422,7 +422,7 @@ void ViewProperties::convertAdditionalInfo()
         // the internal role. One special-case must be handled: "LinkDestination"
         // has been used for "destination".
         visibleRoles.reserve(additionalInfo.count());
-        foreach (const QString& info, additionalInfo) {
+        for (const QString& info : additionalInfo) {
             QString visibleRole = info;
             int index = visibleRole.indexOf('_');
             if (index >= 0 && index + 1 < visibleRole.length()) {