diff options
author | Robert Griebl <robert.griebl@qt.io> | 2023-07-28 20:22:09 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2023-08-01 16:26:44 +0200 |
commit | ee3c0d8a8bef373c53ff81000fe6332621985d05 (patch) | |
tree | 000de8d83968768c2e05c2991ba1aba78cf8dd19 | |
parent | b9da654356d10bdc96b3f6e0ea9cf908157a667f (diff) |
Clang-Tidy / Clazy warnings and modernization
Change-Id: Iafd5fbd3636068caa36f11e121233c5732f7a545
Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
45 files changed, 109 insertions, 119 deletions
diff --git a/src/application-lib/applicationinfo.h b/src/application-lib/applicationinfo.h index 8cd889d6..40e36ed2 100644 --- a/src/application-lib/applicationinfo.h +++ b/src/application-lib/applicationinfo.h @@ -24,6 +24,7 @@ class ApplicationInfo { public: ApplicationInfo(PackageInfo *packageInfo); + ~ApplicationInfo() = default; static quint32 dataStreamVersion(); @@ -86,7 +87,7 @@ private: friend class InstallationTask; // needed to set m_uid and m_builtin during the installation friend class YamlPackageScanner; - Q_DISABLE_COPY(ApplicationInfo) + Q_DISABLE_COPY_MOVE(ApplicationInfo) }; QT_END_NAMESPACE_AM diff --git a/src/application-lib/applicationinterface.h b/src/application-lib/applicationinterface.h index 05685d69..c2fbf533 100644 --- a/src/application-lib/applicationinterface.h +++ b/src/application-lib/applicationinterface.h @@ -24,6 +24,8 @@ class ApplicationInterface : public QObject Q_PROPERTY(QVariantMap applicationProperties READ applicationProperties CONSTANT SCRIPTABLE true FINAL) public: + ~ApplicationInterface() override = default; + virtual QString applicationId() const = 0; virtual QVariantMap name() const = 0; virtual QUrl icon() const = 0; @@ -51,7 +53,7 @@ protected: { } private: - Q_DISABLE_COPY(ApplicationInterface) + Q_DISABLE_COPY_MOVE(ApplicationInterface) }; QT_END_NAMESPACE_AM diff --git a/src/application-lib/intentinfo.cpp b/src/application-lib/intentinfo.cpp index a6a611b0..700f9511 100644 --- a/src/application-lib/intentinfo.cpp +++ b/src/application-lib/intentinfo.cpp @@ -16,9 +16,6 @@ IntentInfo::IntentInfo(PackageInfo *packageInfo) : m_packageInfo(packageInfo) { } -IntentInfo::~IntentInfo() -{ } - QString IntentInfo::id() const { return m_id; diff --git a/src/application-lib/intentinfo.h b/src/application-lib/intentinfo.h index 797e9a76..338b236c 100644 --- a/src/application-lib/intentinfo.h +++ b/src/application-lib/intentinfo.h @@ -23,7 +23,7 @@ class IntentInfo { public: IntentInfo(PackageInfo *packageInfo); - ~IntentInfo(); + ~IntentInfo() = default; static quint32 dataStreamVersion(); @@ -65,7 +65,7 @@ private: bool m_handleOnlyWhenRunning = false; friend class YamlPackageScanner; - Q_DISABLE_COPY(IntentInfo) + Q_DISABLE_COPY_MOVE(IntentInfo) }; QT_END_NAMESPACE_AM diff --git a/src/application-lib/packagedatabase.cpp b/src/application-lib/packagedatabase.cpp index 962f001a..b7e5376f 100644 --- a/src/application-lib/packagedatabase.cpp +++ b/src/application-lib/packagedatabase.cpp @@ -9,7 +9,6 @@ #include "packagedatabase.h" #include "packageinfo.h" #include "yamlpackagescanner.h" -#include "applicationinfo.h" #include "installationreport.h" #include "exception.h" #include "logging.h" diff --git a/src/application-lib/packagedatabase.h b/src/application-lib/packagedatabase.h index b09b6862..38394d6c 100644 --- a/src/application-lib/packagedatabase.h +++ b/src/application-lib/packagedatabase.h @@ -24,7 +24,7 @@ public: PackageDatabase(const QStringList &builtInPackagesDirs, const QString &installedPackagesDir = QString(), const QString &installedPackagesMountPoint = QString()); PackageDatabase(const QString &singlePackagePath); - ~PackageDatabase(); + ~PackageDatabase() override; enum PackageLocation { None = 0x0, Builtin = 0x01, Installed = 0x02, All = 0x03 }; Q_DECLARE_FLAGS(PackageLocations, PackageLocation) @@ -49,7 +49,7 @@ signals: void installedPackagesParsed(); private: - Q_DISABLE_COPY(PackageDatabase) + Q_DISABLE_COPY_MOVE(PackageDatabase) bool builtInHasRemovableUpdate(PackageInfo *packageInfo) const; QStringList findManifestsInDir(const QDir &manifestDir, bool scanningBuiltInApps); diff --git a/src/application-lib/packageinfo.cpp b/src/application-lib/packageinfo.cpp index a47ed750..e1f98949 100644 --- a/src/application-lib/packageinfo.cpp +++ b/src/application-lib/packageinfo.cpp @@ -181,7 +181,7 @@ PackageInfo *PackageInfo::readFromDataStream(QDataStream &ds) if (!serializedReport.isEmpty()) { QBuffer buffer(&serializedReport); buffer.open(QBuffer::ReadOnly); - pkg->m_installationReport.reset(new InstallationReport(pkg->id())); + pkg->m_installationReport = std::make_unique<InstallationReport>(pkg->id()); try { pkg->m_installationReport->deserialize(&buffer); } catch (...) { @@ -189,7 +189,7 @@ PackageInfo *PackageInfo::readFromDataStream(QDataStream &ds) } } - int applicationsSize; + int applicationsSize = 0; ds >> applicationsSize; while (--applicationsSize >= 0) { if (auto app = ApplicationInfo::readFromDataStream(pkg.get(), ds)) @@ -198,7 +198,7 @@ PackageInfo *PackageInfo::readFromDataStream(QDataStream &ds) return nullptr; } - int intentsSize; + int intentsSize = 0; ds >> intentsSize; while (--intentsSize >= 0) { if (auto intent = IntentInfo::readFromDataStream(pkg.get(), ds)) diff --git a/src/application-lib/packageinfo.h b/src/application-lib/packageinfo.h index 3a0ebb81..0ed789d0 100644 --- a/src/application-lib/packageinfo.h +++ b/src/application-lib/packageinfo.h @@ -84,7 +84,7 @@ private: friend class YamlPackageScanner; friend class InstallationTask; - Q_DISABLE_COPY(PackageInfo) + Q_DISABLE_COPY_MOVE(PackageInfo) }; QT_END_NAMESPACE_AM diff --git a/src/application-lib/packagescanner.h b/src/application-lib/packagescanner.h index 5a08e903..5d511554 100644 --- a/src/application-lib/packagescanner.h +++ b/src/application-lib/packagescanner.h @@ -25,7 +25,7 @@ protected: PackageScanner() = default; private: - Q_DISABLE_COPY(PackageScanner) + Q_DISABLE_COPY_MOVE(PackageScanner) }; QT_END_NAMESPACE_AM diff --git a/src/application-lib/yamlpackagescanner.cpp b/src/application-lib/yamlpackagescanner.cpp index f092172b..b97b76c5 100644 --- a/src/application-lib/yamlpackagescanner.cpp +++ b/src/application-lib/yamlpackagescanner.cpp @@ -24,9 +24,6 @@ QT_BEGIN_NAMESPACE_AM -YamlPackageScanner::YamlPackageScanner() -{ } - PackageInfo *YamlPackageScanner::scan(const QString &fileName) Q_DECL_NOEXCEPT_EXPR(false) { QFile f(fileName); diff --git a/src/application-lib/yamlpackagescanner.h b/src/application-lib/yamlpackagescanner.h index a47ddc53..b9663a48 100644 --- a/src/application-lib/yamlpackagescanner.h +++ b/src/application-lib/yamlpackagescanner.h @@ -14,7 +14,7 @@ QT_BEGIN_NAMESPACE_AM class YamlPackageScanner : public PackageScanner { public: - YamlPackageScanner(); + YamlPackageScanner() = default; PackageInfo *scan(const QString &filePath) Q_DECL_NOEXCEPT_EXPR(false) override; PackageInfo *scan(QIODevice *source, const QString &filePath) Q_DECL_NOEXCEPT_EXPR(false) override; diff --git a/src/common-lib/configcache.cpp b/src/common-lib/configcache.cpp index ed5cbf65..9ce3b8a3 100644 --- a/src/common-lib/configcache.cpp +++ b/src/common-lib/configcache.cpp @@ -14,12 +14,11 @@ #include "configcache.h" #include "configcache_p.h" -#include "utilities.h" #include "exception.h" #include "logging.h" // use QtConcurrent to parse the files, if there are more than x files -#define AM_PARALLEL_THRESHOLD 1 +constexpr int AM_PARALLEL_THRESHOLD = 1; QT_BEGIN_NAMESPACE_AM @@ -228,11 +227,11 @@ void AbstractConfigCache::parse() // if we already got this file in the cache, then use the entry bool found = false; - for (auto it = cache.cbegin(); it != cache.cend(); ++it) { - if ((it->filePath == rawFilePath) && it->content) { - ce = *it; + for (const auto &c : std::as_const(cache)) { + if ((c.filePath == rawFilePath) && c.content) { + ce = c; found = true; - qCDebug(LogCache) << d->cacheBaseName << "found cache entry for" << it->filePath; + qCDebug(LogCache) << d->cacheBaseName << "found cache entry for" << c.filePath; break; } } @@ -321,8 +320,7 @@ void AbstractConfigCache::parse() if (d->options & MergedResult) { // we cannot parallelize this step, since subsequent config files can overwrite // or append to values - for (int i = 0; i < cache.size(); ++i) { - ConfigCacheEntry &ce = cache[i]; + for (const ConfigCacheEntry &ce : std::as_const(cache)) { if (ce.content) { if (!mergedContent) mergedContent = clone(ce.content); @@ -351,8 +349,7 @@ void AbstractConfigCache::parse() cacheHeader.entries = quint32(cache.size()); ds << cacheHeader; - for (int i = 0; i < cache.size(); ++i) { - const ConfigCacheEntry &ce = cache.at(i); + for (const ConfigCacheEntry &ce : std::as_const(cache)) { ds << ce; // qCDebug(LogCache) << "SAVING" << ce << ce.content; if (ce.content) diff --git a/src/common-lib/configcache.h b/src/common-lib/configcache.h index b6745e3b..e6b97b78 100644 --- a/src/common-lib/configcache.h +++ b/src/common-lib/configcache.h @@ -66,7 +66,7 @@ protected: virtual void destruct(void *t) = 0; private: - Q_DISABLE_COPY(AbstractConfigCache) + Q_DISABLE_COPY_MOVE(AbstractConfigCache) ConfigCachePrivate *d; }; @@ -82,7 +82,7 @@ public: : AbstractConfigCache(configFiles, cacheBaseName, typeId, typeVersion, options) { } - ~ConfigCache() + ~ConfigCache() override { clear(); } @@ -121,15 +121,17 @@ protected: void destruct(void *t) override { delete static_cast<T *>(t); } +private: ADAPTOR m_adaptor; -private: template <typename U = T> typename std::enable_if<std::is_copy_constructible<U>::value, void *>::type doClone(T *t) { return new T(*static_cast<T *>(t)); } template <typename U = T> typename std::enable_if<!std::is_copy_constructible<U>::value, void *>::type doClone(T *) { Q_ASSERT_X(false, "ConfigCache::clone", "trying to clone non-copy-constructible content"); return nullptr; } + + Q_DISABLE_COPY_MOVE(ConfigCache) }; Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractConfigCache::Options) diff --git a/src/common-lib/crashhandler.cpp b/src/common-lib/crashhandler.cpp index 466c25ea..45cf14de 100644 --- a/src/common-lib/crashhandler.cpp +++ b/src/common-lib/crashhandler.cpp @@ -3,7 +3,7 @@ // Copyright (C) 2018 Pelagicore AG // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only -#include <inttypes.h> +#include <cinttypes> #include <typeinfo> #if defined(QT_QML_LIB) @@ -280,11 +280,11 @@ QT_END_NAMESPACE_AM # include <sys/syscall.h> # endif # include <cxxabi.h> -# include <setjmp.h> -# include <signal.h> +# include <csetjmp> +# include <csignal> # include <pthread.h> -# include <stdio.h> -# include <stdlib.h> +# include <cstdio> +# include <cstdlib> # if defined(AM_USE_LIBBACKTRACE) # include <libbacktrace/backtrace.h> @@ -336,7 +336,7 @@ static void initBacktraceUnix() const char *typeName = type->name(); if (typeName) { - int status; + int status = 1; chg()->demangleBuffer = abi::__cxa_demangle(typeName, chg()->demangleBuffer, &chg()->demangleBufferSize, &status); if (status == 0 && *chg()->demangleBuffer) { @@ -437,7 +437,7 @@ static void logCrashInfo(LogToDestination logTo, const char *why, int stackFrame const char *name = nullptr; if (symname) { - int status; + int status = 1; chg()->demangleBuffer = abi::__cxa_demangle(symname, chg()->demangleBuffer, &chg()->demangleBufferSize, &status); name = (status == 0 && *chg()->demangleBuffer) ? chg()->demangleBuffer : symname; @@ -450,7 +450,7 @@ static void logCrashInfo(LogToDestination logTo, const char *why, int stackFrame auto btdata = static_cast<btData *>(data); if (function) { - int status; + int status = 1; chg()->demangleBuffer = abi::__cxa_demangle(function, chg()->demangleBuffer, &chg()->demangleBufferSize, &status); diff --git a/src/common-lib/filesystemmountwatcher.cpp b/src/common-lib/filesystemmountwatcher.cpp index 9a33f443..40e3d0b6 100644 --- a/src/common-lib/filesystemmountwatcher.cpp +++ b/src/common-lib/filesystemmountwatcher.cpp @@ -31,12 +31,12 @@ public: if (m_procMountsFd >= 0) { m_procMountsNotifier = new QSocketNotifier(m_procMountsFd, QSocketNotifier::Exception); QObject::connect(m_procMountsNotifier, &QSocketNotifier::activated, - [this]() { mountsChanged(); }); + m_procMountsNotifier, [this]() { mountsChanged(); }); } } else { m_autoTestMountTabWatcher = new QFileSystemWatcher({ QString::fromLocal8Bit(s_mountTabFile) }); QObject::connect(m_autoTestMountTabWatcher, &QFileSystemWatcher::fileChanged, - [this]() { mountsChanged(); }); + m_autoTestMountTabWatcher, [this]() { mountsChanged(); }); } #endif } diff --git a/src/common-lib/qtyaml.cpp b/src/common-lib/qtyaml.cpp index 2d64a3c9..bc1e8107 100644 --- a/src/common-lib/qtyaml.cpp +++ b/src/common-lib/qtyaml.cpp @@ -34,7 +34,7 @@ static void emitYamlScalar(yaml_emitter_t *e, const QByteArray &ba, bool quoting nullptr, nullptr, reinterpret_cast<yaml_char_t *>(const_cast<char *>(ba.constData())), - ba.size(), + int(ba.size()), 1, 1, quoting ? YAML_SINGLE_QUOTED_SCALAR_STYLE : YAML_ANY_SCALAR_STYLE)); @@ -558,7 +558,7 @@ static QString mapEventNames(const QVector<yaml_event_type_t> &events) names.append(qL1S(eventNames.value(events.at(i), "<unknown>"))); } return names; -}; +} void YamlParser::parseFields(const std::vector<Field> &fields) { @@ -581,7 +581,7 @@ void YamlParser::parseFields(const std::vector<Field> &fields) auto field = fields.cbegin(); for (; field != fields.cend(); ++field) { - if (key == qL1S(field->name)) + if (key == QString::fromLatin1(field->name)) break; } if (field == fields.cend()) @@ -632,10 +632,10 @@ YamlParserException::YamlParserException(YamlParser *p, const char *errorString) yaml_mark_t &mark = isProblem ? p->d->parser.problem_mark : p->d->parser.mark; QString context = QString::fromUtf8(p->d->data); - int lpos = context.lastIndexOf(qL1C('\n'), int(mark.index ? mark.index - 1 : 0)); - int rpos = context.indexOf(qL1C('\n'), int(mark.index)); + qsizetype lpos = context.lastIndexOf(qL1C('\n'), qsizetype(mark.index ? mark.index - 1 : 0)); + qsizetype rpos = context.indexOf(qL1C('\n'), qsizetype(mark.index)); context = context.mid(lpos + 1, rpos == -1 ? context.size() : rpos - lpos - 1); - int contextPos = int(mark.index) - (lpos + 1); + qsizetype contextPos = qsizetype(mark.index) - (lpos + 1); m_errorString.append(qSL(":\nfile://%1:%2:%3: error").arg(p->sourcePath()).arg(mark.line + 1).arg(mark.column + 1)); if (errorString) diff --git a/src/common-lib/qtyaml.h b/src/common-lib/qtyaml.h index 85895256..1e4c414f 100644 --- a/src/common-lib/qtyaml.h +++ b/src/common-lib/qtyaml.h @@ -47,8 +47,6 @@ private: QString m_errorString; }; -QVector<QVariant> variantDocumentsFromYaml(const QByteArray &yaml, ParseError *error = nullptr); - enum YamlStyle { FlowStyle, BlockStyle }; QByteArray yamlFromVariantDocuments(const QVector<QVariant> &maps, YamlStyle style = BlockStyle); @@ -112,7 +110,7 @@ public: void parseFields(const Fields &fields); private: - Q_DISABLE_COPY(YamlParser) + Q_DISABLE_COPY_MOVE(YamlParser) QString parseMapKey(); diff --git a/src/common-lib/startuptimer.cpp b/src/common-lib/startuptimer.cpp index bdcb47e3..2f2432ea 100644 --- a/src/common-lib/startuptimer.cpp +++ b/src/common-lib/startuptimer.cpp @@ -11,7 +11,7 @@ # include <io.h> # define isatty _isatty #elif defined(Q_OS_LINUX) -# include <time.h> +# include <ctime> # include <qplatformdefs.h> # include <sys/syscall.h> # include <sys/sysinfo.h> @@ -64,7 +64,7 @@ #color-orange { color: #b26818 } #color-blue { background-color: #5454ff; color: #000000 } </style> - <pre> + <pre class="cpp plain"> <span id="color-orange">== STARTUP TIMING REPORT: System UI ==</span> <span id="color-green">0'110.001</span> entered main <span id="color-blue"> </span> <span id="color-green">0'110.015</span> after basic initialization <span id="color-blue"> </span> @@ -166,7 +166,7 @@ static SplitSeconds splitMicroSecs(quint64 micros) micros %= (1000 * 1000); } ss.msec = int(micros / 1000); - ss.usec = micros % 1000; + ss.usec = int(micros % 1000); return ss; } @@ -242,7 +242,7 @@ StartupTimer::StartupTimer() return result; }; - quint32 threadJiffies; + quint32 threadJiffies = 0; pthread_t pt; void *threadJiffiesOk = nullptr; @@ -415,23 +415,21 @@ void StartupTimer::createReport(const QString &title) static const int barCols = 60; - quint64 delta = m_checkpoints.isEmpty() ? 0 : m_checkpoints.last().first; - qreal usecPerCell = delta / barCols; + quint64 delta = m_checkpoints.isEmpty() ? 0 : m_checkpoints.constLast().first; + quint64 usecPerCell = delta ? (delta / barCols) : 1; - int maxTextLen = 0; - for (int i = 0; i < m_checkpoints.size(); ++i) { - int textLen = m_checkpoints.at(i).second.length(); + qsizetype maxTextLen = 0; + for (const auto &cp : std::as_const(m_checkpoints)) { + qsizetype textLen = cp.second.length(); if (textLen > maxTextLen) maxTextLen = textLen; } - for (int i = 0; i < m_checkpoints.size(); ++i) { - quint64 usec = m_checkpoints.at(i).first; - const QByteArray text = m_checkpoints.at(i).second; - int cells = int(usec / usecPerCell); + for (const auto &[usecTotal, text] : std::as_const(m_checkpoints)) { + auto cells = qsizetype(usecTotal / usecPerCell); QByteArray bar(cells, ansiColorSupport ? ' ' : '#'); QByteArray spacing(maxTextLen - text.length(), ' '); - SplitSeconds ss = splitMicroSecs(usec); + SplitSeconds ss = splitMicroSecs(usecTotal); constexpr const char *plainFormat = "%d'%03d.%03d %s %s#%s\n"; constexpr const char *colorFormat = "\033[32m%d'%03d.%03d\033[0m %s %s\033[44m %s\033[0m\n"; diff --git a/src/common-lib/startuptimer.h b/src/common-lib/startuptimer.h index 2cc4a567..de701163 100644 --- a/src/common-lib/startuptimer.h +++ b/src/common-lib/startuptimer.h @@ -23,7 +23,7 @@ class StartupTimer : public QObject public: static StartupTimer *instance(); - ~StartupTimer(); + ~StartupTimer() override; Q_INVOKABLE void checkpoint(const QString &name); Q_INVOKABLE void createReport(const QString &title = QString()); @@ -58,7 +58,7 @@ private: QElapsedTimer m_timer; QVector<QPair<quint64, QByteArray>> m_checkpoints; - Q_DISABLE_COPY(StartupTimer) + Q_DISABLE_COPY_MOVE(StartupTimer) }; QT_END_NAMESPACE_AM diff --git a/src/common-lib/unixsignalhandler.cpp b/src/common-lib/unixsignalhandler.cpp index 0602d6c6..dd43e85f 100644 --- a/src/common-lib/unixsignalhandler.cpp +++ b/src/common-lib/unixsignalhandler.cpp @@ -9,7 +9,7 @@ #include <QSocketNotifier> #include <QCoreApplication> -#include <errno.h> +#include <cerrno> #if defined(Q_OS_WIN) # include <windows.h> @@ -148,7 +148,7 @@ bool UnixSignalHandler::install(Type handlerType, const std::initializer_list<in int sig = 0; if (read(m_pipe[0], &sig, sizeof(int)) != sizeof(int)) { - qCWarning(LogSystem) << "Error reading from signal handler:" << strerror(errno);; + qCWarning(LogSystem) << "Error reading from signal handler:" << strerror(errno); return; } diff --git a/src/common-lib/unixsignalhandler.h b/src/common-lib/unixsignalhandler.h index 94d36f7f..455366ee 100644 --- a/src/common-lib/unixsignalhandler.h +++ b/src/common-lib/unixsignalhandler.h @@ -62,13 +62,9 @@ private: std::list<SigHandler> m_handlers; // we're using STL to avoid (accidental) implicit copies int m_currentSignal = 0; -#if defined(Q_ATOMIC_INT64_IS_SUPPORTED) // 64 bits are currently enough to map all Linux signals - typedef quint64 am_sigmask_t; -#else - // 32 bits are sufficient for Win32 (which does not support 64 bit atomics) - typedef quint32 am_sigmask_t; -#endif + using am_sigmask_t = quint64; + static am_sigmask_t am_sigmask(int sig); QAtomicInteger<am_sigmask_t> m_resetSignalMask; #if defined(Q_OS_UNIX) diff --git a/src/common-lib/utilities.cpp b/src/common-lib/utilities.cpp index 7c4e4282..be40c40a 100644 --- a/src/common-lib/utilities.cpp +++ b/src/common-lib/utilities.cpp @@ -17,7 +17,7 @@ #include "utilities.h" #include "exception.h" -#include <errno.h> +#include <cerrno> #if defined(Q_OS_UNIX) # include <unistd.h> @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE_AM YamlFormat checkYamlFormat(const QVector<QVariant> &docs, int numberOfDocuments, const QVector<YamlFormat> &formatTypesAndVersions) Q_DECL_NOEXCEPT_EXPR(false) { - int actualSize = docs.size(); + qsizetype actualSize = docs.size(); if (actualSize < 1) throw Exception("no header YAML document found"); @@ -220,18 +220,19 @@ bool recursiveOperation(const QDir &path, const std::function<bool (const QStrin QVector<QObject *> loadPlugins_helper(const char *type, const QStringList &files, const char *iid) Q_DECL_NOEXCEPT_EXPR(false) { QVector<QObject *> interfaces; + interfaces.reserve(files.size()); try { for (const QString &pluginFilePath : files) { QPluginLoader pluginLoader(pluginFilePath); if (Q_UNLIKELY(!pluginLoader.load())) { throw Exception("could not load %1 plugin %2: %3") - .arg(qL1S(type)).arg(pluginFilePath, pluginLoader.errorString()); + .arg(type).arg(pluginFilePath, pluginLoader.errorString()); } std::unique_ptr<QObject> iface(pluginLoader.instance()); if (Q_UNLIKELY(!iface || !iface->qt_metacast(iid))) { throw Exception("could not get an instance of '%1' from the %2 plugin %3") - .arg(qL1S(iid)).arg(qL1S(type)).arg(pluginFilePath); + .arg(iid).arg(type).arg(pluginFilePath); } interfaces << iface.release(); } @@ -246,10 +247,10 @@ void recursiveMergeVariantMap(QVariantMap &into, const QVariantMap &from) { // no auto allowed, since this is a recursive lambda std::function<void(QVariantMap *, const QVariantMap &)> recursiveMergeMap = - [&recursiveMergeMap](QVariantMap *into, const QVariantMap &from) { - for (auto it = from.constBegin(); it != from.constEnd(); ++it) { + [&recursiveMergeMap](QVariantMap *innerInto, const QVariantMap &innerFrom) { + for (auto it = innerFrom.constBegin(); it != innerFrom.constEnd(); ++it) { QVariant fromValue = it.value(); - QVariant &toValue = (*into)[it.key()]; + QVariant &toValue = (*innerInto)[it.key()]; bool needsMerge = (toValue.metaType() == fromValue.metaType()); @@ -257,9 +258,9 @@ void recursiveMergeVariantMap(QVariantMap &into, const QVariantMap &from) if (needsMerge && (toValue.metaType() == QMetaType::fromType<QVariantMap>())) recursiveMergeMap(qt6_v_cast<QVariantMap>(&toValue.data_ptr()), fromValue.toMap()); else if (needsMerge && (toValue.metaType() == QMetaType::fromType<QVariantList>())) - into->insert(it.key(), toValue.toList() + fromValue.toList()); + innerInto->insert(it.key(), toValue.toList() + fromValue.toList()); else - into->insert(it.key(), fromValue); + innerInto->insert(it.key(), fromValue); } }; recursiveMergeMap(&into, from); @@ -307,7 +308,7 @@ void loadResource(const QString &resource) Q_DECL_NOEXCEPT_EXPR(false) return; errors.append(libd.errorString()); } - throw Exception("Failed to load resource %1:\n * %2").arg(resource).arg(errors.join(qL1S("\n * "))); + throw Exception("Failed to load resource %1:\n * %2").arg(resource).arg(errors.join(qSL("\n * "))); } void closeAndClearFileDescriptors(QVector<int> &fdList) diff --git a/src/common-lib/utilities.h b/src/common-lib/utilities.h index b803500e..9bd60f77 100644 --- a/src/common-lib/utilities.h +++ b/src/common-lib/utilities.h @@ -58,7 +58,7 @@ inline QString urlToLocalFilePath(const QUrl &url) return url.toLocalFile(); else if (url.scheme() == qSL("qrc")) return qL1C(':') + url.path(); - return QString(); + return { }; } inline QString toAbsoluteFilePath(const QString &path, const QString &baseDir = QDir::currentPath()) diff --git a/src/crypto-lib/signature.h b/src/crypto-lib/signature.h index 85614272..58d03f13 100644 --- a/src/crypto-lib/signature.h +++ b/src/crypto-lib/signature.h @@ -25,7 +25,7 @@ public: private: SignaturePrivate *d; - Q_DISABLE_COPY(Signature) + Q_DISABLE_COPY_MOVE(Signature) }; QT_END_NAMESPACE_AM diff --git a/src/intent-client-lib/intentclient.h b/src/intent-client-lib/intentclient.h index db5ed3be..be0f374a 100644 --- a/src/intent-client-lib/intentclient.h +++ b/src/intent-client-lib/intentclient.h @@ -67,7 +67,7 @@ private: private: IntentClient(IntentClientSystemInterface *systemInterface, QObject *parent = nullptr); - Q_DISABLE_COPY(IntentClient) + Q_DISABLE_COPY_MOVE(IntentClient) static IntentClient *s_instance; QList<QPointer<IntentClientRequest>> m_waiting; diff --git a/src/intent-client-lib/intentclientrequest.h b/src/intent-client-lib/intentclientrequest.h index d2205fdd..f0aa098c 100644 --- a/src/intent-client-lib/intentclientrequest.h +++ b/src/intent-client-lib/intentclientrequest.h @@ -88,7 +88,7 @@ private: bool m_finished = false; bool m_broadcast = false; - Q_DISABLE_COPY(IntentClientRequest) + Q_DISABLE_COPY_MOVE(IntentClientRequest) friend class IntentClient; }; diff --git a/src/intent-client-lib/intenthandler.h b/src/intent-client-lib/intenthandler.h index ddef6168..85a94746 100644 --- a/src/intent-client-lib/intenthandler.h +++ b/src/intent-client-lib/intenthandler.h @@ -41,7 +41,7 @@ protected: bool isComponentCompleted() const; private: - Q_DISABLE_COPY(AbstractIntentHandler) + Q_DISABLE_COPY_MOVE(AbstractIntentHandler) QStringList m_intentIds; bool m_completed = false; @@ -57,7 +57,7 @@ public: IntentHandler(QObject *parent = nullptr); private: - Q_DISABLE_COPY(IntentHandler) + Q_DISABLE_COPY_MOVE(IntentHandler) }; QT_END_NAMESPACE_AM diff --git a/src/intent-server-lib/intentserver.h b/src/intent-server-lib/intentserver.h index 654dc8d1..aff705a9 100644 --- a/src/intent-server-lib/intentserver.h +++ b/src/intent-server-lib/intentserver.h @@ -111,7 +111,7 @@ private: private: IntentServer(IntentServerSystemInterface *systemInterface, QObject *parent = nullptr); - Q_DISABLE_COPY(IntentServer) + Q_DISABLE_COPY_MOVE(IntentServer) static IntentServer *s_instance; static QHash<int, QByteArray> s_roleNames; diff --git a/src/launcher-lib/launchermain.h b/src/launcher-lib/launchermain.h index 3afa9cc1..9d00d3e0 100644 --- a/src/launcher-lib/launchermain.h +++ b/src/launcher-lib/launchermain.h @@ -61,7 +61,7 @@ signals: private: static LauncherMain *s_instance; - Q_DISABLE_COPY(LauncherMain) + Q_DISABLE_COPY_MOVE(LauncherMain) QVariantMap m_configuration; QString m_baseDir; diff --git a/src/main-lib/windowframetimer.cpp b/src/main-lib/windowframetimer.cpp index 495e66ac..8f260c11 100644 --- a/src/main-lib/windowframetimer.cpp +++ b/src/main-lib/windowframetimer.cpp @@ -68,8 +68,10 @@ void WindowFrameTimer::connectToWaylandSurface() disconnectFromWaylandSurface(); m_waylandSurface = waylandWindow->waylandSurface(); - if (m_waylandSurface) - connect(m_waylandSurface, &QWaylandQuickSurface::redraw, this, &WindowFrameTimer::newFrame, Qt::UniqueConnection); + if (m_waylandSurface) { + connect(m_waylandSurface, &QWaylandQuickSurface::redraw, + this, &WindowFrameTimer::newFrame, Qt::UniqueConnection); + } } void WindowFrameTimer::disconnectFromWaylandSurface() diff --git a/src/manager-lib/installationtask.cpp b/src/manager-lib/installationtask.cpp index f7bf28d5..f709215a 100644 --- a/src/manager-lib/installationtask.cpp +++ b/src/manager-lib/installationtask.cpp @@ -84,7 +84,7 @@ public: recursiveOperation(path(), safeRemove); } private: - Q_DISABLE_COPY(TemporaryDir) + Q_DISABLE_COPY_MOVE(TemporaryDir) }; diff --git a/src/manager-lib/intentaminterface.h b/src/manager-lib/intentaminterface.h index 0b5195d6..e117c6ad 100644 --- a/src/manager-lib/intentaminterface.h +++ b/src/manager-lib/intentaminterface.h @@ -204,7 +204,7 @@ protected: void componentComplete() override; private: - Q_DISABLE_COPY(IntentServerHandler) + Q_DISABLE_COPY_MOVE(IntentServerHandler) Intent *m_intent = nullptr; // DRY: just a container for our otherwise needed members vars QVector<Intent *> m_registeredIntents; }; diff --git a/src/manager-lib/notificationmanager.cpp b/src/manager-lib/notificationmanager.cpp index fc0ddc0d..2dbe4516 100644 --- a/src/manager-lib/notificationmanager.cpp +++ b/src/manager-lib/notificationmanager.cpp @@ -595,7 +595,10 @@ uint NotificationManager::notifyHelper(const QString &app_name, uint id, bool re if (timeout > 0) { delete n->timer; QTimer *t = new QTimer(this); - connect(t, &QTimer::timeout, [this,id,t]() { d->closeNotification(id, TimeoutExpired); t->deleteLater(); }); + connect(t, &QTimer::timeout, + this, [this, id, t]() { + d->closeNotification(id, TimeoutExpired); t->deleteLater(); + }); t->start(timeout); n->timer = t; } diff --git a/src/manager-lib/scopeutilities.h b/src/manager-lib/scopeutilities.h index 4d298864..e2bbba10 100644 --- a/src/manager-lib/scopeutilities.h +++ b/src/manager-lib/scopeutilities.h @@ -25,7 +25,7 @@ public: QDir dir(); private: - Q_DISABLE_COPY(ScopedDirectoryCreator) + Q_DISABLE_COPY_MOVE(ScopedDirectoryCreator) QString m_path; bool m_created = false; @@ -55,7 +55,7 @@ public: private: bool interalUndoRename(); static bool internalRename(const QDir &dir, const QString &from, const QString &to); - Q_DISABLE_COPY(ScopedRenamer) + Q_DISABLE_COPY_MOVE(ScopedRenamer) QDir m_basePath; QString m_name; Modes m_requested; diff --git a/src/manager-lib/sudo.h b/src/manager-lib/sudo.h index 3ac618fb..7252bf18 100644 --- a/src/manager-lib/sudo.h +++ b/src/manager-lib/sudo.h @@ -54,7 +54,7 @@ protected: protected: SudoInterface(); private: - Q_DISABLE_COPY(SudoInterface) + Q_DISABLE_COPY_MOVE(SudoInterface) }; class SudoServer; diff --git a/src/monitor-lib/sysfsreader.h b/src/monitor-lib/sysfsreader.h index fe94bae2..78234069 100644 --- a/src/monitor-lib/sysfsreader.h +++ b/src/monitor-lib/sysfsreader.h @@ -25,7 +25,7 @@ private: QByteArray m_path; mutable QByteArray m_buffer; - Q_DISABLE_COPY(SysFsReader) + Q_DISABLE_COPY_MOVE(SysFsReader) }; QT_END_NAMESPACE_AM diff --git a/src/monitor-lib/systemreader.cpp b/src/monitor-lib/systemreader.cpp index 3f27404f..10993c76 100644 --- a/src/monitor-lib/systemreader.cpp +++ b/src/monitor-lib/systemreader.cpp @@ -344,7 +344,6 @@ qreal IoReader::readLoadValue() QByteArray str = m_sysFs->readValue(); int pos = 0; - int total = 0; QVector<qint64> values; while (pos < str.size() && values.size() < 11) { @@ -356,7 +355,6 @@ qreal IoReader::readLoadValue() char *endPtr = nullptr; qint64 val = strtoll(str.constData() + pos, &endPtr, 10); // check missing for over-/underflow values << val; - total += val; pos = int(endPtr - str.constData() + 1); } @@ -476,19 +474,16 @@ bool MemoryThreshold::setEnabled(bool enabled, const QString &groupPath, MemoryR void MemoryThreshold::readEventFd() { if (m_eventFd >= 0) { - int handled = 0; quint64 counter; ssize_t r = QT_READ(m_eventFd, &counter, sizeof(counter)); - if (r == sizeof(counter)) { - handled++; - } else if (r < 0) { + if (r < 0) { if (errno == EWOULDBLOCK) return; qWarning() << "Error reading from eventFD:" << strerror(errno); } else if (r == 0) { return; - } else { + } else if (r != sizeof(counter)) { qWarning() << "Short read" << r << "on eventFD!"; } diff --git a/src/monitor-lib/systemreader.h b/src/monitor-lib/systemreader.h index 6b41e89c..c09c190b 100644 --- a/src/monitor-lib/systemreader.h +++ b/src/monitor-lib/systemreader.h @@ -33,7 +33,7 @@ private: #if defined(Q_OS_LINUX) static std::unique_ptr<SysFsReader> s_sysFs; #endif - Q_DISABLE_COPY(CpuReader) + Q_DISABLE_COPY_MOVE(CpuReader) }; class GpuVendor { @@ -64,7 +64,7 @@ private: #if defined(Q_OS_LINUX) static GpuTool *s_gpuToolProcess; #endif - Q_DISABLE_COPY(GpuReader) + Q_DISABLE_COPY_MOVE(GpuReader) }; @@ -87,7 +87,7 @@ private: #elif defined(Q_OS_MACOS) || defined(Q_OS_IOS) static int s_pageSize; #endif - Q_DISABLE_COPY(MemoryReader) + Q_DISABLE_COPY_MOVE(MemoryReader) }; class IoReader @@ -104,7 +104,7 @@ private: qreal m_load = 1; std::unique_ptr<SysFsReader> m_sysFs; #endif - Q_DISABLE_COPY(IoReader) + Q_DISABLE_COPY_MOVE(IoReader) }; class MemoryThreshold : public QObject diff --git a/src/notification-lib/notification.h b/src/notification-lib/notification.h index 0f3f3c89..aa3c54a3 100644 --- a/src/notification-lib/notification.h +++ b/src/notification-lib/notification.h @@ -148,7 +148,7 @@ private: static const int defaultTimeout = 2000; private: - Q_DISABLE_COPY(Notification) + Q_DISABLE_COPY_MOVE(Notification) }; QT_END_NAMESPACE_AM diff --git a/src/shared-main-lib/frametimer.cpp b/src/shared-main-lib/frametimer.cpp index 30e0a4ee..43ddf7a7 100644 --- a/src/shared-main-lib/frametimer.cpp +++ b/src/shared-main-lib/frametimer.cpp @@ -186,7 +186,8 @@ bool FrameTimer::connectToQuickWindow() if (!quickWindow) return false; - connect(quickWindow, &QQuickWindow::frameSwapped, this, &FrameTimer::newFrame, Qt::UniqueConnection); + connect(quickWindow, &QQuickWindow::frameSwapped, + this, &FrameTimer::newFrame, Qt::UniqueConnection); return true; } diff --git a/src/tools/testrunner/amtest.cpp b/src/tools/testrunner/amtest.cpp index d9141d61..5b488fe2 100644 --- a/src/tools/testrunner/amtest.cpp +++ b/src/tools/testrunner/amtest.cpp @@ -61,7 +61,8 @@ int AmTest::observeObjectDestroyed(QObject *obj) static int idx = 0; int index = idx++; - connect(obj, &QObject::destroyed, [this, index] () { + connect(obj, &QObject::destroyed, + this, [this, index] () { emit objectDestroyed(index); }); diff --git a/src/window-lib/waylandcompositor.cpp b/src/window-lib/waylandcompositor.cpp index 9348c80e..d221b442 100644 --- a/src/window-lib/waylandcompositor.cpp +++ b/src/window-lib/waylandcompositor.cpp @@ -11,7 +11,6 @@ #include "global.h" #include "logging.h" -#include "windowmanager.h" #include "application.h" #include "applicationmanager.h" #include "waylandcompositor.h" diff --git a/src/window-lib/waylandwindow.cpp b/src/window-lib/waylandwindow.cpp index 54b2b47a..e6fc4285 100644 --- a/src/window-lib/waylandwindow.cpp +++ b/src/window-lib/waylandwindow.cpp @@ -9,7 +9,6 @@ #include "logging.h" #include "applicationmanager.h" #include "application.h" -#include "windowmanager.h" #include "waylandwindow.h" #include "waylandcompositor.h" #include "waylandqtamserverextension_p.h" diff --git a/src/window-lib/windowitem.h b/src/window-lib/windowitem.h index ee072adf..1463c8ad 100644 --- a/src/window-lib/windowitem.h +++ b/src/window-lib/windowitem.h @@ -23,6 +23,8 @@ class WindowItem : public QQuickItem Q_OBJECT Q_CLASSINFO("AM-QmlType", "QtApplicationManager.SystemUI/WindowItem 2.0") + //TODO for Qt7: rename the "window" property, as QQuickItem has a window() getter and a + // windowChanged() signal. Q_PROPERTY(Window* window READ window WRITE setWindow NOTIFY windowChanged FINAL) Q_PROPERTY(bool primary READ primary NOTIFY primaryChanged FINAL) Q_PROPERTY(bool objectFollowsItemSize READ objectFollowsItemSize diff --git a/src/window-lib/windowmanager.cpp b/src/window-lib/windowmanager.cpp index 818d8085..de98d26a 100644 --- a/src/window-lib/windowmanager.cpp +++ b/src/window-lib/windowmanager.cpp @@ -934,7 +934,7 @@ bool WindowManager::makeScreenshot(const QString &filename, const QString &selec return result; }; - QRegularExpression re(QStringLiteral("^([a-z.-]+)?(\\[([a-zA-Z0-9_.]+)=([^\\]]*)\\])?(:([0-9]+))?")); + static const QRegularExpression re(qSL("^([a-z.-]+)?(\\[([a-zA-Z0-9_.]+)=([^\\]]*)\\])?(:([0-9]+))?")); auto match = re.match(selector); QString screenId = match.captured(6); QString appId = match.captured(1); |