diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,7 +131,7 @@ endif() -add_definitions(-DQT_NO_URL_CAST_FROM_STRING) +add_definitions(-DQT_NO_URL_CAST_FROM_STRING -DQT_NO_FOREACH) add_subdirectory(doc) add_subdirectory(libkworkspace) diff --git a/applets/digital-clock/plugin/timezonemodel.cpp b/applets/digital-clock/plugin/timezonemodel.cpp --- a/applets/digital-clock/plugin/timezonemodel.cpp +++ b/applets/digital-clock/plugin/timezonemodel.cpp @@ -161,7 +161,7 @@ } cities.sort(Qt::CaseInsensitive); - Q_FOREACH (const QString &key, cities) { + for (const QString &key : qAsConst(cities)) { const QTimeZone timeZone = zonesByCity.value(key); QString comment = timeZone.comment(); diff --git a/applets/systemtray/container/systemtraycontainer.cpp b/applets/systemtray/container/systemtraycontainer.cpp --- a/applets/systemtray/container/systemtraycontainer.cpp +++ b/applets/systemtray/container/systemtraycontainer.cpp @@ -68,7 +68,8 @@ uint id = config().readEntry("SystrayContainmentId", 0); if (id > 0) { - foreach (Plasma::Containment *candidate, c->containments()) { + const auto containments = c->containments(); + for (Plasma::Containment *candidate : containments) { if (candidate->id() == id) { m_innerContainment = candidate; break; diff --git a/components/sessionsprivate/sessionsmodel.cpp b/components/sessionsprivate/sessionsmodel.cpp --- a/components/sessionsprivate/sessionsmodel.cpp +++ b/components/sessionsprivate/sessionsmodel.cpp @@ -168,7 +168,7 @@ m_data.clear(); m_data.reserve(sessions.count()); - foreach (const SessEnt &session, sessions) { + for (const SessEnt &session : qAsConst(sessions)) { if (!session.vt || session.self) { continue; } diff --git a/components/shellprivate/interactiveconsole/interactiveconsole.cpp b/components/shellprivate/interactiveconsole/interactiveconsole.cpp --- a/components/shellprivate/interactiveconsole/interactiveconsole.cpp +++ b/components/shellprivate/interactiveconsole/interactiveconsole.cpp @@ -129,7 +129,7 @@ editorLayout->addWidget(toolBar); const KService::List offers = KServiceTypeTrader::self()->query(QStringLiteral("KTextEditor/Document")); - foreach (const KService::Ptr &service, offers) { + for (const KService::Ptr &service : offers) { m_editorPart = service->createInstance(widget); if (m_editorPart) { m_editorPart->setHighlightingMode(QStringLiteral("JavaScript/PlasmaDesktop")); @@ -374,8 +374,8 @@ QMap sorted; const QString constraint = QStringLiteral("[X-Plasma-Shell] == '%1'") .arg(qApp->applicationName()); - KService::List templates = KServiceTypeTrader::self()->query(QStringLiteral("Plasma/LayoutTemplate"), constraint); - foreach (const KService::Ptr &service, templates) { + const KService::List templates = KServiceTypeTrader::self()->query(QStringLiteral("Plasma/LayoutTemplate"), constraint); + for (const KService::Ptr &service : templates) { sorted.insert(service->name(), service); } diff --git a/components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp b/components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp --- a/components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp +++ b/components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp @@ -133,7 +133,7 @@ { if (m_info.service()) { const QStringList keywords = m_info.property(QStringLiteral("Keywords")).toStringList(); - foreach (const QString &keyword, keywords) { + for (const QString &keyword : keywords) { if (keyword.startsWith(pattern, Qt::CaseInsensitive)) { return true; } @@ -264,7 +264,7 @@ QString constraint; bool first = true; - foreach (const QString prov, m_provides) { + for (const QString prov : qAsConst(m_provides)) { if (!first) { constraint += QLatin1String(" or "); } @@ -286,7 +286,8 @@ bool inFormFactor = true; - foreach (const QString &formFactor, KDeclarative::KDeclarative::runtimePlatform()) { + const auto runtimePlatform = KDeclarative::KDeclarative::runtimePlatform(); + for (const QString &formFactor : runtimePlatform) { if (!info.formFactors().isEmpty() && !info.formFactors().contains(formFactor)) { inFormFactor = false; @@ -370,7 +371,7 @@ QByteArray appletNames; int lastRow = -1; - foreach (const QModelIndex &index, indexes) { + for (const QModelIndex &index : indexes) { if (index.row() == lastRow) { continue; } diff --git a/components/shellprivate/widgetexplorer/widgetexplorer.cpp b/components/shellprivate/widgetexplorer/widgetexplorer.cpp --- a/components/shellprivate/widgetexplorer/widgetexplorer.cpp +++ b/components/shellprivate/widgetexplorer/widgetexplorer.cpp @@ -155,15 +155,15 @@ } } qWarning() << "TODO: port listCategories()"; - foreach (const QString &category, cats) { + for (const QString &category : qAsConst(cats)) { const QString lowerCaseCat = category.toLower(); if (existingCategories.contains(lowerCaseCat)) { const QString trans = i18nd("libplasma5", category.toLocal8Bit()); categories.insert(trans.toLower(), qMakePair(trans, lowerCaseCat)); } } - foreach (const catPair &category, categories) { + for (const catPair &category : qAsConst(categories)) { filterModel.addFilter(category.first, KCategorizedItemsViewModels::Filter(QStringLiteral("category"), category.second)); } @@ -278,7 +278,8 @@ QObject::connect(containment, SIGNAL(appletAdded(Plasma::Applet*)), q, SLOT(appletAdded(Plasma::Applet*))); QObject::connect(containment, SIGNAL(appletRemoved(Plasma::Applet*)), q, SLOT(appletRemoved(Plasma::Applet*))); - foreach (Applet *applet, containment->applets()) { + const auto theApplets = containment->applets(); + for (Applet *applet : theApplets) { if (applet->pluginMetaData().isValid()) { Containment *childContainment = applet->property("containment").value(); if (childContainment) { @@ -492,10 +493,10 @@ if (corona()) { const auto &containments = corona()->containments(); - foreach (Containment *c, containments) { + for (Containment *c : containments) { const auto &applets = c->applets(); - foreach (Applet *applet, applets) { + for (Applet *applet : applets) { const auto &appletInfo = applet->pluginMetaData(); if (appletInfo.isValid() && appletInfo.pluginId() == pluginName) { diff --git a/containmentactions/applauncher/launch.cpp b/containmentactions/applauncher/launch.cpp --- a/containmentactions/applauncher/launch.cpp +++ b/containmentactions/applauncher/launch.cpp @@ -49,7 +49,8 @@ void AppLauncher::makeMenu(QMenu *menu, const KServiceGroup::Ptr group) { - foreach (KSycocaEntry::Ptr p, group->entries(true, true, true)) { + const auto entries = group->entries(true, true, true); + for (KSycocaEntry::Ptr p : entries) { if (p->isType(KST_KService)) { const KService::Ptr service(static_cast(p.data())); diff --git a/containmentactions/contextmenu/menu.cpp b/containmentactions/contextmenu/menu.cpp --- a/containmentactions/contextmenu/menu.cpp +++ b/containmentactions/contextmenu/menu.cpp @@ -82,7 +82,7 @@ disabled.insert(QStringLiteral("configure shortcuts")); } - foreach (const QString &name, m_actionOrder) { + for (const QString &name : qAsConst(m_actionOrder)) { actions.insert(name, !disabled.contains(name)); } @@ -123,7 +123,7 @@ Plasma::Containment *c = containment(); Q_ASSERT(c); QList actions; - foreach (const QString &name, m_actionOrder) { + for (const QString &name : qAsConst(m_actionOrder)) { if (!m_actions.value(name)) { continue; } @@ -255,7 +255,7 @@ m_buttons = new QButtonGroup(widget); m_buttons->setExclusive(false); - foreach (const QString &name, m_actionOrder) { + for (const QString &name : qAsConst(m_actionOrder)) { QCheckBox *item = nullptr; if (name == QLatin1String("_context")) { diff --git a/containmentactions/switchactivity/switch.cpp b/containmentactions/switchactivity/switch.cpp --- a/containmentactions/switchactivity/switch.cpp +++ b/containmentactions/switchactivity/switch.cpp @@ -45,7 +45,8 @@ { qDeleteAll(m_actions); m_actions.clear(); - foreach (const QString &id, m_consumer.activities(KActivities::Info::Running)) { + const auto activities = m_consumer.activities(KActivities::Info::Running); + for (const QString &id : activities) { KActivities::Info info(id); QAction *action = new QAction(QIcon::fromTheme(info.icon()), info.name(), this); action->setData(id); diff --git a/dataengines/activities/activityengine.cpp b/dataengines/activities/activityengine.cpp --- a/dataengines/activities/activityengine.cpp +++ b/dataengines/activities/activityengine.cpp @@ -45,9 +45,9 @@ } else { m_activityController = new KActivities::Controller(this); m_currentActivity = m_activityController->currentActivity(); - QStringList activities = m_activityController->activities(); + const QStringList activities = m_activityController->activities(); //setData("allActivities", activities); - foreach (const QString &id, activities) { + for (const QString &id : activities) { insertActivity(id); } @@ -161,15 +161,16 @@ QSet presentActivities; m_activityScores.clear(); - foreach (const ActivityData &activity, activities) { + for (const ActivityData &activity : activities) { if (m_activities.contains(activity.id)) { setData(activity.id, QStringLiteral("Score"), activity.score); } presentActivities.insert(activity.id); m_activityScores[activity.id] = activity.score; } - foreach (const QString &activityId, m_activityController->activities()) { + const auto theActivities = m_activityController->activities(); + for (const QString &activityId : theActivities) { if (!presentActivities.contains(activityId) && m_activities.contains(activityId)) { setData(activityId, QStringLiteral("Score"), 0); } diff --git a/dataengines/apps/appsengine.cpp b/dataengines/apps/appsengine.cpp --- a/dataengines/apps/appsengine.cpp +++ b/dataengines/apps/appsengine.cpp @@ -73,10 +73,12 @@ //TODO listen for changes addSource(appSource); //do children - foreach (const KServiceGroup::Ptr &subGroup, group->groupEntries(KServiceGroup::NoOptions)) { + const auto entries = group->groupEntries(KServiceGroup::NoOptions); + for (const KServiceGroup::Ptr &subGroup : entries) { addGroup(subGroup); } - foreach (const KService::Ptr &app, group->serviceEntries(KServiceGroup::NoOptions)) { + const auto serviceEntries = group->serviceEntries(KServiceGroup::NoOptions); + for (const KService::Ptr &app : serviceEntries) { addApp(app); } } diff --git a/dataengines/apps/appsource.cpp b/dataengines/apps/appsource.cpp --- a/dataengines/apps/appsource.cpp +++ b/dataengines/apps/appsource.cpp @@ -71,7 +71,8 @@ setData(QStringLiteral("display"), !m_group->noDisplay()); QStringList entries; - foreach (KSycocaEntry::Ptr p, m_group->entries(true, false, true)) { + const auto groupEntries = m_group->entries(true, false, true); + for (KSycocaEntry::Ptr p : groupEntries) { if (p->isType(KST_KService)) { const KService::Ptr service(static_cast(p.data())); entries << service->storageId(); diff --git a/dataengines/devicenotifications/ksolidnotify.cpp b/dataengines/devicenotifications/ksolidnotify.cpp --- a/dataengines/devicenotifications/ksolidnotify.cpp +++ b/dataengines/devicenotifications/ksolidnotify.cpp @@ -129,7 +129,7 @@ QString out(p->readAll()); const QStringList &pidList = out.split(QRegExp(QStringLiteral("\\s+")), QString::SkipEmptyParts); KSysGuard::Processes procs; - Q_FOREACH (const QString &pidStr, pidList) { + for (const QString &pidStr : pidList) { int pid = pidStr.toInt(); if (!pid) { continue; @@ -186,7 +186,7 @@ if (type == SolidReplyType::Eject) { QString discUdi; - foreach (Solid::Device device, m_devices) { + for (Solid::Device device : qAsConst(m_devices)) { if (device.parentUdi() == udi) { discUdi = device.udi(); } diff --git a/dataengines/geolocation/geolocation.cpp b/dataengines/geolocation/geolocation.cpp --- a/dataengines/geolocation/geolocation.cpp +++ b/dataengines/geolocation/geolocation.cpp @@ -52,7 +52,7 @@ const KService::List offers = KServiceTypeTrader::self()->query(QStringLiteral("Plasma/GeolocationProvider")); QVariantList args; - Q_FOREACH (const KService::Ptr &service, offers) { + for (const KService::Ptr &service : offers) { QString error; GeolocationProvider *plugin = service->createInstance(nullptr, args, &error); if (plugin) { @@ -91,7 +91,7 @@ { bool changed = false; - Q_FOREACH (GeolocationProvider *plugin, m_plugins) { + for (GeolocationProvider *plugin : qAsConst(m_plugins)) { changed = plugin->requestUpdate(triggers) || changed; } @@ -130,7 +130,7 @@ provider->requestUpdate(GeolocationProvider::ForcedUpdate); bool changed = false; - Q_FOREACH (GeolocationProvider *plugin, m_plugins) { + for (GeolocationProvider *plugin : qAsConst(m_plugins)) { changed = plugin->populateSharedData() || changed; } diff --git a/dataengines/hotplug/hotplugengine.cpp b/dataengines/hotplug/hotplugengine.cpp --- a/dataengines/hotplug/hotplugengine.cpp +++ b/dataengines/hotplug/hotplugengine.cpp @@ -48,7 +48,7 @@ { const QStringList folders = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("solid/actions"), QStandardPaths::LocateDirectory); - foreach (const QString &folder, folders) { + for (const QString &folder : folders) { m_dirWatch->addDir(folder, KDirWatch::WatchFiles); } connect(m_dirWatch, &KDirWatch::created, this, &HotplugEngine::updatePredicates); @@ -73,8 +73,8 @@ p |= Solid::Predicate(Solid::DeviceInterface::OpticalDisc); p |= Solid::Predicate(Solid::DeviceInterface::PortableMediaPlayer); p |= Solid::Predicate(Solid::DeviceInterface::Camera); - QList devices = Solid::Device::listFromQuery(p); - foreach (const Solid::Device &dev, devices) { + const QList devices = Solid::Device::listFromQuery(p); + for (const Solid::Device &dev : devices) { m_startList.insert(dev.udi(), dev); } @@ -114,14 +114,14 @@ m_predicates.clear(); QStringList files; const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("solid/actions"), QStandardPaths::LocateDirectory); - Q_FOREACH (const QString& dir, dirs) { + for (const QString& dir : dirs) { QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop")); while (it.hasNext()) { files.prepend(it.next()); } } //qDebug() << files; - foreach (const QString &path, files) { + for (const QString &path : qAsConst(files)) { KDesktopFile cfg(path); const QString string_predicate = cfg.desktopGroup().readEntry("X-KDE-Solid-Predicate"); //qDebug() << path << string_predicate; diff --git a/dataengines/mpris2/mpris2engine.cpp b/dataengines/mpris2/mpris2engine.cpp --- a/dataengines/mpris2/mpris2engine.cpp +++ b/dataengines/mpris2/mpris2engine.cpp @@ -156,7 +156,8 @@ if (propsReply.isError()) { qCWarning(MPRIS2) << "Could not get list of available D-Bus services"; } else { - foreach (const QString& serviceName, propsReply.value()) { + const auto value = propsReply.value(); + for (const QString& serviceName : value) { if (serviceName.startsWith(QLatin1String("org.mpris.MediaPlayer2."))) { qCDebug(MPRIS2) << "Found MPRIS2 service" << serviceName; // watch out for race conditions; the media player could diff --git a/dataengines/mpris2/multiplexedservice.cpp b/dataengines/mpris2/multiplexedservice.cpp --- a/dataengines/mpris2/multiplexedservice.cpp +++ b/dataengines/mpris2/multiplexedservice.cpp @@ -51,12 +51,13 @@ void MultiplexedService::updateEnabledOperations() { + const auto ops = operationNames(); if (m_control) { - foreach (const QString &op, operationNames()) { + for (const QString &op : ops) { setOperationEnabled(op, m_control.data()->isOperationEnabled(op)); } } else { - foreach (const QString &op, operationNames()) { + for (const QString &op : ops) { setOperationEnabled(op, false); } } diff --git a/dataengines/powermanagement/powermanagementengine.cpp b/dataengines/powermanagement/powermanagementengine.cpp --- a/dataengines/powermanagement/powermanagementengine.cpp +++ b/dataengines/powermanagement/powermanagementengine.cpp @@ -155,7 +155,7 @@ uint index = 0; QStringList batterySources; - foreach (const Solid::Device &deviceBattery, listBattery) { + for (const Solid::Device &deviceBattery : listBattery) { const Solid::Battery* battery = deviceBattery.as(); const QString source = QStringLiteral("Battery%1").arg(index++); @@ -439,7 +439,7 @@ void PowermanagementEngine::updateBatteryNames() { uint unnamedBatteries = 0; - foreach (QString source, m_batterySources) { + for (const QString &source : qAsConst(m_batterySources)) { DataContainer *batteryDataContainer = containerForSource(source); if (batteryDataContainer) { const QString batteryVendor = batteryDataContainer->data()[QStringLiteral("Vendor")].toString(); @@ -480,7 +480,7 @@ double totalPercentage = 0; int count = 0; - foreach (const Solid::Device &deviceBattery, listBattery) { + for (const Solid::Device &deviceBattery : listBattery) { const Solid::Battery* battery = deviceBattery.as(); if (battery && battery->isPowerSupply()) { diff --git a/dataengines/soliddevice/soliddeviceengine.cpp b/dataengines/soliddevice/soliddeviceengine.cpp --- a/dataengines/soliddevice/soliddeviceengine.cpp +++ b/dataengines/soliddevice/soliddeviceengine.cpp @@ -100,7 +100,8 @@ } else { Solid::Predicate predicate = Solid::Predicate::fromString(name); if (predicate.isValid() && !m_predicatemap.contains(name)) { - foreach (const Solid::Device &device, Solid::Device::listFromQuery(predicate)) { + const auto devices = Solid::Device::listFromQuery(predicate); + for (const Solid::Device &device : devices) { m_predicatemap[name] << device.udi(); } @@ -275,7 +276,7 @@ //the following method return QList so we need to convert it to QList const QList writespeeds = opticaldrive->writeSpeeds(); QList variantlist; - foreach(int num, writespeeds) { + for (int num : writespeeds) { variantlist << num; } setData(name, I18N_NOOP("Write Speeds"), variantlist); @@ -451,7 +452,8 @@ { Solid::Device device(udi); - foreach (const QString &query, m_predicatemap.keys()) { + const auto keys = m_predicatemap.keys(); + for (const QString &query : keys) { Solid::Predicate predicate = Solid::Predicate::fromString(query); if (predicate.matches(device)) { m_predicatemap[query] << udi; @@ -677,7 +679,8 @@ m_encryptedContainerMap.remove(udi); } - foreach (const QString &query, m_predicatemap.keys()) { + const auto keys = m_predicatemap.keys(); + for (const QString &query : keys) { m_predicatemap[query].removeAll(udi); setData(query, m_predicatemap[query]); } diff --git a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp --- a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp +++ b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp @@ -103,8 +103,8 @@ connect(watcher, &QDBusPendingCallWatcher::finished, this, [=]() { watcher->deleteLater(); QDBusReply reply = *watcher; - QStringList registeredItems = reply.value().variant().toStringList(); - foreach (const QString &service, registeredItems) { + const QStringList registeredItems = reply.value().variant().toStringList(); + for (const QString &service : registeredItems) { newItem(service); } }); diff --git a/dataengines/systemmonitor/systemmonitor.cpp b/dataengines/systemmonitor/systemmonitor.cpp --- a/dataengines/systemmonitor/systemmonitor.cpp +++ b/dataengines/systemmonitor/systemmonitor.cpp @@ -128,7 +128,7 @@ m_sensors.clear(); int count = 0; - foreach (const QByteArray &sens, answer) { + for (const QByteArray &sens : answer) { const QString sensStr{QString::fromUtf8(sens)}; const QVector newSensorInfo = sensStr.splitRef('\t'); if (newSensorInfo.count() < 2) { diff --git a/dataengines/time/solarsystem.cpp b/dataengines/time/solarsystem.cpp --- a/dataengines/time/solarsystem.cpp +++ b/dataengines/time/solarsystem.cpp @@ -284,7 +284,7 @@ } QList< QPair > result; QTime rise, set; - foreach (double angle, angles) { + for (double angle : angles) { for (int j = 3; j <= 25; j += 2) { QPointF p1((j - 2) * 60 * 60, altitudes[j - 2] - angle); QPointF p2((j - 1) * 60 * 60, altitudes[j - 1] - angle); diff --git a/dataengines/time/timeengine.cpp b/dataengines/time/timeengine.cpp --- a/dataengines/time/timeengine.cpp +++ b/dataengines/time/timeengine.cpp @@ -118,7 +118,8 @@ QStringList TimeEngine::sources() const { QStringList sources; - Q_FOREACH(const QByteArray &tz, QTimeZone::availableTimeZoneIds()) { + const auto timeZones = QTimeZone::availableTimeZoneIds(); + for (const QByteArray &tz : timeZones) { sources << QString(tz.constData()); } sources << QStringLiteral("Local"); diff --git a/kioslave/applications/kio_applications.cpp b/kioslave/applications/kio_applications.cpp --- a/kioslave/applications/kio_applications.cpp +++ b/kioslave/applications/kio_applications.cpp @@ -156,7 +156,8 @@ unsigned int count = 0; KIO::UDSEntry entry; - foreach (const KSycocaEntry::Ptr &e, grp->entries(true, true)) { + const auto entries = grp->entries(true, true); + for (const KSycocaEntry::Ptr &e : entries) { if (e->isType(KST_KServiceGroup)) { KServiceGroup::Ptr g(static_cast(e.data())); diff --git a/kioslave/desktop/kio_desktop.cpp b/kioslave/desktop/kio_desktop.cpp --- a/kioslave/desktop/kio_desktop.cpp +++ b/kioslave/desktop/kio_desktop.cpp @@ -97,7 +97,7 @@ } } - foreach (const QString &link, links) { + for (const QString &link : qAsConst(links)) { const auto fullPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kio_desktop/DesktopLinks/%1").arg(link)); KDesktopFile file(fullPath); if (!file.desktopGroup().readEntry("Hidden", false)) diff --git a/klipper/configdialog.cpp b/klipper/configdialog.cpp --- a/klipper/configdialog.cpp +++ b/klipper/configdialog.cpp @@ -96,7 +96,7 @@ qDeleteAll( m_actionList ); m_actionList.clear(); - foreach (ClipAction* action, list) { + for (ClipAction* action : list) { if (!action) { qCDebug(KLIPPER_LOG) << "action is null!"; continue; @@ -113,7 +113,7 @@ { m_ui.kcfg_ActionList->clear(); - foreach (ClipAction* action, m_actionList) { + for (ClipAction* action : qAsConst(m_actionList)) { if (!action) { qCDebug(KLIPPER_LOG) << "action is null!"; continue; @@ -143,7 +143,8 @@ item->setText( 0, action->regExp() ); item->setText( 1, action->description() ); - foreach (const ClipCommand& command, action->commands()) { + const auto commands = action->commands(); + for (const ClipCommand& command : commands) { QStringList cmdProps; cmdProps << command.command << command.description; QTreeWidgetItem *child = new QTreeWidgetItem(item, cmdProps); @@ -165,7 +166,7 @@ { // return a copy of our action list ActionList list; - foreach( ClipAction* action, m_actionList ) { + for ( ClipAction* action : qAsConst(m_actionList) ) { if ( !action ) { qCDebug(KLIPPER_LOG) << "action is null"; continue; diff --git a/klipper/editactiondialog.cpp b/klipper/editactiondialog.cpp --- a/klipper/editactiondialog.cpp +++ b/klipper/editactiondialog.cpp @@ -351,7 +351,8 @@ m_action->clearCommands(); - foreach ( const ClipCommand& cmd, m_model->commands() ){ + const auto commands = m_model->commands(); + for ( const ClipCommand& cmd : commands){ m_action->addCommand( cmd ); } } diff --git a/klipper/historyurlitem.cpp b/klipper/historyurlitem.cpp --- a/klipper/historyurlitem.cpp +++ b/klipper/historyurlitem.cpp @@ -24,7 +24,7 @@ namespace { QByteArray compute_uuid(const QList& _urls, const KUrlMimeData::MetaDataMap &_metaData, bool _cut ) { QCryptographicHash hash(QCryptographicHash::Sha1); - foreach(const QUrl& url, _urls) { + for (const QUrl& url : _urls) { hash.addData(url.toEncoded()); hash.addData("\0", 1); // Use binary zero as that is not a valid path character } diff --git a/klipper/urlgrabber.cpp b/klipper/urlgrabber.cpp --- a/klipper/urlgrabber.cpp +++ b/klipper/urlgrabber.cpp @@ -145,10 +145,10 @@ } if ( !mimetype.isDefault() ) { - KService::List lst = KMimeTypeTrader::self()->query( mimetype.name(), QStringLiteral("Application") ); + const KService::List lst = KMimeTypeTrader::self()->query( mimetype.name(), QStringLiteral("Application") ); if ( !lst.isEmpty() ) { ClipAction* action = new ClipAction( QString(), mimetype.comment() ); - foreach( const KService::Ptr &service, lst ) { + for ( const KService::Ptr &service : lst ) { action->addCommand( ClipCommand( QString(), service->name(), true, service->icon(), ClipCommand::IGNORE, service->storageId() ) ); } @@ -165,7 +165,7 @@ // now look for matches in custom user actions - foreach (ClipAction* action, m_myActions) { + for (ClipAction* action : qAsConst(m_myActions)) { if ( action->matches( clipData ) && (action->automatic() || !automatically_invoked) ) { m_myMatches.append( action ); } @@ -192,7 +192,7 @@ if (m_stripWhiteSpace) { text = text.trimmed(); } - ActionList matchingActionsList = matchingActions( text, automatically_invoked ); + const ActionList matchingActionsList = matchingActions( text, automatically_invoked ); if (!matchingActionsList.isEmpty()) { // don't react on blacklisted (e.g. konqi's/netscape's urls) unless the user explicitly asked for it @@ -208,7 +208,7 @@ connect(m_myMenu, &QMenu::triggered, this, &URLGrabber::slotItemSelected); - foreach (ClipAction* clipAct, matchingActionsList) { + for (ClipAction* clipAct : matchingActionsList) { m_myMenu->addSection(QIcon::fromTheme( QStringLiteral("klipper") ), i18n("%1 - Actions For: %2", clipAct->description(), KStringHandler::csqueeze(text, 45))); QList cmdList = clipAct->commands(); @@ -333,7 +333,7 @@ int i = 0; QString group; - foreach (ClipAction* action, m_myActions) { + for (ClipAction* action : qAsConst(m_myActions)) { group = QStringLiteral("Action_%1").arg( i ); action->save( KSharedConfig::openConfig(), group ); ++i; @@ -470,7 +470,7 @@ int i=0; // now iterate over all commands of this action - foreach (const ClipCommand& cmd, m_myCommands) { + for (const ClipCommand& cmd : qAsConst(m_myCommands)) { QString _group = group + QStringLiteral("/Command_%1"); KConfigGroup cg(kc, _group.arg(i)); diff --git a/krunner/view.cpp b/krunner/view.cpp --- a/krunner/view.cpp +++ b/krunner/view.cpp @@ -95,7 +95,8 @@ screenGeometryChanged(); }; - foreach(QScreen* s, QGuiApplication::screens()) + const auto screens = QGuiApplication::screens(); + for (QScreen* s : screens) screenAdded(s); connect(qGuiApp, &QGuiApplication::screenAdded, this, screenAdded); connect(qGuiApp, &QGuiApplication::screenRemoved, this, screenRemoved); @@ -218,7 +219,8 @@ { QScreen *shownOnScreen = QGuiApplication::primaryScreen(); - Q_FOREACH (QScreen* screen, QGuiApplication::screens()) { + const auto screens = QGuiApplication::screens(); + for (QScreen* screen : screens) { if (screen->geometry().contains(QCursor::pos(screen))) { shownOnScreen = screen; break; diff --git a/ksmserver/client.cpp b/ksmserver/client.cpp --- a/ksmserver/client.cpp +++ b/ksmserver/client.cpp @@ -54,14 +54,14 @@ KSMClient::~KSMClient() { - foreach( SmProp *prop, properties ) + for ( SmProp *prop : qAsConst(properties) ) SmFreeProperty( prop ); if (id) free((void*)id); } SmProp* KSMClient::property( const char* name ) const { - foreach ( SmProp *prop, properties ) { + for ( SmProp *prop : qAsConst(properties) ) { if ( !qstrcmp( prop->name, name ) ) return prop; } diff --git a/ksmserver/logout.cpp b/ksmserver/logout.cpp --- a/ksmserver/logout.cpp +++ b/ksmserver/logout.cpp @@ -213,7 +213,7 @@ performLegacySessionSave(); #endif startProtection(); - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { c->resetState(); // Whoever came with the idea of phase 2 got it backwards // unfortunately. Window manager should be the very first @@ -233,13 +233,13 @@ ++wmPhase1WaitingCount; } if (wmPhase1WaitingCount > 0) { - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if( isWM( c ) ) SmsSaveYourself( c->connection(), saveType, true, SmInteractStyleAny, false ); } } else { // no WM, simply start them all - foreach( KSMClient* c, clients ) + for ( KSMClient* c : qAsConst(clients) ) SmsSaveYourself( c->connection(), saveType, true, SmInteractStyleAny, false ); } @@ -263,18 +263,18 @@ #ifndef NO_LEGACY_SESSION_MANAGEMENT performLegacySessionSave(); #endif - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { c->resetState(); if( isWM( c ) ) ++wmPhase1WaitingCount; } if (wmPhase1WaitingCount > 0) { - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if( isWM( c ) ) SmsSaveYourself( c->connection(), saveType, false, SmInteractStyleNone, false ); } } else { - foreach( KSMClient* c, clients ) + for ( KSMClient* c : qAsConst(clients) ) SmsSaveYourself( c->connection(), saveType, false, SmInteractStyleNone, false ); } if ( clients.isEmpty() ) @@ -317,7 +317,7 @@ --wmPhase1WaitingCount; // WM finished its phase1, save the rest if( wmPhase1WaitingCount == 0 ) { - foreach( KSMClient* c, clients ) + for ( KSMClient* c : qAsConst(clients) ) if( !isWM( c )) SmsSaveYourself( c->connection(), saveType, saveType != SmSaveLocal, saveType != SmSaveLocal ? SmInteractStyleAny : SmInteractStyleNone, @@ -357,7 +357,7 @@ --wmPhase1WaitingCount; // WM finished its phase1 and requests phase2, save the rest if( wmPhase1WaitingCount == 0 ) { - foreach( KSMClient* c, clients ) + for ( KSMClient* c : qAsConst(clients) ) if( !isWM( c )) SmsSaveYourself( c->connection(), saveType, saveType != SmSaveLocal, saveType != SmSaveLocal ? SmInteractStyleAny : SmInteractStyleNone, @@ -371,7 +371,7 @@ if ( clientInteracting ) return; - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if ( c->pendingInteraction ) { clientInteracting = c; c->pendingInteraction = false; @@ -400,7 +400,7 @@ KNotification::event( QStringLiteral( "cancellogout" ), i18n( "Logout canceled by '%1'", c->program()), QPixmap() , nullptr , KNotification::DefaultEvent ); - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { SmsShutdownCancelled( c->connection() ); if( c->saveYourselfDone ) { // Discard also saved state. @@ -445,7 +445,7 @@ if ( ( state != Shutdown && state != Checkpoint && state != ClosingSubSession ) || clientInteracting ) return; - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if ( !c->saveYourselfDone && !c->waitForPhase2 ) { qCDebug(KSMSERVER) << "protectionTimeout: client " << c->program() << "(" << c->clientId() << ")"; c->saveYourselfDone = true; @@ -467,14 +467,14 @@ else pendingClients = clients; - foreach( KSMClient* c, pendingClients ) { + for ( KSMClient* c : qAsConst(pendingClients) ) { if ( !c->saveYourselfDone && !c->waitForPhase2 ) return; // not done yet } // do phase 2 bool waitForPhase2 = false; - foreach( KSMClient* c, pendingClients ) { + for ( KSMClient* c : qAsConst(pendingClients) ) { if ( !c->saveYourselfDone && c->waitForPhase2 ) { c->waitForPhase2 = false; SmsSaveYourselfPhase2( c->connection() ); @@ -508,7 +508,7 @@ createLogoutEffectWidget(); } else if ( state == Checkpoint ) { - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { SmsSaveComplete( c->connection()); } state = Idle; @@ -527,7 +527,7 @@ } // kill all clients state = Killing; - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if( isWM( c )) // kill the WM as the last one in order to reduce flicker continue; qCDebug(KSMSERVER) << "startKilling: client " << c->program() << "(" << c->clientId() << ")"; @@ -546,7 +546,7 @@ clients.count() << endl; if( state == Killing ) { bool wait = false; - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if( isWM( c )) continue; wait = true; // still waiting for clients to go away @@ -566,7 +566,7 @@ qCDebug(KSMSERVER) << "Starting killing WM"; state = KillingWM; bool iswm = false; - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if( isWM( c )) { iswm = true; qCDebug(KSMSERVER) << "killWM: client " << c->program() << "(" << c->clientId() << ")"; @@ -604,7 +604,7 @@ void KSMServer::timeoutQuit() { - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { qCWarning(KSMSERVER) << "SmsDie timeout, client " << c->program() << "(" << c->clientId() << ")" ; } killWM(); @@ -654,7 +654,7 @@ #endif startProtection(); - foreach( KSMClient* c, clients ) { + for ( KSMClient* c : qAsConst(clients) ) { if (saveAndClose.contains(QString::fromLocal8Bit(c->clientId()))) { c->resetState(); SmsSaveYourself( c->connection(), saveType, @@ -676,7 +676,7 @@ qCDebug(KSMSERVER) << "Starting killing clients"; // kill all clients state = KillingSubSession; - foreach( KSMClient* c, clientsToKill ) { + for ( KSMClient* c : qAsConst(clientsToKill) ) { qCDebug(KSMSERVER) << "completeShutdown: client " << c->program() << "(" << c->clientId() << ")"; SmsDie( c->connection() ); } @@ -693,7 +693,7 @@ clients.count() << endl; if( state == KillingSubSession ) { bool wait = false; - foreach( KSMClient* c, clientsToKill ) { + for( KSMClient* c : qAsConst(clientsToKill )) { if( isWM( c )) continue; wait = true; // still waiting for clients to go away diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp --- a/ksmserver/server.cpp +++ b/ksmserver/server.cpp @@ -312,7 +312,7 @@ KSMClient* client = ( KSMClient* ) managerData; SmProp** props = new SmProp*[client->properties.count()]; int i = 0; - foreach( SmProp *prop, client->properties ) + for ( SmProp *prop : qAsConst(client->properties) ) props[i++] = prop; SmsReturnProperties( smsConn, i, props ); @@ -872,7 +872,7 @@ { KConfigGroup config(KSharedConfig::openConfig(), sessionGroup ); int count = config.readEntry( "count", 0 ); - foreach ( KSMClient *c, clients ) { + for ( KSMClient *c : qAsConst(clients) ) { QStringList discardCommand = c->discardCommand(); if ( discardCommand.isEmpty()) continue; @@ -918,15 +918,15 @@ if (state != ClosingSubSession) { // put the wm first - foreach ( KSMClient *c, clients ) + for ( KSMClient *c : clients ) if ( c->program() == wm ) { clients.removeAll( c ); clients.prepend( c ); break; } } - foreach ( KSMClient *c, clients ) { + for ( KSMClient *c : qAsConst(clients) ) { int restartHint = c->restartStyleHint(); if (restartHint == SmRestartNever) continue; @@ -1173,7 +1173,7 @@ QString n = QString::number(lastAppStarted); QString clientId = config.readEntry( QStringLiteral("clientId")+n, QString() ); bool alreadyStarted = false; - foreach ( KSMClient *c, clients ) { + for ( KSMClient *c : qAsConst(clients) ) { if ( QString::fromLocal8Bit( c->clientId() ) == clientId ) { alreadyStarted = true; break; diff --git a/ksplash/ksplashqml/splashapp.cpp b/ksplash/ksplashqml/splashapp.cpp --- a/ksplash/ksplashqml/splashapp.cpp +++ b/ksplash/ksplashqml/splashapp.cpp @@ -72,7 +72,8 @@ setupWaylandIntegration(); - foreach(QScreen* screen, screens()) + const auto theScreens = screens(); + for (QScreen *screen : theScreens) adoptScreen(screen); setStage(QStringLiteral("initial")); @@ -129,7 +130,7 @@ if (m_stage == 7) { QGuiApplication::exit(EXIT_SUCCESS); } - foreach (SplashWindow *w, m_windows) { + for (SplashWindow *w : qAsConst(m_windows)) { w->setStage(stage); } } diff --git a/libdbusmenuqt/dbusmenuimporter.cpp b/libdbusmenuqt/dbusmenuimporter.cpp --- a/libdbusmenuqt/dbusmenuimporter.cpp +++ b/libdbusmenuqt/dbusmenuimporter.cpp @@ -161,7 +161,7 @@ */ void updateAction(QAction *action, const QVariantMap &map, const QStringList &requestedProperties) { - Q_FOREACH(const QString &key, requestedProperties) { + for (const QString &key : requestedProperties) { updateActionProperty(action, key, map.value(key)); } } @@ -318,9 +318,9 @@ void DBusMenuImporter::processPendingLayoutUpdates() { - QSet ids = d->m_pendingLayoutUpdates; + const QSet ids = d->m_pendingLayoutUpdates; d->m_pendingLayoutUpdates.clear(); - Q_FOREACH(int id, ids) { + for (int id : ids) { d->refresh(id); } } @@ -335,7 +335,7 @@ void DBusMenuImporterPrivate::slotItemsPropertiesUpdated(const DBusMenuItemList &updatedList, const DBusMenuItemKeysList &removedList) { - Q_FOREACH(const DBusMenuItem &item, updatedList) { + for (const DBusMenuItem &item : updatedList) { QAction *action = m_actionForId.value(item.id); if (!action) { // We don't know this action. It probably is in a menu we haven't fetched yet. @@ -350,14 +350,14 @@ } } - Q_FOREACH(const DBusMenuItemKeys &item, removedList) { + for (const DBusMenuItemKeys &item : removedList) { QAction *action = m_actionForId.value(item.id); if (!action) { // We don't know this action. It probably is in a menu we haven't fetched yet. continue; } - Q_FOREACH(const QString &key, item.properties) { + for (const QString &key : qAsConst(item.properties)) { updateActionProperty(action, key, QVariant()); } } diff --git a/libdbusmenuqt/dbusmenushortcut_p.cpp b/libdbusmenuqt/dbusmenushortcut_p.cpp --- a/libdbusmenuqt/dbusmenushortcut_p.cpp +++ b/libdbusmenuqt/dbusmenushortcut_p.cpp @@ -56,8 +56,8 @@ { QString string = sequence.toString(); DBusMenuShortcut shortcut; - QStringList tokens = string.split(QStringLiteral(", ")); - Q_FOREACH(QString token, tokens) { + const QStringList tokens = string.split(QStringLiteral(", ")); + for (QString token : tokens) { // Hack: Qt::CTRL | Qt::Key_Plus is turned into the string "Ctrl++", // but we don't want the call to token.split() to consider the // second '+' as a separator so we replace it with its final value. @@ -72,7 +72,7 @@ QKeySequence DBusMenuShortcut::toKeySequence() const { QStringList tmp; - Q_FOREACH(const QStringList& keyTokens_, *this) { + for (const QStringList& keyTokens_: *this) { QStringList keyTokens = keyTokens_; processKeyTokens(&keyTokens, DM_COLUMN, QT_COLUMN); tmp << keyTokens.join(QLatin1String("+")); diff --git a/libdbusmenuqt/dbusmenutypes_p.cpp b/libdbusmenuqt/dbusmenutypes_p.cpp --- a/libdbusmenuqt/dbusmenutypes_p.cpp +++ b/libdbusmenuqt/dbusmenutypes_p.cpp @@ -67,7 +67,7 @@ argument.beginStructure(); argument << obj.id << obj.properties; argument.beginArray(qMetaTypeId()); - Q_FOREACH(const DBusMenuLayoutItem& child, obj.children) { + for (const DBusMenuLayoutItem& child : qAsConst(obj.children)) { argument << QDBusVariant(QVariant::fromValue(child)); } argument.endArray(); diff --git a/libkworkspace/kdisplaymanager.cpp b/libkworkspace/kdisplaymanager.cpp --- a/libkworkspace/kdisplaymanager.cpp +++ b/libkworkspace/kdisplaymanager.cpp @@ -466,9 +466,9 @@ if (path.path().startsWith(SYSTEMD_BASE_PATH)) { // systemd path incoming SystemdSeat seat(path); if (seat.isValid()) { - QList r = seat.getSessions(); + const QList r = seat.getSessions(); QList result; - foreach (const NamedDBusObjectPath &namedPath, r) + for (const NamedDBusObjectPath &namedPath : r) result.append(namedPath.path); // This pretty much can't contain any other than local sessions as the seat is retrieved from the current session return result; @@ -683,7 +683,8 @@ // we'll divide the code in two branches to reduce the overhead of calls to non-existent services // systemd part // preferred if (QDBusConnection::systemBus().interface()->isServiceRegistered(SYSTEMD_SERVICE)) { - foreach (const QDBusObjectPath &sp, getSessionsForSeat(currentSeat)) { + const auto sessions = getSessionsForSeat(currentSeat); + for (const QDBusObjectPath &sp : sessions) { SystemdSession lsess(sp); if (lsess.isValid()) { SessEnt se; @@ -710,7 +711,8 @@ } // ConsoleKit part else if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) { - foreach (const QDBusObjectPath &sp, getSessionsForSeat(currentSeat)) { + const auto sessions = getSessionsForSeat(currentSeat); + for (const QDBusObjectPath &sp : sessions) { CKSession lsess(sp); if (lsess.isValid()) { SessEnt se; @@ -814,7 +816,8 @@ if (getCurrentSeat(nullptr, ¤tSeat)) { // systemd part // preferred if (QDBusConnection::systemBus().interface()->isServiceRegistered(SYSTEMD_SERVICE)) { - foreach (const QDBusObjectPath &sp, getSessionsForSeat(currentSeat)) { + const auto sessions = getSessionsForSeat(currentSeat); + for (const QDBusObjectPath &sp : sessions) { SystemdSession lsess(sp); if (lsess.isValid()) { SessEnt se; @@ -828,7 +831,8 @@ } // ConsoleKit part else if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) { - foreach (const QDBusObjectPath &sp, getSessionsForSeat(currentSeat)) { + const auto sessions = getSessionsForSeat(currentSeat); + for (const QDBusObjectPath &sp : sessions) { CKSession lsess(sp); if (lsess.isValid()) { SessEnt se; diff --git a/libtaskmanager/abstractwindowtasksmodel.cpp b/libtaskmanager/abstractwindowtasksmodel.cpp --- a/libtaskmanager/abstractwindowtasksmodel.cpp +++ b/libtaskmanager/abstractwindowtasksmodel.cpp @@ -48,7 +48,8 @@ connect(qGuiApp, &QGuiApplication::screenAdded, this, screenAdded); - foreach(const QScreen *screen, QGuiApplication::screens()) { + const auto screens = QGuiApplication::screens(); + for (const QScreen *screen : screens) { screenAdded(screen); } } diff --git a/libtaskmanager/launchertasksmodel.cpp b/libtaskmanager/launchertasksmodel.cpp --- a/libtaskmanager/launchertasksmodel.cpp +++ b/libtaskmanager/launchertasksmodel.cpp @@ -169,7 +169,7 @@ // Merge duplicates int row = -1; - foreach(const QUrl &launcher, launchersOrder) { + for (const QUrl &launcher : qAsConst(launchersOrder)) { ++row; if (launcherUrlsMatch(url, launcher, IgnoreQueryItems)) { diff --git a/libtaskmanager/startuptasksmodel.cpp b/libtaskmanager/startuptasksmodel.cpp --- a/libtaskmanager/startuptasksmodel.cpp +++ b/libtaskmanager/startuptasksmodel.cpp @@ -99,7 +99,7 @@ const QString appId = data.applicationId(); const QString bin = data.bin(); - foreach(const KStartupInfoData &known, startupData) { + for (const KStartupInfoData &known : qAsConst(startupData)) { // Reject if we already have a startup notification for this app. if (known.applicationId() == appId && known.bin() == bin) { return; diff --git a/libtaskmanager/tasksmodel.cpp b/libtaskmanager/tasksmodel.cpp --- a/libtaskmanager/tasksmodel.cpp +++ b/libtaskmanager/tasksmodel.cpp @@ -797,7 +797,8 @@ return; } - foreach(const QString &activity, activityInfo->runningActivities()) { + const auto ras = activityInfo->runningActivities(); + for (const QString &activity : activityInfo->runningActivities()) { activityTaskCounts.insert(activity, 0); } @@ -813,7 +814,7 @@ i.setValue(i.value() + 1); } } else { - foreach(const QString &activity, activities) { + for (const QString &activity : activities) { ++activityTaskCounts[activity]; } } @@ -938,15 +939,15 @@ const QStringList &leftActivities = left.data(AbstractTasksModel::Activities).toStringList(); if (!leftActivities.isEmpty()) { - foreach(const QString& activity, leftActivities) { + for (const QString& activity : leftActivities) { leftScore += activityTaskCounts[activity]; } } const QStringList &rightActivities = right.data(AbstractTasksModel::Activities).toStringList(); if (!rightActivities.isEmpty()) { - foreach(const QString& activity, rightActivities) { + for (const QString& activity : rightActivities) { rightScore += activityTaskCounts[activity]; } } @@ -1761,7 +1762,8 @@ QMap sortedShownLaunchers; QStringList sortedHiddenLaunchers; - foreach(const QString &launcherUrlStr, launcherList()) { + const auto launchers = launcherList(); + for (const QString &launcherUrlStr : launchers) { int row = -1; QStringList activities; QUrl launcherUrl; diff --git a/libtaskmanager/tasktools.cpp b/libtaskmanager/tasktools.cpp --- a/libtaskmanager/tasktools.cpp +++ b/libtaskmanager/tasktools.cpp @@ -645,16 +645,17 @@ return service->storageId(); } else { // Try the files in share/apps/kcm_componentchooser/*.desktop. - QStringList directories = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kcm_componentchooser"), QStandardPaths::LocateDirectory); + const QStringList directories = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kcm_componentchooser"), QStandardPaths::LocateDirectory); QStringList services; - foreach(const QString& directory, directories) { + for (const QString& directory : directories) { QDir dir(directory); - foreach(const QString& f, dir.entryList(QStringList("*.desktop"))) + const auto entries = dir.entryList(QStringList("*.desktop")); + for (const QString& f : entries) services += dir.absoluteFilePath(f); } - foreach (const QString & service, services) { + for (const QString & service : qAsConst(services)) { KConfig config(service, KConfig::SimpleConfig); KConfigGroup cg = config.group(QByteArray()); const QString type = cg.readEntry("valueName", QString()); diff --git a/libtaskmanager/virtualdesktopinfo.cpp b/libtaskmanager/virtualdesktopinfo.cpp --- a/libtaskmanager/virtualdesktopinfo.cpp +++ b/libtaskmanager/virtualdesktopinfo.cpp @@ -327,7 +327,7 @@ { QVariantList ids; - foreach (const QString &id, virtualDesktops) { + for (const QString &id : qAsConst(virtualDesktops)) { ids << id; } @@ -341,7 +341,7 @@ } QStringList names; - foreach(const QString &id, virtualDesktops) { + for (const QString &id : qAsConst(virtualDesktops)) { const KWayland::Client::PlasmaVirtualDesktop *desktop = virtualDesktopManagement->getVirtualDesktop(id); if (desktop) { diff --git a/libtaskmanager/waylandtasksmodel.cpp b/libtaskmanager/waylandtasksmodel.cpp --- a/libtaskmanager/waylandtasksmodel.cpp +++ b/libtaskmanager/waylandtasksmodel.cpp @@ -103,7 +103,8 @@ rulesConfig = KSharedConfig::openConfig(QStringLiteral("taskmanagerrulesrc")); configWatcher = new KDirWatch(q); - foreach (const QString &location, QStandardPaths::standardLocations(QStandardPaths::ConfigLocation)) { + const auto locations = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation); + for (const QString &location : locations) { configWatcher->addFile(location + QLatin1String("/taskmanagerrulesrc")); } @@ -631,14 +632,15 @@ KWayland::Client::PlasmaWindow *window = d->windows.at(index.row()); if (desktops.isEmpty()) { - foreach (const QVariant &desktop, window->plasmaVirtualDesktops()) { + const auto virtualDesktops = window->plasmaVirtualDesktops(); + for (const QVariant &desktop : virtualDesktops) { window->requestLeaveVirtualDesktop(desktop.toString()); } } else { const QStringList &now = window->plasmaVirtualDesktops(); QStringList next; - foreach (const QVariant &desktop, desktops) { + for (const QVariant &desktop : desktops) { const QString &desktopId = desktop.toString(); if (!desktopId.isEmpty()) { @@ -650,7 +652,7 @@ } } - foreach (const QString &desktop, now) { + for (const QString &desktop : now) { if (!next.contains(desktop)) { window->requestLeaveVirtualDesktop(desktop); } diff --git a/libtaskmanager/xwindowtasksmodel.cpp b/libtaskmanager/xwindowtasksmodel.cpp --- a/libtaskmanager/xwindowtasksmodel.cpp +++ b/libtaskmanager/xwindowtasksmodel.cpp @@ -139,7 +139,8 @@ rulesConfig = KSharedConfig::openConfig(QStringLiteral("taskmanagerrulesrc")); configWatcher = new KDirWatch(q); - foreach (const QString &location, QStandardPaths::standardLocations(QStandardPaths::ConfigLocation)) { + const auto locations = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation); + for (const QString &location : locations) { configWatcher->addFile(location + QLatin1String("/taskmanagerrulesrc")); } @@ -195,7 +196,8 @@ activeWindow = KWindowSystem::activeWindow(); // Add existing windows. - foreach(const WId window, KWindowSystem::windows()) { + const auto windows = KWindowSystem::windows(); + for (const WId window : windows) { addWindow(window); } } @@ -682,7 +684,7 @@ // dialog and trying to bring the window forward by clicking on it in a tasks widget // TODO: do we need to check all the transients for shaded?" } else if (!d->transients.isEmpty()) { - foreach (const WId transient, d->transients) { + for (const WId transient : qAsConst(d->transients)) { KWindowInfo info(transient, NET::WMState, NET::WM2TransientFor); if (info.valid(true) && info.hasState(NET::Shaded) && info.transientFor() == window) { diff --git a/logout-greeter/greeter.cpp b/logout-greeter/greeter.cpp --- a/logout-greeter/greeter.cpp +++ b/logout-greeter/greeter.cpp @@ -80,7 +80,8 @@ void Greeter::init() { setupWaylandIntegration(); - foreach (QScreen *screen, qApp->screens()) { + const auto screens = qApp->screens(); + for (QScreen *screen : screens) { adoptScreen(screen); } connect(qApp, &QGuiApplication::screenAdded, this, &Greeter::adoptScreen); diff --git a/plasma-windowed/plasmawindowedview.cpp b/plasma-windowed/plasmawindowedview.cpp --- a/plasma-windowed/plasmawindowedview.cpp +++ b/plasma-windowed/plasmawindowedview.cpp @@ -89,7 +89,8 @@ setMinimumSize(QSize(qMax((int)KIconLoader::SizeEnormous, switchSize.width() + 1), qMax((int)KIconLoader::SizeEnormous, switchSize.height() + 1))); - foreach (QObject *child, m_appletInterface->children()) { + const auto theChildren = m_appletInterface->children(); + for (QObject *child : theChildren) { //find for the needed property of Layout: minimum/maximum/preferred sizes and fillWidth/fillHeight if (child->property("minimumWidth").isValid() && child->property("minimumHeight").isValid() && child->property("preferredWidth").isValid() && child->property("preferredHeight").isValid() && @@ -194,7 +195,8 @@ QMenu menu; - foreach (QAction *action, m_applet->contextualActions()) { + const auto actions = m_applet->contextualActions(); + for (QAction *action : actions) { if (action) { menu.addAction(action); } diff --git a/plasmacalendarintegration/holidaysevents.cpp b/plasmacalendarintegration/holidaysevents.cpp --- a/plasmacalendarintegration/holidaysevents.cpp +++ b/plasmacalendarintegration/holidaysevents.cpp @@ -36,7 +36,7 @@ regionCodes << KHolidays::HolidayRegion::defaultRegionCode(); } - Q_FOREACH (const QString ®ion, regionCodes) { + for (const QString ®ion : qAsConst(regionCodes)) { m_regions << new KHolidays::HolidayRegion(region); } } @@ -56,10 +56,10 @@ m_lastData.clear(); QMultiHash data; - Q_FOREACH (KHolidays::HolidayRegion *region, m_regions) { - KHolidays::Holiday::List holidays = region->holidays(startDate, endDate); + for (KHolidays::HolidayRegion *region : qAsConst(m_regions)) { + const KHolidays::Holiday::List holidays = region->holidays(startDate, endDate); - Q_FOREACH (const KHolidays::Holiday &holiday, holidays) { + for (const KHolidays::Holiday &holiday : holidays) { CalendarEvents::EventData eventData; eventData.setStartDateTime(QDateTime(holiday.observedStartDate())); eventData.setEndDateTime(QDateTime(holiday.observedEndDate())); diff --git a/runners/activities/activityrunner.cpp b/runners/activities/activityrunner.cpp --- a/runners/activities/activityrunner.cpp +++ b/runners/activities/activityrunner.cpp @@ -121,7 +121,7 @@ } if (list) { - foreach (const QString &activity, activities) { + for (const QString &activity : qAsConst(activities)) { if (current == activity) { continue; } @@ -134,7 +134,7 @@ } } } else { - foreach (const QString &activity, activities) { + for (const QString &activity : qAsConst(activities)) { if (current == activity) { continue; } diff --git a/runners/appstream/appstreamrunner.cpp b/runners/appstream/appstreamrunner.cpp --- a/runners/appstream/appstreamrunner.cpp +++ b/runners/appstream/appstreamrunner.cpp @@ -55,7 +55,7 @@ const auto icons = comp.icons(); if (icons.isEmpty()) { ret = QIcon::fromTheme(QStringLiteral("package-x-generic")); - } else foreach(const AppStream::Icon &icon, icons) { + } else for (const AppStream::Icon &icon : icons) { QStringList stock; switch(icon.kind()) { case AppStream::Icon::KindLocal: diff --git a/runners/bookmarks/bookmarkmatch.h b/runners/bookmarks/bookmarkmatch.h --- a/runners/bookmarks/bookmarkmatch.h +++ b/runners/bookmarks/bookmarkmatch.h @@ -32,7 +32,7 @@ public: BookmarkMatch(Favicon *favicon, const QString &searchTerm, const QString &bookmarkTitle, const QString &bookmarkURL, const QString &description = QString()); void addTo(QList< BookmarkMatch >& listOfResults, bool addEvenOnNoMatch); - Plasma::QueryMatch asQueryMatch(Plasma::AbstractRunner *runner); + Plasma::QueryMatch asQueryMatch(Plasma::AbstractRunner *runner) const; private: bool matches(const QString &search, const QString &matchingField); private: diff --git a/runners/bookmarks/bookmarkmatch.cpp b/runners/bookmarks/bookmarkmatch.cpp --- a/runners/bookmarks/bookmarkmatch.cpp +++ b/runners/bookmarks/bookmarkmatch.cpp @@ -30,7 +30,7 @@ { } -Plasma::QueryMatch BookmarkMatch::asQueryMatch( Plasma::AbstractRunner* runner ) +Plasma::QueryMatch BookmarkMatch::asQueryMatch( Plasma::AbstractRunner* runner ) const { Plasma::QueryMatch::Type type = Plasma::QueryMatch::NoMatch; qreal relevance = 0; diff --git a/runners/bookmarks/bookmarksrunner.cpp b/runners/bookmarks/bookmarksrunner.cpp --- a/runners/bookmarks/bookmarksrunner.cpp +++ b/runners/bookmarks/bookmarksrunner.cpp @@ -82,8 +82,8 @@ bool allBookmarks = term.compare(i18nc("list of all konqueror bookmarks", "bookmarks"), Qt::CaseInsensitive) == 0; - QList matches = m_browser->match(term, allBookmarks); - foreach(BookmarkMatch match, matches) { + const QList matches = m_browser->match(term, allBookmarks); + for (const BookmarkMatch &match : matches) { if(!context.isValid()) return; context.addMatch(match.asQueryMatch(this)); diff --git a/runners/bookmarks/browsers/chrome.cpp b/runners/bookmarks/browsers/chrome.cpp --- a/runners/bookmarks/browsers/chrome.cpp +++ b/runners/bookmarks/browsers/chrome.cpp @@ -50,16 +50,17 @@ m_watcher(new KDirWatch(this)), m_dirty(false) { - foreach(Profile profile, findProfile->find()) { + const auto profiles = findProfile->find(); + for (Profile profile : profiles) { m_profileBookmarks << new ProfileBookmarks(profile); m_watcher->addFile(profile.path()); } connect(m_watcher, &KDirWatch::created, [=] { m_dirty = true; }); } Chrome::~Chrome() { - foreach(ProfileBookmarks *profileBookmark, m_profileBookmarks) { + for (ProfileBookmarks *profileBookmark : qAsConst(m_profileBookmarks)) { delete profileBookmark; } } @@ -70,7 +71,7 @@ prepare(); } QList results; - foreach(ProfileBookmarks *profileBookmarks, m_profileBookmarks) { + for (ProfileBookmarks *profileBookmarks : qAsConst(m_profileBookmarks)) { results << match(term, addEveryThing, profileBookmarks); } return results; @@ -95,7 +96,7 @@ void Chrome::prepare() { m_dirty = false; - foreach(ProfileBookmarks *profileBookmarks, m_profileBookmarks) { + for (ProfileBookmarks *profileBookmarks : qAsConst(m_profileBookmarks)) { Profile profile = profileBookmarks->profile(); profileBookmarks->clear(); QFile bookmarksFile(profile.path()); @@ -120,7 +121,7 @@ void Chrome::teardown() { - foreach(ProfileBookmarks *profileBookmarks, m_profileBookmarks) { + for (ProfileBookmarks *profileBookmarks : qAsConst(m_profileBookmarks)) { profileBookmarks->tearDown(); } } diff --git a/runners/bookmarks/browsers/chromefindprofile.cpp b/runners/bookmarks/browsers/chromefindprofile.cpp --- a/runners/bookmarks/browsers/chromefindprofile.cpp +++ b/runners/bookmarks/browsers/chromefindprofile.cpp @@ -58,7 +58,8 @@ QVariantMap localState = jdoc.object().toVariantMap(); QVariantMap profilesConfig = localState.value(QStringLiteral("profile")).toMap().value(QStringLiteral("info_cache")).toMap(); - foreach(const QString &profile, profilesConfig.keys()) { + const auto keys = profilesConfig.keys(); + for (const QString &profile : keys) { const QString profilePath = QStringLiteral("%1/%2").arg(configDirectory, profile); const QString profileBookmarksPath = QStringLiteral("%1/%2").arg(profilePath, QStringLiteral("Bookmarks")); profiles << Profile(profileBookmarksPath, FaviconFromBlob::chrome(profilePath, this)); diff --git a/runners/bookmarks/browsers/firefox.cpp b/runners/bookmarks/browsers/firefox.cpp --- a/runners/bookmarks/browsers/firefox.cpp +++ b/runners/bookmarks/browsers/firefox.cpp @@ -95,12 +95,9 @@ "moz_bookmarks.type = 1 AND moz_bookmarks.fk = moz_places.id AND " \ "(moz_bookmarks.title LIKE :term OR moz_places.url LIKE :term)"); } - const QMap bindVariables { - {QStringLiteral(":term"), QStringLiteral("%%%1%%").arg(term)}, - }; - QList results = m_fetchsqlite->query(query, bindVariables); + const QList results = m_fetchsqlite->query(query, QMap()); QMultiMap uniqueResults; - foreach(QVariantMap result, results) { + for (const QVariantMap &result : results) { const QString title = result.value(QStringLiteral("title")).toString(); const QUrl url = result.value(QStringLiteral("url")).toUrl(); if (url.isEmpty() || url.scheme() == QLatin1String("place")) { @@ -185,7 +182,7 @@ profilePath = fGrp.readEntry("Path", ""); } else { // There are multiple profiles, find the default one - foreach(const QString & profileName, profilesList) { + for (const QString & profileName : qAsConst(profilesList)) { KConfigGroup fGrp = firefoxProfile.group(profileName); if (fGrp.readEntry("Default", 0)) { profilePath = fGrp.readEntry("Path", ""); diff --git a/runners/bookmarks/browsers/opera.cpp b/runners/bookmarks/browsers/opera.cpp --- a/runners/bookmarks/browsers/opera.cpp +++ b/runners/bookmarks/browsers/opera.cpp @@ -39,7 +39,7 @@ QLatin1String descriptionStart("\tDESCRIPTION="); // search - foreach (const QString & entry, m_operaBookmarkEntries) { + for (const QString & entry : qAsConst(m_operaBookmarkEntries)) { QStringList entryLines = entry.split(QStringLiteral("\n")); if (!entryLines.first().startsWith(QStringLiteral("#URL"))) { continue; // skip folder entries @@ -50,7 +50,7 @@ QString url; QString description; - foreach (const QString & line, entryLines) { + for (const QString & line: qAsConst(entryLines)) { if (line.startsWith(nameStart)) { name = line.mid( QString(nameStart).length() ).simplified(); } else if (line.startsWith(urlStart)) { diff --git a/runners/bookmarks/fetchsqlite.cpp b/runners/bookmarks/fetchsqlite.cpp --- a/runners/bookmarks/fetchsqlite.cpp +++ b/runners/bookmarks/fetchsqlite.cpp @@ -97,7 +97,8 @@ //qDebug() << "query: " << sql; QSqlQuery query(db); query.prepare(sql); - foreach(const QString &variableName, bindObjects.keys()) { + const auto keys = bindObjects.keys(); + for (const QString &variableName : keys) { query.bindValue(variableName, bindObjects.value(variableName)); //qDebug() << "* Bound " << variableName << " to " << query.boundValue(variableName); } diff --git a/runners/kill/killrunner.cpp b/runners/kill/killrunner.cpp --- a/runners/kill/killrunner.cpp +++ b/runners/kill/killrunner.cpp @@ -120,7 +120,7 @@ QList matches; const QList processlist = m_processes->getAllProcesses(); - foreach (const KSysGuard::Process *process, processlist) { + for (const KSysGuard::Process *process : processlist) { if (!context.isValid()) { return; } diff --git a/runners/powerdevil/PowerDevilRunner.cpp b/runners/powerdevil/PowerDevilRunner.cpp --- a/runners/powerdevil/PowerDevilRunner.cpp +++ b/runners/powerdevil/PowerDevilRunner.cpp @@ -60,7 +60,7 @@ << i18nc("Note this is a KRunner keyword", "screen brightness") << i18nc("Note this is a KRunner keyword", "dim screen"); - foreach (const QString &command, commands) { + for (const QString &command : qAsConst(commands)) { if (command.length() < m_shortestCommand) { m_shortestCommand = command.length(); } @@ -124,7 +124,7 @@ bool PowerDevilRunner::parseQuery(const QString& query, const QList& rxList, QString& parameter) const { - foreach (const QRegExp& rx, rxList) { + for (const QRegExp& rx : rxList) { if (rx.exactMatch(query)) { parameter = rx.cap(1).trimmed(); return true; diff --git a/runners/recentdocuments/recentdocuments.cpp b/runners/recentdocuments/recentdocuments.cpp --- a/runners/recentdocuments/recentdocuments.cpp +++ b/runners/recentdocuments/recentdocuments.cpp @@ -78,7 +78,7 @@ // avoid duplicates QSet knownUrls; - foreach (const QString &document, m_recentdocuments) { + for (const QString &document : qAsConst(m_recentdocuments)) { if (!context.isValid()) { return; } diff --git a/runners/services/servicerunner.cpp b/runners/services/servicerunner.cpp --- a/runners/services/servicerunner.cpp +++ b/runners/services/servicerunner.cpp @@ -134,7 +134,7 @@ return relevanceIncrement; } - QString generateQuery(QVector &strList) + QString generateQuery(const QVector &strList) { QString keywordTemplate = QStringLiteral("exist Keywords"); QString genericNameTemplate = QStringLiteral("exist GenericName"); @@ -147,7 +147,7 @@ // * a substring of the Name field // Note that before asking for the content of e.g. Keywords and GenericName we need to ask if // they exist to prevent a tree evaluation error if they are not defined. - foreach (QStringRef str, strList) + for (QStringRef str : strList) { keywordTemplate += QStringLiteral(" and '%1' ~subin Keywords").arg(str.toString()); genericNameTemplate += QStringLiteral(" and '%1' ~~ GenericName").arg(str.toString()); @@ -190,13 +190,13 @@ // See http://techbase.kde.org/Development/Tutorials/Services/Traders#The_KTrader_Query_Language // if the following is unclear to you. query = QStringLiteral("exist Exec and ('%1' =~ Name)").arg(term); - KService::List services = KServiceTypeTrader::self()->query(QStringLiteral("Application"), query); + const KService::List services = KServiceTypeTrader::self()->query(QStringLiteral("Application"), query); if (services.isEmpty()) { return; } - foreach (const KService::Ptr &service, services) { + for (const KService::Ptr &service : services) { qCDebug(RUNNER_SERVICES) << service->name() << "is an exact match!" << service->storageId() << service->exec(); if (disqualify(service)) { continue; @@ -226,7 +226,7 @@ services += KServiceTypeTrader::self()->query(QStringLiteral("KCModule"), query); qCDebug(RUNNER_SERVICES) << "got " << services.count() << " services from " << query; - foreach (const KService::Ptr &service, services) { + for (const KService::Ptr &service : qAsConst(services)) { if (disqualify(service)) { continue; } @@ -296,9 +296,9 @@ { //search for applications whose categories contains the query query = QStringLiteral("exist Exec and (exist Categories and '%1' ~subin Categories)").arg(term); - auto services = KServiceTypeTrader::self()->query(QStringLiteral("Application"), query); + const auto services = KServiceTypeTrader::self()->query(QStringLiteral("Application"), query); - foreach (const KService::Ptr &service, services) { + for (const KService::Ptr &service : services) { qCDebug(RUNNER_SERVICES) << service->name() << "is an exact match!" << service->storageId() << service->exec(); if (disqualify(service)) { continue; @@ -330,14 +330,15 @@ } query = QStringLiteral("exist Actions"); // doesn't work - auto services = KServiceTypeTrader::self()->query(QStringLiteral("Application"));//, query); + const auto services = KServiceTypeTrader::self()->query(QStringLiteral("Application"));//, query); - foreach (const KService::Ptr &service, services) { + for (const KService::Ptr &service: services) { if (service->noDisplay()) { continue; } - foreach (const KServiceAction &action, service->actions()) { + const auto actions = service->actions(); + for (const KServiceAction &action : actions) { if (action.text().isEmpty() || action.exec().isEmpty() || hasSeen(action)) { continue; } diff --git a/runners/sessions/sessionrunner.cpp b/runners/sessions/sessionrunner.cpp --- a/runners/sessions/sessionrunner.cpp +++ b/runners/sessions/sessionrunner.cpp @@ -171,7 +171,7 @@ SessList sessions; dm.localSessions(sessions); - foreach (const SessEnt& session, sessions) { + for (const SessEnt& session : qAsConst(sessions)) { if (!session.vt || session.self) { continue; } diff --git a/runners/webshortcuts/webshortcutrunner.cpp b/runners/webshortcuts/webshortcutrunner.cpp --- a/runners/webshortcuts/webshortcutrunner.cpp +++ b/runners/webshortcuts/webshortcutrunner.cpp @@ -67,7 +67,8 @@ //qDebug() << "search providers:" << filterData.preferredSearchProviders(); QList syns; - Q_FOREACH (const QString &provider, filterData.preferredSearchProviders()) { + const auto searchProviders = filterData.preferredSearchProviders(); + for (const QString &provider : searchProviders) { //qDebug() << "checking out" << provider; Plasma::RunnerSyntax s(filterData.queryForPreferredSearchProvider(provider), /*":q:",*/ i18n("Opens \"%1\" in a web browser with the query :q:.", provider)); diff --git a/runners/windowedwidgets/windowedwidgetsrunner.cpp b/runners/windowedwidgets/windowedwidgetsrunner.cpp --- a/runners/windowedwidgets/windowedwidgetsrunner.cpp +++ b/runners/windowedwidgets/windowedwidgetsrunner.cpp @@ -60,7 +60,8 @@ QList matches; - foreach (const KPluginMetaData &md, Plasma::PluginLoader::self()->listAppletMetaData(QString())) { + const auto metaData = Plasma::PluginLoader::self()->listAppletMetaData(QString()); + for (const KPluginMetaData &md : metaData) { if (!md.isValid()) { continue; } diff --git a/runners/windows/windowsrunner.cpp b/runners/windows/windowsrunner.cpp --- a/runners/windows/windowsrunner.cpp +++ b/runners/windows/windowsrunner.cpp @@ -75,7 +75,8 @@ return; } - foreach (const WId w, KWindowSystem::windows()) { + const auto windows = KWindowSystem::windows(); + for (const WId w : windows) { KWindowInfo info(w, NET::WMWindowType | NET::WMDesktop | NET::WMState | NET::XAWMState | NET::WMName, @@ -180,7 +181,7 @@ QString windowClass; QString windowRole; int desktop = -1; - foreach (const QString& keyword, keywords) { + for (const QString& keyword : keywords) { if (keyword.endsWith(QLatin1Char('='))) { continue; } @@ -296,7 +297,7 @@ } // check for matching desktops by name - foreach (const QString& desktopName, m_desktopNames) { + for (const QString& desktopName : qAsConst(m_desktopNames)) { int desktop = m_desktopNames.indexOf(desktopName) +1; if (desktopName.contains(term, Qt::CaseInsensitive)) { // desktop name matches - offer switch to diff --git a/shell/containmentconfigview.cpp b/shell/containmentconfigview.cpp --- a/shell/containmentconfigview.cpp +++ b/shell/containmentconfigview.cpp @@ -86,11 +86,11 @@ if (!m_containmentActionConfigModel) { m_containmentActionConfigModel = new PlasmaQuick::ConfigModel(this); - KPluginInfo::List actions = Plasma::PluginLoader::self()->listContainmentActionsInfo(QString()); + const KPluginInfo::List actions = Plasma::PluginLoader::self()->listContainmentActionsInfo(QString()); KPackage::Package pkg = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/Generic")); - foreach (const KPluginInfo &info, actions) { + for (const KPluginInfo &info : actions) { pkg.setDefaultPackageRoot(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral(PLASMA_RELATIVE_DATA_INSTALL_DIR "/containmentactions"), QStandardPaths::LocateDirectory)); m_containmentActionConfigModel->appendCategory(info.icon(), info.name(), pkg.filePath("ui", QStringLiteral("config.qml")), info.pluginName()); } @@ -140,9 +140,9 @@ if (!m_containmentPluginsConfigModel) { m_containmentPluginsConfigModel = new PlasmaQuick::ConfigModel(this); - KPluginInfo::List actions = Plasma::PluginLoader::self()->listContainmentsOfType(QStringLiteral("Desktop")); + const KPluginInfo::List actions = Plasma::PluginLoader::self()->listContainmentsOfType(QStringLiteral("Desktop")); - foreach (const KPluginInfo &info, actions) { + for (const KPluginInfo &info : actions) { m_containmentPluginsConfigModel->appendCategory(info.icon(), info.name(), QString(), info.pluginName()); } diff --git a/shell/coronatesthelper.cpp b/shell/coronatesthelper.cpp --- a/shell/coronatesthelper.cpp +++ b/shell/coronatesthelper.cpp @@ -33,7 +33,8 @@ void CoronaTestHelper::processContainment(Plasma::Containment* containment) { - foreach(Plasma::Applet* applet, containment->applets()) { + const auto applets = containment->applets(); + for (Plasma::Applet* applet : applets) { processApplet(applet); } connect(containment, &Plasma::Containment::appletAdded, this, &CoronaTestHelper::processApplet); @@ -99,7 +100,8 @@ void CoronaTestHelper::initialize() { - foreach(Plasma::Containment* containment, m_corona->containments()) { + const auto containments = m_corona->containments(); + for (Plasma::Containment* containment : containments) { processContainment(containment); } connect(m_corona, &Corona::containmentAdded, this, &CoronaTestHelper::processContainment); diff --git a/shell/currentcontainmentactionsmodel.cpp b/shell/currentcontainmentactionsmodel.cpp --- a/shell/currentcontainmentactionsmodel.cpp +++ b/shell/currentcontainmentactionsmodel.cpp @@ -270,7 +270,7 @@ void CurrentContainmentActionsModel::save() { - foreach (const QString &removedTrigger, m_removedTriggers) { + for (const QString &removedTrigger : qAsConst(m_removedTriggers)) { m_containment->setContainmentActions(removedTrigger, QString()); } m_removedTriggers.clear(); diff --git a/shell/panelshadows.cpp b/shell/panelshadows.cpp --- a/shell/panelshadows.cpp +++ b/shell/panelshadows.cpp @@ -462,7 +462,7 @@ return; } - foreach (const QPixmap &pixmap, m_shadowPixmaps) { + for (const QPixmap &pixmap : qAsConst(m_shadowPixmaps)) { if (!pixmap.isNull()) { XFreePixmap(display, reinterpret_cast(createPixmap(pixmap))); } diff --git a/shell/screenpool.cpp b/shell/screenpool.cpp --- a/shell/screenpool.cpp +++ b/shell/screenpool.cpp @@ -171,7 +171,8 @@ int i = 0; //find the first integer not stored in m_connectorForId //m_connectorForId is the only map, so the ids are sorted - foreach (int existingId, m_connectorForId.keys()) { + const auto keys = m_connectorForId.keys(); + for (int existingId : keys) { if (i != existingId) { return i; } diff --git a/shell/scripting/appinterface.cpp b/shell/scripting/appinterface.cpp --- a/shell/scripting/appinterface.cpp +++ b/shell/scripting/appinterface.cpp @@ -72,7 +72,8 @@ // however QScript deals with QList very, very poorly QList containments; - foreach (Plasma::Containment *c, m_env->corona()->containments()) { + const auto cs = m_env->corona()->containments(); + for (Plasma::Containment *c : cs) { if (!ScriptEngine::isPanel(c)) { containments.append(c->id()); } @@ -87,7 +88,8 @@ // however QScript deals with QList very, very poorly QList panels; - foreach (Plasma::Containment *c, m_env->corona()->containments()) { + const auto cs = m_env->corona()->containments(); + for (Plasma::Containment *c : cs) { //qDebug() << "checking" << (QObject*)c << isPanel(c); if (ScriptEngine::isPanel(c)) { panels.append(c->id()); @@ -191,9 +193,9 @@ { if (m_knownWidgets.isEmpty()) { QStringList widgets; - KPluginInfo::List infoLs = Plasma::PluginLoader::self()->listAppletInfo(QString()); + const KPluginInfo::List infoLs = Plasma::PluginLoader::self()->listAppletInfo(QString()); - foreach (const KPluginInfo &info, infoLs) { + for (const KPluginInfo &info : infoLs) { widgets.append(info.pluginName()); } @@ -219,7 +221,7 @@ const KPluginInfo::List infoLs = Plasma::PluginLoader::listContainmentsOfType(type); containments.reserve(infoLs.count()); - foreach (const KPluginInfo &info, infoLs) { + for (const KPluginInfo &info : infoLs) { containments.append(info.pluginName()); } diff --git a/shell/scripting/applet.cpp b/shell/scripting/applet.cpp --- a/shell/scripting/applet.cpp +++ b/shell/scripting/applet.cpp @@ -72,7 +72,7 @@ d->configGroup = app->config(); d->configGroupPath = groupNames; - foreach (const QString &groupName, groupNames) { + for (const QString &groupName : groupNames) { d->configGroup = KConfigGroup(&d->configGroup, groupName); } @@ -153,7 +153,7 @@ d->globalConfigGroup = app->globalConfig(); d->globalConfigGroupPath = groupNames; - foreach (const QString &groupName, groupNames) { + for (const QString &groupName : groupNames) { d->globalConfigGroup = KConfigGroup(&d->globalConfigGroup, groupName); } } diff --git a/shell/scripting/containment.cpp b/shell/scripting/containment.cpp --- a/shell/scripting/containment.cpp +++ b/shell/scripting/containment.cpp @@ -146,7 +146,8 @@ QList w; if (d->containment) { - foreach (const Plasma::Applet *applet, d->containment.data()->applets()) { + const auto applets = d->containment.data()->applets(); + for (const Plasma::Applet *applet : applets) { w.append(applet->id()); } } @@ -163,7 +164,8 @@ const uint id = paramId.toInt(); if (d->containment) { - foreach (Plasma::Applet *w, d->containment.data()->applets()) { + const auto applets = d->containment.data()->applets(); + for (Plasma::Applet *w : applets) { if (w->id() == id) { return d->engine->wrap(w); } @@ -230,7 +232,8 @@ QJSValue widgets = d->engine->newArray(); int count = 0; - foreach (Plasma::Applet *widget, d->containment.data()->applets()) { + const auto applets = d->containment.data()->applets(); + for (Plasma::Applet *widget : applets) { if (widgetType.isEmpty() || widget->pluginMetaData().pluginId() == widgetType) { widgets.setProperty(count, d->engine->wrap(widget)); ++count; diff --git a/shell/scripting/scriptengine.cpp b/shell/scripting/scriptengine.cpp --- a/shell/scripting/scriptengine.cpp +++ b/shell/scripting/scriptengine.cpp @@ -311,7 +311,7 @@ QStringList performed = cg.readEntry("performed", QStringList()); const QString localXdgDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); - foreach (const QString &script, scripts) { + for (const QString &script : qAsConst(scripts)) { if (performed.contains(script)) { continue; } @@ -360,7 +360,8 @@ return result; } - foreach (Plasma::Containment *c, m_corona->containments()) { + const auto containments = m_corona->containments(); + for (Plasma::Containment *c : containments) { if (c->activity() == id && !isPanel(c)) { result << new Containment(c, this); } @@ -374,7 +375,8 @@ ShellCorona *sc = qobject_cast(m_corona); StandaloneAppCorona *ac = qobject_cast(m_corona); if (sc) { - foreach (int i, sc->screenIds()) { + const auto screenIds = sc->screenIds(); + for (int i : screenIds) { result << new Containment(sc->createContainmentForActivity(id, i), this); } } else if (ac) { @@ -392,7 +394,7 @@ { bool exists = false; const KPluginInfo::List list = Plasma::PluginLoader::listContainmentsOfType(type); - foreach (const KPluginInfo &info, list) { + for (const KPluginInfo &info : list) { if (info.pluginName() == plugin) { exists = true; break; diff --git a/shell/scripting/scriptengine_v1.cpp b/shell/scripting/scriptengine_v1.cpp --- a/shell/scripting/scriptengine_v1.cpp +++ b/shell/scripting/scriptengine_v1.cpp @@ -160,7 +160,8 @@ const quint32 id = param.toInt(); - foreach (Plasma::Containment *c, m_engine->m_corona->containments()) { + const auto containments = m_engine->m_corona->containments(); + for (Plasma::Containment *c : containments) { if (c->id() == id && !isPanel(c)) { return m_engine->wrap(c); } @@ -430,7 +431,8 @@ const quint32 id = idParam.toInt(); - foreach (Plasma::Containment *c, m_engine->m_corona->containments()) { + const auto containments = m_engine->m_corona->containments(); + for (Plasma::Containment *c : containments) { if (c->id() == id && isPanel(c)) { return m_engine->wrap(c); } @@ -680,7 +682,7 @@ QStandardPaths::GenericDataLocation, QStringLiteral("kcm_componentchooser/")); qDebug() << "ok, trying in" << services; - foreach (const QString &service, services) { + for (const QString &service : services) { if (!service.endsWith(QLatin1String(".desktop"))) { continue; } diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp --- a/shell/shellcorona.cpp +++ b/shell/shellcorona.cpp @@ -772,7 +772,8 @@ Q_ASSERT(m_desktopViewforId.keys().count() <= QGuiApplication::screens().count()); QSet screens; - foreach (const int id, m_desktopViewforId.keys()) { + const auto keys = m_desktopViewforId.keys(); + for (const int id : keys) { const DesktopView *view = m_desktopViewforId.value(id); QScreen *screen = view->screenToFollow(); Q_ASSERT(!screens.contains(screen)); @@ -786,7 +787,8 @@ Q_ASSERT(view->containment()->lastScreen() == id || view->containment()->lastScreen() == -1); Q_ASSERT(view->isVisible()); - foreach (const PanelView *panel, panelsForScreen(screen)) { + const auto panels = panelsForScreen(screen); + for (const PanelView *panel : panels) { Q_ASSERT(panel->containment()); Q_ASSERT(panel->containment()->screen() == id || panel->containment()->screen() == -1); //If any kscreen related activities occurred @@ -799,7 +801,7 @@ screens.insert(screen); } - foreach (QScreen* out, m_redundantOutputs) { + for (QScreen* out : qAsConst(m_redundantOutputs)) { Q_ASSERT(isOutputRedundant(out)); } diff --git a/startkde/kcminit/main.cpp b/startkde/kcminit/main.cpp --- a/startkde/kcminit/main.cpp +++ b/startkde/kcminit/main.cpp @@ -95,7 +95,7 @@ void KCMInit::runModules( int phase ) { QString KCMINIT_PREFIX=QStringLiteral("kcminit_"); - foreach (const KService::Ptr & service, list) { + for (const KService::Ptr & service : qAsConst(list)) { const QVariant tmp = service->property(QStringLiteral("X-KDE-Init-Library"), QVariant::String); QString library; if( tmp.isValid() ) @@ -142,7 +142,7 @@ if (args.isSet(QStringLiteral("list"))) { list = KServiceTypeTrader::self()->query( QStringLiteral("KCModuleInit") ); - foreach (const KService::Ptr & service, list) { + for (const KService::Ptr & service : qAsConst(list)) { if (service->library().isEmpty()) continue; // Skip printf("%s\n", QFile::encodeName(service->desktopEntryName()).data()); diff --git a/startkde/plasma-session/autostart.cpp b/startkde/plasma-session/autostart.cpp --- a/startkde/plasma-session/autostart.cpp +++ b/startkde/plasma-session/autostart.cpp @@ -76,11 +76,11 @@ // Make unique list of relative paths QHash files; - QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("autostart"), QStandardPaths::LocateDirectory); - Q_FOREACH (const QString &dir, dirs) { + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("autostart"), QStandardPaths::LocateDirectory); + for (const QString &dir : dirs) { const QDir d(dir); const QStringList fileNames = d.entryList(QStringList() << QStringLiteral("*.desktop")); - Q_FOREACH (const QString &file, fileNames) { + for (const QString &file : fileNames) { if (!files.contains(file)) { files.insert(file, d.absoluteFilePath(file)); } diff --git a/startkde/plasma-session/shutdown.cpp b/startkde/plasma-session/shutdown.cpp --- a/startkde/plasma-session/shutdown.cpp +++ b/startkde/plasma-session/shutdown.cpp @@ -76,11 +76,11 @@ void Shutdown::runShutdownScripts() { const QStringList shutdownFolders = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("plasma-workspace/shutdown"), QStandardPaths::LocateDirectory); - foreach (const QString &shutDownFolder, shutdownFolders) { + for (const QString &shutDownFolder : shutdownFolders) { QDir dir(shutDownFolder); const QStringList entries = dir.entryList(QDir::Files); - foreach (const QString &file, entries) { + for (const QString &file : entries) { // Don't execute backup files if (!file.endsWith(QLatin1Char('~')) && !file.endsWith(QStringLiteral(".bak")) && (file[0] != QLatin1Char('%') || !file.endsWith(QLatin1Char('%'))) && diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/startup.cpp --- a/startkde/plasma-session/startup.cpp +++ b/startkde/plasma-session/startup.cpp @@ -317,7 +317,7 @@ } const QStringList entries = dir.entryList(QDir::Files); - foreach (const QString &file, entries) { + for (const QString &file : entries) { // Don't execute backup files if (!file.endsWith(QLatin1Char('~')) && !file.endsWith(QStringLiteral(".bak")) && (file[0] != QLatin1Char('%') || !file.endsWith(QLatin1Char('%'))) && @@ -355,7 +355,7 @@ const QDir oldFolder(oldAutostart); qCDebug(PLASMA_SESSION) << "Copying autostart files from" << oldFolder.path(); const QStringList entries = oldFolder.entryList(QDir::Files); - foreach (const QString &file, entries) { + for (const QString &file : entries) { const QString src = oldFolder.absolutePath() + QLatin1Char('/') + file; const QString dest = autostartFolder + QLatin1Char('/') + file; QFileInfo info(src); diff --git a/wallpapers/image/backgroundlistmodel.cpp b/wallpapers/image/backgroundlistmodel.cpp --- a/wallpapers/image/backgroundlistmodel.cpp +++ b/wallpapers/image/backgroundlistmodel.cpp @@ -153,7 +153,7 @@ } QList newPackages; - Q_FOREACH (QString file, paths) { + for (QString file : paths) { // check if the path is a symlink and if it is, // work with the target rather than the symlink QFileInfo info(file); @@ -195,7 +195,7 @@ } // add new files to dirwatch - Q_FOREACH (const KPackage::Package &b, newPackages) { + for (const KPackage::Package &b : qAsConst(newPackages)) { if (!m_dirwatch.contains(b.path())) { m_dirwatch.addFile(b.path()); } @@ -511,9 +511,11 @@ QSet suffixes; QMimeDatabase db; - Q_FOREACH (const QByteArray &mimeType, QImageReader::supportedMimeTypes()) { + const auto mimeTypes = QImageReader::supportedMimeTypes(); + for (const QByteArray &mimeType : mimeTypes) { QMimeType mime(db.mimeTypeForName(mimeType)); - Q_FOREACH (const QString &pattern, mime.globPatterns()) { + const auto patterns = mime.globPatterns(); + for (const QString &pattern : patterns) { suffixes.insert(pattern); } } @@ -549,7 +551,7 @@ const QString path = m_paths.at(i); dir.setPath(path); const QFileInfoList files = dir.entryInfoList(); - Q_FOREACH (const QFileInfo &wp, files) { + for (const QFileInfo &wp : files) { if (wp.isDir()) { //qCDebug(IMAGEWALLPAPER) << "scanning directory" << wp.fileName(); diff --git a/wallpapers/image/image.cpp b/wallpapers/image/image.cpp --- a/wallpapers/image/image.cpp +++ b/wallpapers/image/image.cpp @@ -218,7 +218,7 @@ float best = FLT_MAX; QString bestImage; - foreach (const QString &entry, images) { + for (const QString &entry : images) { QSize candidate = resSize(QFileInfo(entry).baseName()); if (candidate == QSize()) { continue; @@ -441,13 +441,13 @@ void Image::updateDirWatch(const QStringList &newDirs) { - Q_FOREACH(const QString &oldDir, m_dirs) { + for (const QString &oldDir : qAsConst(m_dirs)) { if(!newDirs.contains(oldDir)) { m_dirWatch->removeDir(oldDir); } } - Q_FOREACH(const QString &newDir, newDirs) { + for (const QString &newDir : newDirs) { if(!m_dirWatch->contains(newDir)) { m_dirWatch->addDir(newDir, KDirWatch::WatchSubDirs | KDirWatch::WatchFiles); } @@ -523,7 +523,7 @@ void Image::addUrls(const QList &urls) { bool first = true; - Q_FOREACH (const QUrl &url, urls) { + for (const QUrl &url : urls) { // set the first drop as the current paper, just add the rest to the roll addUrl(url, first); first = false; @@ -689,7 +689,8 @@ QMimeDatabase db; QStringList imageGlobPatterns; - foreach(const QByteArray &mimeType, QImageReader::supportedMimeTypes()) { + const auto mimeTypes = QImageReader::supportedMimeTypes(); + for (const QByteArray &mimeType : mimeTypes) { QMimeType mime(db.mimeTypeForName(mimeType)); imageGlobPatterns << mime.globPatterns(); } diff --git a/wallpapers/image/slidemodel.cpp b/wallpapers/image/slidemodel.cpp --- a/wallpapers/image/slidemodel.cpp +++ b/wallpapers/image/slidemodel.cpp @@ -57,7 +57,7 @@ void SlideModel::removeBackgrounds(const QStringList &paths, const QString &token) { - Q_FOREACH (const QString &file, paths) { + for (const QString &file : paths) { removeBackground(file); } }