Hello community,
here is the log from the commit of package kservice for openSUSE:Factory checked in at 2019-04-19 21:24:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kservice (Old)
and /work/SRC/openSUSE:Factory/.kservice.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kservice"
Fri Apr 19 21:24:16 2019 rev:70 rq:695249 version:5.57.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kservice/kservice.changes 2019-03-21 09:48:14.558870690 +0100
+++ /work/SRC/openSUSE:Factory/.kservice.new.5536/kservice.changes 2019-04-19 21:24:17.791867529 +0200
@@ -1,0 +2,13 @@
+Sun Apr 14 20:21:44 UTC 2019 - lbeltrame@kde.org
+
+- Update to 5.57.0
+ * New feature release
+ * For more details please see:
+ * https://www.kde.org/announcements/kde-frameworks-5.57.0.php
+- Changes since 5.56.0:
+ * Add X-GNOME-UsesNotifications as recognized key
+ * Add bison minimum version of 2.4.1 due to %code
+ * [kservice] Make it compile without foreach
+ * [kservice] compile without deprecated method
+
+-------------------------------------------------------------------
Old:
----
kservice-5.56.0.tar.xz
New:
----
kservice-5.57.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kservice.spec ++++++
--- /var/tmp/diff_new_pack.dAWX89/_old 2019-04-19 21:24:18.231868090 +0200
+++ /var/tmp/diff_new_pack.dAWX89/_new 2019-04-19 21:24:18.235868095 +0200
@@ -16,14 +16,14 @@
#
-%define _tar_path 5.56
+%define _tar_path 5.57
# Full KF5 version (e.g. 5.33.0)
%{!?_kf5_version: %global _kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33)
%{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')}
%bcond_without lang
Name: kservice
-Version: 5.56.0
+Version: 5.57.0
Release: 0
Summary: Plugin framework for desktop services
License: LGPL-2.1-or-later
++++++ kservice-5.56.0.tar.xz -> kservice-5.57.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/.gitignore new/kservice-5.57.0/.gitignore
--- old/kservice-5.56.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/kservice-5.57.0/.gitignore 2019-04-07 09:32:02.000000000 +0200
@@ -0,0 +1,21 @@
+# Ignore the following files
+*~
+*.[oa]
+*.diff
+*.kate-swp
+*.kdev4
+.kdev_include_paths
+*.kdevelop.pcs
+*.moc
+*.moc.cpp
+*.orig
+*.user
+.*.swp
+.swp.*
+Doxyfile
+Makefile
+avail
+random_seed
+/build*/
+CMakeLists.txt.user*
+*.unc-backup*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/CMakeLists.txt new/kservice-5.57.0/CMakeLists.txt
--- old/kservice-5.56.0/CMakeLists.txt 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/CMakeLists.txt 2019-04-07 09:32:02.000000000 +0200
@@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 3.5)
-set(KF5_VERSION "5.56.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.56.0") # handled by release scripts
+set(KF5_VERSION "5.57.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.57.0") # handled by release scripts
project(KService VERSION ${KF5_VERSION})
# Disallow in-source build
@@ -12,7 +12,7 @@
# ECM setup
include(FeatureSummary)
-find_package(ECM 5.56.0 NO_MODULE)
+find_package(ECM 5.57.0 NO_MODULE)
set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules")
feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
@@ -63,7 +63,7 @@
PURPOSE "Required for the Trader parser"
)
-find_package(BISON REQUIRED)
+find_package(BISON 2.4.1 REQUIRED)
set_package_properties(BISON PROPERTIES
URL "http://www.gnu.org/software/bison"
DESCRIPTION "general-purpose parser generator"
@@ -72,7 +72,8 @@
)
add_definitions(-DTRANSLATION_DOMAIN=\"kservice5\")
-
+add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050c00)
+add_definitions(-DQT_NO_FOREACH)
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
ki18n_install(po)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/autotests/kmimeassociationstest.cpp new/kservice-5.57.0/autotests/kmimeassociationstest.cpp
--- old/kservice-5.56.0/autotests/kmimeassociationstest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/autotests/kmimeassociationstest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -74,7 +74,7 @@
bool expected /* if set, show error if not found */)
{
bool found = false;
- Q_FOREACH (const KService::Ptr &serv, offers) {
+ for (const KService::Ptr &serv : offers) {
if (serv->entryPath() == entryPath) {
if (found) { // should be there only once
qWarning("ERROR: %s was found twice in the list", qPrintable(entryPath));
@@ -85,7 +85,7 @@
}
if (!found && expected) {
qWarning() << "ERROR:" << entryPath << "not found in offer list. Here's the full list:";
- Q_FOREACH (const KService::Ptr &serv, offers) {
+ for (const KService::Ptr &serv : offers) {
qDebug() << serv->entryPath();
}
}
@@ -175,7 +175,7 @@
#if 0
const KService::List lst = KService::allServices();
QVERIFY(!lst.isEmpty());
- Q_FOREACH (const KService::Ptr &serv, lst) {
+ for (const KService::Ptr &serv : lst) {
qDebug() << serv->entryPath() << serv->storageId() /*<< serv->desktopEntryName()*/;
}
#endif
@@ -248,11 +248,11 @@
continue;
}
const QList<KServiceOffer> offers = offerHash.offersFor(mime);
- Q_FOREACH (const QString &service, it.value()) {
+ for (const QString &service : it.value()) {
KService::Ptr serv = KService::serviceByStorageId(service);
if (serv && !offersContains(offers, serv)) {
qDebug() << "expected offer" << serv->entryPath() << "not in offers for" << mime << ":";
- Q_FOREACH (const KServiceOffer &offer, offers) {
+ for (const KServiceOffer &offer : offers) {
qDebug() << offer.service()->storageId();
}
QFAIL("offer does not have servicetype");
@@ -264,7 +264,7 @@
end = removedApps.constEnd(); it != end; ++it) {
const QString mime = it.key();
const QList<KServiceOffer> offers = offerHash.offersFor(mime);
- Q_FOREACH (const QString &service, it.value()) {
+ for (const QString &service : it.value()) {
KService::Ptr serv = KService::serviceByStorageId(service);
if (serv && offersContains(offers, serv)) {
//qDebug() << serv.data() << serv->entryPath() << "does not have" << mime;
@@ -307,12 +307,12 @@
parser.parseMimeAppsList(fileName, 1050); // += 50 is correct.
QList<KServiceOffer> offers = offerHash.offersFor(QStringLiteral("image/jpeg"));
- qStableSort(offers); // like kbuildservicefactory.cpp does
+ std::stable_sort(offers.begin(), offers.end()); // like kbuildservicefactory.cpp does
const QStringList expectedJpegApps = preferredApps[QStringLiteral("image/jpeg")];
QCOMPARE(assembleOffers(offers), expectedJpegApps);
offers = offerHash.offersFor(QStringLiteral("text/html"));
- qStableSort(offers);
+ std::stable_sort(offers.begin(), offers.end());
QStringList textHtmlApps = preferredApps[QStringLiteral("text/html")];
if (KService::serviceByStorageId(QStringLiteral("firefox.desktop"))) {
textHtmlApps.append(QStringLiteral("firefox.desktop"));
@@ -321,7 +321,7 @@
QCOMPARE(assembleOffers(offers), textHtmlApps);
offers = offerHash.offersFor(QStringLiteral("image/png"));
- qStableSort(offers);
+ std::stable_sort(offers.begin(), offers.end());
QCOMPARE(assembleOffers(offers), QStringList() << QStringLiteral("fakejpegapplication.desktop"));
}
@@ -479,7 +479,7 @@
static bool offersContains(const QList<KServiceOffer> &offers, KService::Ptr serv)
{
- Q_FOREACH (const KServiceOffer &offer, offers) {
+ for (const KServiceOffer &offer : offers) {
if (offer.service()->storageId() == serv->storageId()) {
return true;
}
@@ -489,7 +489,7 @@
static QStringList assembleOffers(const QList<KServiceOffer> &offers)
{
QStringList lst;
- Q_FOREACH (const KServiceOffer &offer, offers) {
+ for (const KServiceOffer &offer : offers) {
lst.append(offer.service()->storageId());
}
return lst;
@@ -497,7 +497,7 @@
static QStringList assembleServices(const QListKService::Ptr &services, int maxCount = -1)
{
QStringList lst;
- Q_FOREACH (const KService::Ptr &service, services) {
+ for (const KService::Ptr &service : services) {
lst.append(service->storageId());
if (maxCount > -1 && lst.count() == maxCount) {
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/autotests/kservicetest.cpp new/kservice-5.57.0/autotests/kservicetest.cpp
--- old/kservice-5.56.0/autotests/kservicetest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/autotests/kservicetest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -248,13 +248,13 @@
{
// If I want the konqueror unit tests to work, then I better not have a non-working part
// as the preferred part for text/plain...
- QStringList services; services << QStringLiteral("fakeservice.desktop") << QStringLiteral("fakepart.desktop") << QStringLiteral("faketextplugin.desktop") << QStringLiteral("fakeservice_querymustrebuild.desktop");
- Q_FOREACH (const QString &service, services) {
+ const QStringList services = QStringList() << QStringLiteral("fakeservice.desktop") << QStringLiteral("fakepart.desktop") << QStringLiteral("faketextplugin.desktop") << QStringLiteral("fakeservice_querymustrebuild.desktop");
+ for (const QString &service : services) {
const QString fakeService = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/kservices5/") + service;
QFile::remove(fakeService);
}
- QStringList serviceTypes; serviceTypes << QStringLiteral("fakeplugintype.desktop");
- Q_FOREACH (const QString &serviceType, serviceTypes) {
+ const QStringList serviceTypes = QStringList() << QStringLiteral("fakeplugintype.desktop");
+ for (const QString &serviceType : serviceTypes) {
const QString fakeServiceType = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/kservicetypes5/") + serviceType;
//QFile::remove(fakeServiceType);
}
@@ -480,7 +480,7 @@
|| !offerListHasService(offers, QStringLiteral("fakepart2.desktop"))
|| !offerListHasService(offers, QStringLiteral("otherpart.desktop"))
|| !offerListHasService(offers, QStringLiteral("preferredpart.desktop"))) {
- foreach (KService::Ptr service, offers) {
+ for (KService::Ptr service : qAsConst(offers)) {
qDebug("%s %s", qPrintable(service->name()), qPrintable(service->entryPath()));
}
}
@@ -495,7 +495,7 @@
// Check ordering according to InitialPreference
int lastPreference = -1;
bool lastAllowedAsDefault = true;
- Q_FOREACH (KService::Ptr service, offers) {
+ for (KService::Ptr service : qAsConst(offers)) {
const QString path = service->entryPath();
const int preference = service->initialPreference(); // ## might be wrong if we use per-servicetype preferences...
//qDebug( "%s has preference %d, allowAsDefault=%d", qPrintable( path ), preference, service->allowAsDefault() );
@@ -639,10 +639,10 @@
services.append(KService::serviceByDesktopPath(QStringLiteral("fakepart.desktop")));
disabledServices.append(KService::serviceByDesktopPath(QStringLiteral("fakepart2.desktop")));
- Q_FOREACH (const KService::Ptr &serv, services) {
+ for (const KService::Ptr &serv : qAsConst(services)) {
QVERIFY(serv);
}
- Q_FOREACH (const KService::Ptr &serv, disabledServices) {
+ for (const KService::Ptr &serv : qAsConst(disabledServices)) {
QVERIFY(serv);
}
@@ -727,7 +727,7 @@
true /* sort by generic name */);
qDebug() << list.count();
- Q_FOREACH (KServiceGroup::SPtr s, list) {
+ for (KServiceGroup::SPtr s : list) {
qDebug() << s->name() << s->entryPath();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/autotests/ksycoca_xdgdirstest.cpp new/kservice-5.57.0/autotests/ksycoca_xdgdirstest.cpp
--- old/kservice-5.56.0/autotests/ksycoca_xdgdirstest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/autotests/ksycoca_xdgdirstest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -111,7 +111,7 @@
#if 0 // for debugging
const KService::List lst = KService::allServices();
QVERIFY(!lst.isEmpty());
- Q_FOREACH (const KService::Ptr &serv, lst) {
+ for (const KService::Ptr &serv : lst) {
qDebug() << serv->entryPath() << serv->storageId() /*<< serv->desktopEntryName()*/;
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/autotests/ksycocadicttest.cpp new/kservice-5.57.0/autotests/ksycocadicttest.cpp
--- old/kservice-5.56.0/autotests/ksycocadicttest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/autotests/ksycocadicttest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -108,7 +108,7 @@
QByteArray buffer;
{
KSycocaDict dict;
- foreach (const QString &str, serviceTypes)
+ for (const QString &str : qAsConst(serviceTypes))
{
add(dict, str, str);
}
@@ -124,7 +124,7 @@
int offset = loadingDict.find_string(QStringLiteral("DictTestPluginType"));
QVERIFY(offset > 0);
QCOMPARE(offset, KServiceType::serviceType(QStringLiteral("DictTestPluginType"))->offset());
- foreach (const QString &str, serviceTypes)
+ for (const QString &str : qAsConst(serviceTypes))
{
int offset = loadingDict.find_string(str);
QVERIFY(offset > 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/autotests/ksycocathreadtest.cpp new/kservice-5.57.0/autotests/ksycocathreadtest.cpp
--- old/kservice-5.56.0/autotests/ksycocathreadtest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/autotests/ksycocathreadtest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -303,7 +303,7 @@
QDateTime now;
Q_FOREVER {
now = QDateTime::currentDateTime();
- if (now.toTime_t() == ctime.toTime_t()) // truncate milliseconds
+ if (now.toSecsSinceEpoch() == ctime.toSecsSinceEpoch()) // truncate milliseconds
{
totalWait += 50;
QTest::qWait(50);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/po/id/docs/desktoptojson/man-desktoptojson.8.docbook new/kservice-5.57.0/po/id/docs/desktoptojson/man-desktoptojson.8.docbook
--- old/kservice-5.56.0/po/id/docs/desktoptojson/man-desktoptojson.8.docbook 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/po/id/docs/desktoptojson/man-desktoptojson.8.docbook 1970-01-01 01:00:00.000000000 +0100
@@ -1,233 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
- <!ENTITY % English "INCLUDE"
-><!-- change language only here -->
-]>
-
-<refentry lang="&language;">
-
-<refentryinfo>
-
&kde; Framework: KService</title>
-Scarlett Clark Menulis dokumen asli.</contrib>
-<affiliation>
-scarlett@scarlettgatelyclark.com</address>
-</affiliation>
-</author>
-Alex Merry Mengedit dokumentasi.</contrib>
-<affiliation>
-alexmerry@kde.org</address>
-</affiliation>
-</author>
-
-02-04-2014</date>
-Frameworks 5.0</releaseinfo>
-KDE Frameworks</productname>
-
-</refentryinfo>
-
-
-<refmeta>
-desktoptojson</refentrytitle>
-8</manvolnum>
-</refmeta>
-
-<refnamediv>
-desktoptojson</refname>
-Mengkonversi sebuah file .desktop ke sebuah file .json.</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-Sinopsis</title>
-
-desktoptojson --input DESKTOP-FILE --output JSON-FILE </cmdsynopsis>
-desktoptojson --version --help </cmdsynopsis>
-
-</refsynopsisdiv>
-
-
-
-
-<refsect1>
-Deskripsi</title>
-
-Kerangka-kerja KService menggunakan informasi yang terisi di dalam file .desktop untuk menempatkan layanan, termasuk plugin untuk pustaka lib dan aplikasi berbasis-Qt5. Sistem plugin Qt5, namun, menggunakan data JSON yang tertanam dalam plugin itu sendiri. desktoptojson memungkinkan informasi yang terisi dalam file .desktop yang juga digunakan sebagai data tertanam untuk plugin Qt5 dengan mengkonversi seluruh file .desktop ke dalam data JSON.</para>
-
-Data JSON yang dihasilkan adalah sebuah objek JSON yang memetakan keseluruhan dari grup [Desktop Entry] pada file .desktop. Grup lain apa pun diabaikan. Banyak entri-entri yang hanya dikonversi ke string JSON, tapi entri tertentu (sepertihalnya Hidden dan X-KDE-PluginInfo-EnabledByBaku) telah diketahui menjadi nilai-nilai boolean dan dikonversi seperti itu, dan beberapa yang mirip (sepertihalnya X-KDE-ServiceTypes dan X-KDE-PluginInfo-Depends) yang selalu dikonversi untuk susunan string.</para>
-</refsect1>
-
-
-
-<refsect1>
-Opsi</title>
-<variablelist>
-
-<varlistentry>
- </term>
-<listitem>
-File .desktop untuk dikonversi.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-</term>
-<listitem>
-File untuk penulisan yang dihasilkan data JSON ke.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-</term>
-<listitem>
-Tampilkan sebuah teks bantuan yang singkat.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-</term>
-<listitem>
-Tampilkan informasi versi.</para>
-</listitem>
-</varlistentry>
-
-</variablelist>
-</refsect1>
-
-
-
-<refsect1>
-Penggunaan</title>
-Beberapa penggunaan utilitas ini akan menggunakan macro CMake kservice_desktop_to_json sebagai bagian dari proses pembangunan sebuah plugin. <programlisting language="cmake">
-<![CDATA[
-add_library(myplugin MODULE ${myplugin_SRCS})
-kservice_desktop_to_json(myplugin myplugin.desktop)
-]]>
- Ini akan menghasilkan file JSON myplugin.json, yang bisa direferensikan dari macros K_PLUGIN_FACTORY_WITH_JSON atau Q_PLUGIN_METADATA. </para>
-</refsect1>
-
-
-
-<refsect1>
-Bug</title>
-Silakan gunakan http://bugs.kde.org"
->KDE's bugtracker untuk melaporkan bug.</para>
-</refsect1>
-
-</refentry>
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/po/id/kservice5.po new/kservice-5.57.0/po/id/kservice5.po
--- old/kservice-5.56.0/po/id/kservice5.po 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/po/id/kservice5.po 2019-04-07 09:32:02.000000000 +0200
@@ -16,7 +16,7 @@
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 2.0\n"
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/po/te/kservice5.po new/kservice-5.57.0/po/te/kservice5.po
--- old/kservice-5.56.0/po/te/kservice5.po 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/po/te/kservice5.po 2019-04-07 09:32:02.000000000 +0200
@@ -22,8 +22,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
-"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
-"4;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/po/zh_CN/kservice5.po new/kservice-5.57.0/po/zh_CN/kservice5.po
--- old/kservice-5.56.0/po/zh_CN/kservice5.po 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/po/zh_CN/kservice5.po 2019-04-07 09:32:02.000000000 +0200
@@ -16,7 +16,7 @@
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2019-02-18 02:58+0100\n"
-"PO-Revision-Date: 2019-02-20 23:16\n"
+"PO-Revision-Date: 2019-03-07 09:22\n"
"Last-Translator: guoyunhe \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/kdeinit/ktoolinvocation_win.cpp new/kservice-5.57.0/src/kdeinit/ktoolinvocation_win.cpp
--- old/kservice-5.56.0/src/kdeinit/ktoolinvocation_win.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/kdeinit/ktoolinvocation_win.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -61,7 +61,7 @@
query.addQueryItem(QStringLiteral("cc"), _cc);
query.addQueryItem(QStringLiteral("bcc"), _bcc);
query.addQueryItem(QStringLiteral("body"), body);
- foreach (const QString &attachURL, attachURLs) {
+ for (const QString &attachURL : attachURLs) {
query.addQueryItem(QStringLiteral("attach"), attachURL);
}
url.setQuery(query);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/kdeinit/ktoolinvocation_x11.cpp new/kservice-5.57.0/src/kdeinit/ktoolinvocation_x11.cpp
--- old/kservice-5.56.0/src/kdeinit/ktoolinvocation_x11.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/kdeinit/ktoolinvocation_x11.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -231,7 +231,7 @@
const QString previousStr = cmdTokens.at(i-1);
cmdTokens.removeAt(i);
const int currentPos = i;
- Q_FOREACH(const QString &url, attachURLs) {
+ for(const QString &url : attachURLs) {
cmdTokens.insert(currentPos, previousStr);
cmdTokens.insert(currentPos, url);
i += 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/plugin/kplugintrader.h new/kservice-5.57.0/src/plugin/kplugintrader.h
--- old/kservice-5.56.0/src/plugin/kplugintrader.h 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/plugin/kplugintrader.h 2019-04-07 09:32:02.000000000 +0200
@@ -230,7 +230,7 @@
}
const KPluginInfo::List offers = self()->query(subDirectory, serviceType, constraint);
- Q_FOREACH (const KPluginInfo &info, offers) {
+ for (const KPluginInfo &info : offers) {
KPluginLoader loader(info.libraryPath());
const QVariantList argsWithMetaData = QVariantList() << loader.metaData().toVariantMap();
KPluginFactory *factory = loader.factory();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/application.desktop new/kservice-5.57.0/src/services/application.desktop
--- old/kservice-5.56.0/src/services/application.desktop 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/application.desktop 2019-04-07 09:32:02.000000000 +0200
@@ -142,3 +142,5 @@
[PropertyDef::X-KDE-Protocols]
Type=QStringList
+[PropertyDef::X-GNOME-UsesNotifications]
+Type=bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kmimetypetrader.h new/kservice-5.57.0/src/services/kmimetypetrader.h
--- old/kservice-5.56.0/src/services/kmimetypetrader.h 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kmimetypetrader.h 2019-04-07 09:32:02.000000000 +0200
@@ -130,7 +130,7 @@
QString *error = nullptr)
{
const KService::List offers = self()->query(mimeType, QStringLiteral("KParts/ReadOnlyPart"), constraint);
- Q_FOREACH (const KService::Ptr &ptr, offers) {
+ for (const KService::Ptr &ptr : offers) {
T *component = ptr->template createInstance<T>(parentWidget, parent, args, error);
if (component) {
if (error) {
@@ -165,7 +165,7 @@
QString *error = nullptr)
{
const KService::List offers = self()->query(mimeType, serviceType, constraint);
- Q_FOREACH (const KService::Ptr &ptr, offers) {
+ for (const KService::Ptr &ptr : offers) {
T *component = ptr->template createInstance<T>(parent, args, error);
if (component) {
if (error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kplugininfo.cpp new/kservice-5.57.0/src/services/kplugininfo.cpp
--- old/kservice-5.56.0/src/services/kplugininfo.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kplugininfo.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -278,7 +278,7 @@
: d(new KPluginInfoPrivate)
{
const QString metaData = QStringLiteral("MetaData");
- foreach (const QVariant &v, args) {
+ for (const QVariant &v : args) {
if (v.canConvert<QVariantMap>()) {
const QVariantMap &m = v.toMap();
const QVariant &_metadata = m.value(metaData);
@@ -315,7 +315,8 @@
KSycoca::self()->ensureCacheValid();
QJsonObject json;
- foreach (const QString &key, service->propertyNames()) {
+ const auto propertyList = service->propertyNames();
+ for (const QString &key : propertyList) {
QVariant::Type t = KSycocaPrivate::self()->serviceTypeFactory()->findPropertyTypeByName(key);
if (t == QVariant::Invalid) {
t = QVariant::String; // default to string if the type is not known
@@ -336,7 +337,7 @@
mimeTypes.reserve(services.size());
QStringList newServiceTypes;
newServiceTypes.reserve(services.size());
- foreach (const QString& s, services) {
+ for (const QString& s : services) {
if (db.mimeTypeForName(s).isValid()) {
mimeTypes << s;
} else {
@@ -443,7 +444,7 @@
{
QStringList files;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, name + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
- Q_FOREACH (const QString &dir, dirs) {
+ for (const QString &dir : dirs) {
QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"));
while (it.hasNext()) {
files.append(it.next());
@@ -628,9 +629,9 @@
if (result.canConvert<QString>()) {
result = KPluginInfoPrivate::deserializeList(result.toString());
} else if (result.canConvert<QVariantList>()) {
- QVariantList list = result.toList();
+ const QVariantList list = result.toList();
QStringList newResult;
- foreach (const QVariant &value, list) {
+ for (const QVariant &value : list) {
newResult += value.toString();
}
result = newResult;
@@ -749,7 +750,7 @@
{
KPluginInfo::List ret;
ret.reserve(list.size());
- foreach(const KPluginMetaData &md, list) {
+ for(const KPluginMetaData &md : list) {
ret.append(KPluginInfo::fromMetaData(md));
}
return ret;
@@ -759,7 +760,7 @@
{
QVector<KPluginMetaData> ret;
ret.reserve(list.size());
- foreach(const KPluginInfo &info, list) {
+ for(const KPluginInfo &info : list) {
ret.append(info.toMetaData());
}
return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kservice.cpp new/kservice-5.57.0/src/services/kservice.cpp
--- old/kservice-5.56.0/src/services/kservice.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kservice.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -663,7 +663,7 @@
QMap::ConstIterator it = d->m_mapProps.find(QStringLiteral("OnlyShowIn"));
if ((it != d->m_mapProps.end()) && (it->isValid())) {
const QStringList aList = it->toString().split(QLatin1Char(';'));
- foreach (const QString &desktop, currentDesktops) {
+ for (const QString &desktop : qAsConst(currentDesktops)) {
if (aList.contains(desktop)) {
return true;
}
@@ -674,7 +674,7 @@
it = d->m_mapProps.find(QStringLiteral("NotShowIn"));
if ((it != d->m_mapProps.end()) && (it->isValid())) {
const QStringList aList = it->toString().split(QLatin1Char(';'));
- foreach (const QString &desktop, currentDesktops) {
+ for (const QString &desktop : qAsConst(currentDesktops)) {
if (aList.contains(desktop)) {
return false;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kservicegroup.cpp new/kservice-5.57.0/src/services/kservicegroup.cpp
--- old/kservice-5.56.0/src/services/kservicegroup.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kservicegroup.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -232,7 +232,7 @@
m_bAllowInline = (_allowInline != 0);
if (m_bDeep) {
- Q_FOREACH (const QString &path, groupList) {
+ for (const QString &path : qAsConst(groupList)) {
if (path.endsWith(QLatin1Char('/'))) {
KServiceGroup::Ptr serviceGroup;
serviceGroup = KSycocaPrivate::self()->serviceGroupFactory()->findGroupByDesktopPath(path, false);
@@ -261,7 +261,7 @@
KSycocaEntryPrivate::save(s);
QStringList groupList;
- Q_FOREACH (KSycocaEntry::Ptr p, m_serviceList) {
+ for (const KSycocaEntry::Ptr &p : qAsConst(m_serviceList)) {
if (p->isType(KST_KService)) {
KService::Ptr service(static_cast(p.data()));
groupList.append(service->entryPath());
@@ -291,8 +291,8 @@
Q_D(KServiceGroup);
bool sort = options & SortEntries || options & AllowSeparators;
QListKServiceGroup::Ptr list;
- List tmp = d->entries(this, sort, options & ExcludeNoDisplay, options & AllowSeparators, options & SortByGenericName);
- foreach (const SPtr &ptr, tmp) {
+ const List tmp = d->entries(this, sort, options & ExcludeNoDisplay, options & AllowSeparators, options & SortByGenericName);
+ for (const SPtr &ptr : tmp) {
if (ptr->isType(KST_KServiceGroup)) {
KServiceGroup::Ptr serviceGroup(static_cast(ptr.data()));
list.append(serviceGroup);
@@ -310,9 +310,9 @@
Q_D(KServiceGroup);
bool sort = options & SortEntries || options & AllowSeparators;
QListKService::Ptr list;
- List tmp = d->entries(this, sort, options & ExcludeNoDisplay, options & AllowSeparators, options & SortByGenericName);
+ const List tmp = d->entries(this, sort, options & ExcludeNoDisplay, options & AllowSeparators, options & SortByGenericName);
bool foundService = false;
- foreach (const SPtr &ptr, tmp) {
+ for (const SPtr &ptr : tmp) {
if (ptr->isType(KST_KService)) {
list.append(KService::Ptr(static_cast(ptr.data())));
foundService = true;
@@ -383,7 +383,8 @@
typedef QMap SortedContainer;
SortedContainer slist;
SortedContainer glist;
- Q_FOREACH (KSycocaEntry::Ptr p, group->d_func()->m_serviceList) {
+ const auto listService = group->d_func()->m_serviceList;
+ for (const KSycocaEntry::Ptr &p : listService) {
bool noDisplay = p->isType(KST_KServiceGroup) ?
static_cast(p.data())->noDisplay() :
static_cast(p.data())->noDisplay();
@@ -439,7 +440,7 @@
// Iterate through the sort spec list.
// If an entry gets mentioned explicitly, we remove it from the sorted list
- Q_FOREACH (const QString &item, sortOrder) {
+ for (const QString &item : qAsConst(sortOrder)) {
if (item.isEmpty()) {
continue;
}
@@ -575,7 +576,7 @@
bool bShowInlineHeader = false;
bool bShowInlineAlias = false;
int inlineValue = -1;
- Q_FOREACH (const QString &opt_attr, optionAttribute) {
+ for (const QString &opt_attr : qAsConst(optionAttribute)) {
parseAttribute(opt_attr, bShowEmptyMenu, bShowInline, bShowInlineHeader, bShowInlineAlias, inlineValue);
group->setShowEmptyMenu(bShowEmptyMenu);
group->setAllowInline(bShowInline);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kservicetypeprofile.cpp new/kservice-5.57.0/src/services/kservicetypeprofile.cpp
--- old/kservice-5.56.0/src/services/kservicetypeprofile.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kservicetypeprofile.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -160,7 +160,7 @@
}
}
- qStableSort(offers);
+ std::stable_sort(offers.begin(), offers.end());
//qDebug() << "KServiceTypeProfile::offers returning " << offers.count() << " offers";
return offers;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/kservicetypetrader.h new/kservice-5.57.0/src/services/kservicetypetrader.h
--- old/kservice-5.56.0/src/services/kservicetypetrader.h 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/kservicetypetrader.h 2019-04-07 09:32:02.000000000 +0200
@@ -187,7 +187,7 @@
if (error) {
error->clear();
}
- Q_FOREACH (const KService::Ptr &ptr, offers) {
+ for (const KService::Ptr &ptr : offers) {
T *component = ptr->template createInstance<T>(parentWidget, parent, args, error);
if (component) {
return component;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/services/ktraderparsetree.cpp new/kservice-5.57.0/src/services/ktraderparsetree.cpp
--- old/kservice-5.56.0/src/services/ktraderparsetree.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/services/ktraderparsetree.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -507,7 +507,7 @@
if (c1.type == ParseContext::T_STRING && c2.type == ParseContext::T_STR_SEQ) {
if (false && m_substring) {
_context->b = false;
- foreach (const QString &string, c2.strSeq) {
+ for (const QString &string : qAsConst(c2.strSeq)) {
if (string.contains(c1.str, m_cs)) {
_context->b = true;
break;
@@ -727,7 +727,7 @@
}
}
- foreach (const QVariant &p, offerValues) {
+ for (const QVariant &p : qAsConst(offerValues)) {
if (p.isValid()) {
// Determine new maximum/minimum
if (extrema.type == PreferencesMaxima::PM_INVALID_INT) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/kbuildservicefactory.cpp new/kservice-5.57.0/src/sycoca/kbuildservicefactory.cpp
--- old/kservice-5.56.0/src/sycoca/kbuildservicefactory.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/kbuildservicefactory.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -159,7 +159,8 @@
// We need to process parents before children, hence the recursive call in
// collectInheritedServices(mime) and the QSet to process a given parent only once.
QSet<QString> visitedMimes;
- Q_FOREACH (const QString &mimeType, m_mimeTypeFactory->allMimeTypes()) {
+ const auto lst = m_mimeTypeFactory->allMimeTypes();
+ for (const QString &mimeType : lst) {
collectInheritedServices(mimeType, visitedMimes);
}
}
@@ -177,8 +178,9 @@
int mimeTypeInheritanceLevel = 0;
QMimeDatabase db;
- QMimeType qmime = db.mimeTypeForName(mimeTypeName);
- Q_FOREACH (QString parentMimeType, qmime.parentMimeTypes()) {
+ const QMimeType qmime = db.mimeTypeForName(mimeTypeName);
+ const auto lst = qmime.parentMimeTypes();
+ for (QString parentMimeType : lst) {
// Workaround issue in shared-mime-info and/or Qt, which sometimes return an alias as parent
parentMimeType = db.mimeTypeForName(parentMimeType).name();
@@ -299,7 +301,8 @@
}
} else {
bool shouldAdd = true;
- foreach (const QString &otherType, service->serviceTypes()) {
+ const auto lst = service->serviceTypes();
+ for (const QString &otherType : lst) {
// Skip derived types if the base class is listed (#321706)
if (stName != otherType && mime.inherits(otherType)) {
// But don't skip aliases (they got resolved into mime->name() already, but don't let two aliases cancel out)
@@ -374,7 +377,7 @@
const QString stName = it.key();
const ServiceTypeOffersData offersData = it.value();
QList<KServiceOffer> offers = offersData.offers;
- qStableSort(offers); // by initial preference
+ std::stable_sort(offers.begin(), offers.end()); // by initial preference
int offset = -1;
KServiceType::Ptr serviceType = m_serviceTypeFactory->findServiceTypeByName(stName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/kbuildsycoca.cpp new/kservice-5.57.0/src/sycoca/kbuildsycoca.cpp
--- old/kservice-5.56.0/src/sycoca/kbuildsycoca.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/kbuildsycoca.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -148,10 +148,11 @@
entryDictList.reserve(factories()->size());
int i = 0;
// For each factory
- Q_FOREACH (KSycocaFactory* factory, *factories()) {
+ auto list = *factories();
+ for (KSycocaFactory* factory : qAsConst(list)) {
KBSEntryDict *entryDict = new KBSEntryDict;
if (m_allEntries) { // incremental build
- Q_FOREACH (const KSycocaEntry::Ptr &entry, (*m_allEntries)[i++]) {
+ for (const KSycocaEntry::Ptr &entry : qAsConst((*m_allEntries)[i++])) {
//if (entry->entryPath().contains("fake"))
// qCDebug(SYCOCA) << "inserting into entryDict:" << entry->entryPath() << entry;
entryDict->insert(entry->entryPath(), entry);
@@ -167,7 +168,8 @@
// Save the mtime of each dir, just before we list them
// ## should we convert to UTC to avoid surprises when summer time kicks in?
- Q_FOREACH (const QString &dir, factoryResourceDirs()) {
+ const auto lstDirs = factoryResourceDirs();
+ for (const QString &dir : lstDirs) {
qint64 stamp = 0;
KSycocaUtilsPrivate::visitResourceDirectory(dir, [&stamp] (const QFileInfo &info) {
stamp = qMax(stamp, info.lastModified().toMSecsSinceEpoch());
@@ -178,13 +180,14 @@
QMap allResourcesSubDirs; // dirs, kstandarddirs-resource-name
// For each factory
- Q_FOREACH (KSycocaFactory* factory, *factories()) {
+ list = *factories();
+ for (KSycocaFactory* factory : qAsConst(list)) {
// For each resource the factory deals with
const KSycocaResourceList *list = factory->resourceList();
if (!list) {
continue;
}
- Q_FOREACH (const KSycocaResource &res, *list) {
+ for (const KSycocaResource &res : qAsConst(*list)) {
// With this we would get dirs, but not a unique list of relative files (for global+local merging to work)
//const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, res.subdir, QStandardPaths::LocateDirectory);
//allResourcesSubDirs[res.resource] += dirs;
@@ -203,7 +206,7 @@
QSet<QString> relFiles;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory);
qCDebug(SYCOCA) << "Looking for subdir" << m_resourceSubdir << "=>" << dirs;
- Q_FOREACH (const QString &dir, dirs) {
+ for (const QString &dir : dirs) {
QDirIterator it(dir, QDirIterator::Subdirectories);
while (it.hasNext()) {
const QString filePath = it.next();
@@ -228,7 +231,7 @@
continue;
}
- Q_FOREACH (const KSycocaResource &res, *list) {
+ for (const KSycocaResource &res : qAsConst(*list)) {
if (res.resource != (*it1)) {
continue;
}
@@ -272,7 +275,8 @@
// Storing the mtime *after* looking at these dirs is a tiny race condition,
// but I'm not sure how to get the vfolder dirs upfront...
- Q_FOREACH (QString dir, m_vfolder->allDirectories()) {
+ const auto allDirectories = m_vfolder->allDirectories();
+ for (QString dir : allDirectories) {
if (dir.endsWith(QLatin1Char('/'))) {
dir.chop(1); // remove trailing slash, to avoid having ~/.local/share/applications twice
}
@@ -313,7 +317,7 @@
{
QString caption = caption_;
QString name = name_;
- foreach (VFolderMenu::SubMenu *subMenu, menu->subMenus) {
+ for (VFolderMenu::SubMenu *subMenu : qAsConst(menu->subMenus)) {
QString subName = name + subMenu->name + QLatin1Char('/');
QString directoryFile = subMenu->directoryFile;
@@ -355,7 +359,7 @@
if (name.isEmpty()) {
name += QLatin1Char('/');
}
- foreach (const KService::Ptr &p, menu->items) {
+ for (const KService::Ptr &p : qAsConst(menu->items)) {
if (m_menuTest) {
if (!menu->isDeleted && !p->noDisplay())
printf("%s\t%s\t%s\n", qPrintable(caption), qPrintable(p->menuId()),
@@ -513,7 +517,8 @@
//KSycocaFactory * servicetypeFactory = 0;
//KBuildMimeTypeFactory * mimeTypeFactory = 0;
KBuildServiceFactory *serviceFactory = nullptr;
- Q_FOREACH (KSycocaFactory* factory, *factories()) {
+ auto lst = *factories();
+ for (KSycocaFactory* factory : qAsConst(lst)) {
qint32 aId;
qint32 aOffset;
aId = factory->factoryId();
@@ -547,7 +552,8 @@
qCDebug(SYCOCA) << "Saving";
// Write factory data....
- Q_FOREACH (KSycocaFactory* factory, *factories()) {
+ lst = *factories();
+ for (KSycocaFactory* factory : qAsConst(lst)) {
factory->save(*str);
if (str->status() != QDataStream::Ok) { // ######## TODO: does this detect write errors, e.g. disk full?
return; // error
@@ -560,7 +566,8 @@
str->device()->seek(0);
(*str) << qint32(KSycoca::version());
- Q_FOREACH (KSycocaFactory* factory, *factories()) {
+ lst = *factories();
+ for (KSycocaFactory* factory : qAsConst(lst)) {
qint32 aId;
qint32 aOffset;
aId = factory->factoryId();
@@ -615,7 +622,7 @@
if (fi.isReadable() && fi.isFile()) {
// This was using buff.st_ctime (in Waldo's initial commit to kstandarddirs.cpp in 2001), but that looks wrong?
// Surely we want to catch manual editing, while a chmod doesn't matter much?
- hash += fi.lastModified().toTime_t();
+ hash += fi.lastModified().toSecsSinceEpoch();
}
return hash;
}
@@ -627,7 +634,7 @@
return updateHash(filename, hash);
}
const QStringList files = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, resourceSubDir + QLatin1Char('/') + filename);
- Q_FOREACH (const QString &file, files) {
+ for (const QString &file : files) {
hash = updateHash(file, hash);
}
if (hash == 0 && !filename.endsWith(QLatin1String("update_ksycoca"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/kmimeassociations.cpp new/kservice-5.57.0/src/sycoca/kmimeassociations.cpp
--- old/kservice-5.56.0/src/sycoca/kmimeassociations.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/kmimeassociations.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -54,7 +54,8 @@
QStringList mimeappsFileNames;
// make the list of possible filenames from the spec ($desktop-mimeapps.list, then mimeapps.list)
const QString desktops = QString::fromLocal8Bit(qgetenv("XDG_CURRENT_DESKTOP"));
- foreach (const QString &desktop, desktops.split(QLatin1Char(':'), QString::SkipEmptyParts)) {
+ const auto list = desktops.split(QLatin1Char(':'), QString::SkipEmptyParts);
+ for (const QString &desktop : list) {
mimeappsFileNames.append(desktop.toLower() + QLatin1String("-mimeapps.list"));
}
mimeappsFileNames.append(QStringLiteral("mimeapps.list"));
@@ -63,8 +64,8 @@
+ QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
QStringList mimeappsFiles;
// collect existing files
- foreach (const QString &dir, mimeappsDirs) {
- foreach (const QString &file, mimeappsFileNames) {
+ for (const QString &dir : mimeappsDirs) {
+ for (const QString &file : qAsConst(mimeappsFileNames)) {
const QString filePath = dir + QLatin1Char('/') + file;
if (QFile::exists(filePath)) {
mimeappsFiles.append(filePath);
@@ -105,14 +106,15 @@
{
Q_UNUSED(file) // except in debug statements
QMimeDatabase db;
- Q_FOREACH (const QString &mimeName, group.keyList()) {
+ const auto keyList = group.keyList();
+ for (const QString &mimeName : keyList) {
const QStringList services = group.readXdgListEntry(mimeName);
const QString resolvedMimeName = mimeName.startsWith(QLatin1String("x-scheme-handler/")) ? mimeName : db.mimeTypeForName(mimeName).name();
if (resolvedMimeName.isEmpty()) {
qCDebug(SYCOCA) << file << "specifies unknown mimeType" << mimeName << "in" << group.name();
} else {
int pref = basePreference;
- Q_FOREACH (const QString &service, services) {
+ for (const QString &service : services) {
KService::Ptr pService = m_serviceFactory->findServiceByStorageId(service);
if (!pService) {
qCDebug(SYCOCA) << file << "specifies unknown service" << service << "in" << group.name();
@@ -129,9 +131,10 @@
void KMimeAssociations::parseRemovedAssociations(const KConfigGroup &group, const QString &file)
{
Q_UNUSED(file) // except in debug statements
- Q_FOREACH (const QString &mime, group.keyList()) {
+ const auto keyList = group.keyList();
+ for (const QString &mime : keyList) {
const QStringList services = group.readXdgListEntry(mime);
- Q_FOREACH (const QString &service, services) {
+ for (const QString &service : services) {
KService::Ptr pService = m_serviceFactory->findServiceByStorageId(service);
if (!pService) {
//qDebug() << file << "specifies unknown service" << service << "in" << group.name();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/ksycocadict.cpp new/kservice-5.57.0/src/sycoca/ksycocadict.cpp
--- old/kservice-5.56.0/src/sycoca/ksycocadict.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/ksycocadict.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -514,7 +514,7 @@
/*qCDebug(SYCOCA) << QString("Duplicate lists: Offset = %1 list_size = %2") .arg(hashTable[i].duplicate_offset,8,16).arg(dups->count());
*/
- Q_FOREACH (string_entry* dup, *dups) {
+ for (string_entry* dup : qAsConst(*dups)) {
const qint32 offset = dup->payload->offset();
if (!offset) {
const QString storageId = dup->payload->storageId();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/ksycocafactory.cpp new/kservice-5.57.0/src/sycoca/ksycocafactory.cpp
--- old/kservice-5.56.0/src/sycoca/ksycocafactory.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/ksycocafactory.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -112,7 +112,7 @@
// Write all entries.
int entryCount = 0;
- Q_FOREACH(KSycocaEntry::Ptr entry, *m_entryDict) {
+ for(KSycocaEntry::Ptr entry : qAsConst(*m_entryDict)) {
entry->d_ptr->save(str);
entryCount++;
}
@@ -122,7 +122,7 @@
// Write indices...
// Linear index
str << qint32(entryCount);
- Q_FOREACH(KSycocaEntry::Ptr entry, *m_entryDict) {
+ for(KSycocaEntry::Ptr entry : qAsConst(*m_entryDict)) {
str << qint32(entry.data()->offset());
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/ksycocautils_p.h new/kservice-5.57.0/src/sycoca/ksycocautils_p.h
--- old/kservice-5.56.0/src/sycoca/ksycocautils_p.h 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/ksycocautils_p.h 2019-04-07 09:32:02.000000000 +0200
@@ -37,7 +37,7 @@
{
QDir dir(dirname);
const QFileInfoList list = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs, QDir::Unsorted);
- foreach (const QFileInfo &fi, list) {
+ for (const QFileInfo &fi : list) {
if (fi.isDir() && !fi.isSymLink() && !fi.isBundle()) { // same check as in vfolder_menu.cpp
if (!visitor(fi)) {
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/src/sycoca/vfolder_menu.cpp new/kservice-5.57.0/src/sycoca/vfolder_menu.cpp
--- old/kservice-5.56.0/src/sycoca/vfolder_menu.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/src/sycoca/vfolder_menu.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -114,7 +114,7 @@
void
VFolderMenu::includeItems(QHash &items1, const QHash &items2)
{
- foreach (const KService::Ptr &p, items2) {
+ for (const KService::Ptr &p : items2) {
items1.insert(p->menuId(), p);
}
}
@@ -122,7 +122,8 @@
void
VFolderMenu::matchItems(QHash &items1, const QHash &items2)
{
- foreach (const KService::Ptr &p, items1) {
+ const QHash tmpItems1 = items1;
+ for (const KService::Ptr &p : tmpItems1) {
QString id = p->menuId();
if (!items2.contains(id)) {
items1.remove(id);
@@ -133,7 +134,7 @@
void
VFolderMenu::excludeItems(QHash &items1, const QHash &items2)
{
- foreach (const KService::Ptr &p, items2) {
+ for (const KService::Ptr &p : items2) {
items1.remove(p->menuId());
}
}
@@ -226,7 +227,7 @@
const QString s2 = menuName.mid(i + 1);
// Look up menu
- foreach (SubMenu *menu, parentMenu->subMenus) {
+ for (SubMenu *menu : qAsConst(parentMenu->subMenus)) {
if (menu->name == s1) {
if (i == -1) {
mergeMenu(menu, newMenu, reversePriority);
@@ -264,7 +265,7 @@
QString s2 = name.mid(i + 1);
// Look up menu
- foreach (SubMenu *menu, parentMenu->subMenus) {
+ for (SubMenu *menu : qAsConst(parentMenu->subMenus)) {
if (menu->name == s1) {
insertService(menu, s2, newService);
return;
@@ -296,7 +297,7 @@
}
#define FOR_ALL_APPLICATIONS(it) \
- foreach (AppsInfo *info, m_appsInfoStack) \
+ for (AppsInfo *info : qAsConst(m_appsInfoStack)) \
{ \
QHashIterator it = info->applications; \
while (it.hasNext()) \
@@ -305,7 +306,7 @@
#define FOR_ALL_APPLICATIONS_END } }
#define FOR_CATEGORY(category, it) \
- foreach (AppsInfo *info, m_appsInfoStack) \
+ for (AppsInfo *info : qAsConst(m_appsInfoStack)) \
{ \
const KService::List list = info->dictCategories.value(category); \
for(KService::List::ConstIterator it = list.constBegin(); \
@@ -316,7 +317,7 @@
KService::Ptr
VFolderMenu::findApplication(const QString &relPath)
{
- foreach (AppsInfo *info, m_appsInfoStack) {
+ for (AppsInfo *info : qAsConst(m_appsInfoStack)) {
if (info->applications.contains(relPath)) {
KService::Ptr s = info->applications[relPath];
if (s) {
@@ -338,7 +339,7 @@
void
VFolderMenu::buildApplicationIndex(bool unusedOnly)
{
- foreach (AppsInfo *info, m_appsInfoList) {
+ for (AppsInfo *info : qAsConst(m_appsInfoList)) {
info->dictCategories.clear();
QMutableHashIterator it = info->applications;
while (it.hasNext()) {
@@ -349,7 +350,8 @@
continue;
}
- Q_FOREACH (const QString &cat, s->categories()) {
+ const auto categories = s->categories();
+ for (const QString &cat : categories) {
info->dictCategories[cat].append(s); // find or insert entry in hash
}
}
@@ -605,14 +607,14 @@
const bool relative = QDir::isRelativePath(dir);
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("menus/") + dir, QStandardPaths::LocateDirectory);
- Q_FOREACH (const QString &menuDir, dirs) {
+ for (const QString &menuDir : dirs) {
registerDirectory(menuDir);
}
QStringList fileList;
- Q_FOREACH (const QString &menuDir, dirs) {
+ for (const QString &menuDir : dirs) {
const QStringList fileNames = QDir(menuDir).entryList(QStringList() << QStringLiteral("*.menu"));
- Q_FOREACH (const QString &file, fileNames) {
+ for (const QString &file : fileNames) {
const QString fileToAdd = relative ? dir + file : menuDir + file;
if (!fileList.contains(fileToAdd)) {
fileList.append(fileToAdd);
@@ -620,7 +622,7 @@
}
}
- Q_FOREACH (const QString &file, fileList) {
+ for (const QString &file : qAsConst(fileList)) {
pushDocInfo(file);
mergeFile(docElem, n);
popDocInfo();
@@ -651,7 +653,8 @@
static QString makeRelative(const QString &dir)
{
const QString canonical = QDir(dir).canonicalPath();
- Q_FOREACH (const QString &base, QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("menus"), QStandardPaths::LocateDirectory)) {
+ const auto list = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("menus"), QStandardPaths::LocateDirectory);
+ for (const QString &base : list) {
if (canonical.startsWith(base)) {
return canonical.mid(base.length() + 1);
}
@@ -1044,7 +1047,7 @@
m_currentMenu = nullptr;
// Look up menu
if (parentMenu) {
- foreach (SubMenu *menu, parentMenu->subMenus) {
+ for (SubMenu *menu : qAsConst(parentMenu->subMenus)) {
if (menu->name == name) {
m_currentMenu = menu;
break;
@@ -1079,7 +1082,7 @@
} else {
// Look up menu
if (parentMenu) {
- foreach (SubMenu *menu, parentMenu->subMenus) {
+ for (SubMenu *menu : qAsConst(parentMenu->subMenus)) {
if (menu->name == name) {
m_currentMenu = menu;
break;
@@ -1366,7 +1369,7 @@
}
}
- foreach (VFolderMenu::SubMenu *subMenu, menu->subMenus) {
+ for (VFolderMenu::SubMenu *subMenu : qAsConst(menu->subMenus)) {
layoutMenu(subMenu, defaultLayout);
}
}
@@ -1374,7 +1377,7 @@
void
VFolderMenu::markUsedApplications(const QHash &items)
{
- foreach (const KService::Ptr &p, items) {
+ for (const KService::Ptr &p : items) {
m_usedAppsDict.insert(p->menuId());
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/tests/kmimeassociations_dumper.cpp new/kservice-5.57.0/tests/kmimeassociations_dumper.cpp
--- old/kservice-5.56.0/tests/kmimeassociations_dumper.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/tests/kmimeassociations_dumper.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -55,7 +55,8 @@
mimeAppsParser.parseAllMimeAppsList();
QTextStream output(stdout);
- foreach (const KServiceOffer &offer, offers.offersFor(mime)) {
+ const auto list = offers.offersFor(mime);
+ for (const KServiceOffer &offer : list) {
output << offer.service()->desktopEntryName() << " " << offer.service()->entryPath() << "\n";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kservice-5.56.0/tests/pluginlocator/plugintest.cpp new/kservice-5.57.0/tests/pluginlocator/plugintest.cpp
--- old/kservice-5.56.0/tests/pluginlocator/plugintest.cpp 2019-03-02 14:47:31.000000000 +0100
+++ new/kservice-5.57.0/tests/pluginlocator/plugintest.cpp 2019-04-07 09:32:02.000000000 +0200
@@ -106,7 +106,7 @@
int unitDiv = 1000;
QString unit = QStringLiteral("microsec");
int i = 0;
- foreach (qint64 t, timings) {
+ for (qint64 t : timings) {
int msec = t / 1000000;
qDebug() << " Run " << i << ": " << msec << " msec";
totalTime += t;
@@ -146,10 +146,10 @@
bool ok = false;
QString pluginName("time");
QString constraint = QStringLiteral("[X-KDE-PluginInfo-Name] == '%1'").arg(pluginName);
- KPluginInfo::List res = KPluginTrader::self()->query(QStringLiteral("kf5"), serviceType, QString());
+ const KPluginInfo::List res = KPluginTrader::self()->query(QStringLiteral("kf5"), serviceType, QString());
qDebug() << "----------- Found " << res.count() << " Plugins" << constraint;
ok = res.count() > 0;
- foreach (const KPluginInfo &info, res) {
+ for (const KPluginInfo &info : res) {
qDebug() << " file: " << info.libraryPath();
}
@@ -180,10 +180,10 @@
<< QStringLiteral("5000");
QStringList datadirs;
- foreach (const QString &_s, sizes) {
+ for (const QString &_s : sizes) {
datadirs << pluginDir + _s;
}
- foreach (const QString &subdir, datadirs) {
+ for (const QString &subdir : qAsConst(datadirs)) {
const QString pluginName;
const QString constraint;
const QString serviceType;