]> Some of my projects - localmylist.git/commitdiff
Clazy fixes
authorAPTX <redacted>
Sat, 7 Mar 2026 05:45:24 +0000 (14:45 +0900)
committerAPTX <redacted>
Sat, 7 Mar 2026 05:45:24 +0000 (14:45 +0900)
38 files changed:
import-mylist/main.cpp
import-titles/main.cpp
localmylist-management/dynamicmodelview.cpp
localmylist-management/main.cpp
localmylist-management/mainwindow.cpp
localmylist-management/settingsdialog.cpp
localmylist-management/tabs/mylisttab.cpp
localmylist-management/tabs/pathmappingtab.cpp
localmylist-management/tabs/unknownfilestab.cpp
localmylist-management/tabs/watcheddirectoriestab.cpp
localmylist-management/tabwidget.cpp
localmylist-management/versiondialog.cpp
localmylist/database.cpp
localmylist/database.h
localmylist/directorywatcher.cpp
localmylist/dynamicmodel/data.cpp
localmylist/dynamicmodel/datamodel.cpp
localmylist/dynamicmodel/datamodel.h
localmylist/dynamicmodel/datatype.cpp
localmylist/dynamicmodel/model.h
localmylist/dynamicmodel/node.cpp
localmylist/dynamicmodel/queryparser.cpp
localmylist/dynamicmodel/typerelation.cpp
localmylist/dynamicmodel/types.cpp
localmylist/dynamicmodel/types.h
localmylist/filelocationchecktask.cpp
localmylist/mylist.h
localmylist/mylistexportparsetask.cpp
localmylist/mylistmodel.h
localmylist/mylistnode.cpp
localmylist/renamehandler.cpp
localmylist/reportengine.h
localmylist/scriptable.cpp
localmylist/service.h
localmylist/servicemanager.cpp
localmylist/servicemanager.h
play-next/main.cpp
runscript/main.cpp

index d016761..2310ccb 100644 (file)
@@ -13,7 +13,7 @@ int main(int argc, char *argv[])
        QTextStream cout(stdout);
        if (a.arguments().count() < 2)
        {
-               cout << "Usage: " << a.arguments()[0] << " FILE";
+               cout << "Usage: " << a.arguments().at(0) << " FILE";
                return 1;
        }
 
@@ -25,7 +25,7 @@ int main(int argc, char *argv[])
        }
 
        AbstractTask *t =
-               LocalMyList::instance()->importMyList(QFileInfo{a.arguments()[1]});
+               LocalMyList::instance()->importMyList(QFileInfo{a.arguments().at(1)});
        QObject::connect(t, SIGNAL(finished()), &a, SLOT(quit()));
 
        return a.exec();
index 875f2ba..46af92a 100644 (file)
@@ -30,7 +30,8 @@ int main(int argc, char *argv[])
        if (a.arguments().count() == 1)
                t = LocalMyList::instance()->importTitlesFromUrl(QUrl::fromUserInput(LocalMyList::instance()->settings()->get("anidbTitleUrl").toString()));
        else
-               t = LocalMyList::instance()->importTitles(QFileInfo{a.arguments()[1]});
+               t = LocalMyList::instance()->importTitles(
+                       QFileInfo{a.arguments().at(1)});
        QObject::connect(t, SIGNAL(finished()), &a, SLOT(quit()));
 
        return a.exec();
index b4d05c1..2d21f45 100644 (file)
@@ -194,7 +194,8 @@ void DynamicModelView::markSelectionWatched()
        RaiiTransaction t{MyList::instance()->database()};\r
        t.commit();\r
 \r
-       for (const auto &index : lastSelection) {\r
+       for (const auto &index : std::as_const(lastSelection))\r
+       {\r
                DynamicModel::Node *node = dynamicModelFilterModel()->node(index);\r
                markEpisodeWatched(node);\r
                markFileWatched(node);\r
index ce95907..4321e1e 100644 (file)
@@ -11,7 +11,7 @@ int main(int argc, char *argv[])
        {
                if (a.arguments().count() < 2)
                        return 0;
-               return a.sendMessage(QString("ADD %1").arg(a.arguments()[1]));
+               return a.sendMessage(QString("ADD %1").arg(a.arguments().at(1)));
        }
 
        MainWindow w;
@@ -20,7 +20,7 @@ int main(int argc, char *argv[])
        w.show();
 
        if (a.arguments().count() >= 2)
-               LocalMyList::instance()->addFile(QFileInfo{a.arguments()[1]});
+               LocalMyList::instance()->addFile(QFileInfo{a.arguments().at(1)});
 
        return a.exec();
 }
index a02f21e..96d233f 100644 (file)
@@ -313,7 +313,6 @@ void MainWindow::dragEnterEvent(QDragEnterEvent *event)
 void MainWindow::dropEvent(QDropEvent *event)
 {
        QList<QUrl> urls = event->mimeData()->urls();
-       QFileInfoList files;
 
        for (int i = 0; i < urls.count(); ++i)
        {
index 5fb37fa..5c160c5 100644 (file)
@@ -56,7 +56,7 @@ void SettingsDialog::generateSettings()
 
        QFormLayout *layout = new QFormLayout(ui->settingsBox);
 
-       for (const QString &setting : settings)
+       for (const QString &setting : std::as_const(settings))
        {
                QLabel *label = new QLabel(ui->settingsBox);
                QLineEdit *lineEdit = new QLineEdit(ui->settingsBox);
index 1311ebf..868087e 100644 (file)
@@ -130,7 +130,6 @@ void MyListTab::on_myListView_renameFilesRequested(const QModelIndex &index)
        if (!node->id())
                return;
 
-       QString path;
        QSqlQuery q(MyList::instance()->database()->connection());
 
        QChar typeLetter;
index bea1a12..b656792 100644 (file)
@@ -97,7 +97,8 @@ void PathMappingTab::removeSelected()
 {
        using namespace LocalMyList;
 
-       QModelIndexList selection = ui->pathMappingView->selectionModel()->selectedRows();
+       const QModelIndexList selection =
+               ui->pathMappingView->selectionModel()->selectedRows();
 
        for (const QModelIndex &idx : selection)
        {
index 5e56d4e..f2e995c 100644 (file)
@@ -75,7 +75,8 @@ void UnknownFilesTab::removeSelected()
 {
        using namespace LocalMyList;
 
-       QModelIndexList selection = ui->unknownFilesView->selectionModel()->selectedRows();
+       const QModelIndexList selection =
+               ui->unknownFilesView->selectionModel()->selectedRows();
 
        RaiiTransaction t(MyList::instance()->database());
        for (const QModelIndex &idx : selection)
index c2525d3..3fa297a 100644 (file)
@@ -89,7 +89,8 @@ void WatchedDirectoriesTab::removeSelected()
 {
        using namespace LocalMyList;
 
-       QModelIndexList selection = ui->watchedDirectoriesView->selectionModel()->selectedRows();
+       const QModelIndexList selection =
+               ui->watchedDirectoriesView->selectionModel()->selectedRows();
 
        for (const QModelIndex &idx : selection)
        {
index df60c9d..232bb48 100644 (file)
@@ -32,7 +32,7 @@ void TabWidget::populateMenu(QMenu *menu)
 {
        qDeleteAll(menu->actions());
 
-       for (const QString &id : tabMenuOrder)
+       for (const QString &id : std::as_const(tabMenuOrder))
        {
                QAction *action = new QAction(registeredTabNames.value(id)(), menu);
                connect(action, &QAction::triggered, [this, id] { this->addTabRequested(id); });
@@ -67,7 +67,7 @@ void TabWidget::loadSettings(QSettings *s)
        setLockLayout(s->value("lockTabLayout", false).toBool());
        s->endGroup();
 
-       for (const QString &id : ids)
+       for (const QString &id : std::as_const(ids))
                addTab(id);
 
        setCurrentIndex(currentIndex);
index e7ed57a..a3ff4dc 100644 (file)
@@ -21,7 +21,8 @@ VersionDialog::VersionDialog(QWidget *parent) : QDialog(parent)
        if (LocalMyList::MyList::revision())
                revision = tr("from revision %1").arg(LocalMyList::MyList::revision());
 
-       const QString description = tr(R"(
+       const QString description =
+               tr(R"(
                <h3>%1 %2 <font size=\"3\">(%7 bit)</font></h3>
                <p>Built with Qt %3<br/>
                Running with Qt %4<br/>
@@ -34,17 +35,13 @@ VersionDialog::VersionDialog(QWidget *parent) : QDialog(parent)
                <p>The program is provided AS IS with NO WARRANTY OF ANY KIND,
                INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
                PARTICULAR PURPOSE.</p>)")
-               .arg(qApp->applicationName())
-               .arg(qApp->applicationVersion())
-               .arg(QLatin1String(QT_VERSION_STR))
-               .arg(QLatin1String(qVersion()))
-               .arg(qApp->organizationName())
-               .arg(revision)
-               .arg(QSysInfo::WordSize)
-               .arg(__DATE__)
-               .arg(__TIME__)
-               // Format of __DATE__ is "Mmm dd yyyy" 16.8p1 [cpp.predefined]
-               .arg(__DATE__ + 7);
+                       .arg(qApp->applicationName(), qApp->applicationVersion(),
+                                QLatin1String(QT_VERSION_STR), QLatin1String(qVersion()),
+                                qApp->organizationName(), revision)
+                       .arg(QSysInfo::WordSize)
+                       .arg(__DATE__, __TIME__,
+                                // Format of __DATE__ is "Mmm dd yyyy" 16.8p1 [cpp.predefined]
+                                __DATE__ + 7);
 
        QLabel *copyrightLabel = new QLabel(description);
        copyrightLabel->setWordWrap(true);
index 1bd819e..c4a0b38 100644 (file)
@@ -2283,7 +2283,8 @@ bool Database::notifyRenameDataChanged()
 void Database::handleNotification(const QString &name, QSqlDriver::NotificationSource source, const QVariant &payload)
 {
        Q_UNUSED(source);
-       qDebug() << QString("[%1] Received notification %2, %3").arg(connectionName).arg(name).arg(payload.toString());
+       qDebug() << QString("[%1] Received notification %2, %3")
+                                       .arg(connectionName, name, payload.toString());
        if (name == "new_pending_request")
        {
                emit newPendingRequest();
@@ -2512,8 +2513,9 @@ void RaiiTransaction::commit()
 QString toSearchQuery(const QString &string)
 {
        const static QChar anyChar = QChar('%');
+       static QRegularExpression rx("\\s+");
        QString ret = string.trimmed();
-       ret.replace(QRegularExpression("\\s+"), anyChar);
+       ret.replace(rx, anyChar);
        ret = ret.append(anyChar).prepend(anyChar);
        return ret;
 }
index 677c309..0b8755a 100644 (file)
@@ -43,7 +43,8 @@ public:
 public slots:
        bool isConnected() const;
 
-       void setConnectionSettings(const DatabaseConnectionSettings &dbs);
+       void
+       setConnectionSettings(const LocalMyList::DatabaseConnectionSettings &dbs);
        LocalMyList::DatabaseConnectionSettings connectionSettings() const;
 
        bool transaction();
@@ -110,7 +111,8 @@ public slots:
        bool setEpisode(const LocalMyList::Episode &episode);
        bool setFile(const LocalMyList::File &file);
 
-       bool updateFilesFromPendingMyListUpdate(const PendingMyListUpdate &request);
+       bool updateFilesFromPendingMyListUpdate(
+               const LocalMyList::PendingMyListUpdate &request);
 
        bool addTitle(const LocalMyList::AnimeTitle &title);
        bool addAnime(const LocalMyList::Anime &anime);
@@ -119,17 +121,19 @@ public slots:
        bool addFileEpisodeRel(const LocalMyList::FileEpisodeRel &fileEpisodeRel);
 
        bool addUnknownFile(const LocalMyList::UnknownFile &file);
-       UnknownFile getUnknownFile(const QByteArray &ed2k, qint64 size);
-       UnknownFile getUnknownFileByPath(const QString &path);
+       LocalMyList::UnknownFile getUnknownFile(const QByteArray &ed2k,
+                                                                                       qint64 size);
+       LocalMyList::UnknownFile getUnknownFileByPath(const QString &path);
        bool removeUnknownFile(const QByteArray &ed2k, qint64 size);
 
        bool addRequest(const LocalMyList::PendingRequest &request);
-       QList<PendingRequest> getRequestBatch(int limit = 10);
+       QList<LocalMyList::PendingRequest> getRequestBatch(int limit = 10);
        bool clearRequest(const LocalMyList::PendingRequest &request);
 
        bool addPendingMyListUpdate(const LocalMyList::PendingMyListUpdate &request);
        LocalMyList::PendingMyListUpdate getPendingMyListUpdate(qint64 updateId);
-       QList<PendingMyListUpdate> getPendingMyListUpdateBatch(int limit = 10);
+       QList<LocalMyList::PendingMyListUpdate>
+       getPendingMyListUpdateBatch(int limit = 10);
        bool clearPendingMyListUpdate(const LocalMyList::PendingMyListUpdate &request);
 
        QStringList getWatchedDirectories(int hostId, bool onlyEnabled = true);
@@ -160,7 +164,7 @@ public slots:
        bool truncateMyListData();
        bool truncateDatabase();
 
-       bool removeKnownUnknownFile(const File &file);
+       bool removeKnownUnknownFile(const LocalMyList::File &file);
 
        bool log(const QString &message, int type = 1);
 
@@ -183,14 +187,30 @@ public slots:
        void disconnect();
        bool reconnect();
 
-       static void readAnimeTitleData(const SqlResultIteratorInterface &result, AnimeTitle &data, int offset = 0);
-       static void readAnimeData(const SqlResultIteratorInterface &result, Anime &data, int offset = 0);
-       static void readEpisodeData(const SqlResultIteratorInterface &result, Episode &data, int offset = 0);
-       static void readFileData(const SqlResultIteratorInterface &result, File &data, int offset = 0);
-       static void readFileLocationData(const SqlResultIteratorInterface &result, FileLocation &data, int offset = 0);
-       static void readOpenFileData(const SqlResultIteratorInterface &result, OpenFileData &data, int offset = 0);
-       static void readUnknownFileData(const SqlResultIteratorInterface &result, UnknownFile &data, int offset = 0);
-       static void readPendingMyListUpdateData(const SqlResultIteratorInterface &result, PendingMyListUpdate &data, int offset = 0);
+       static void
+       readAnimeTitleData(const LocalMyList::SqlResultIteratorInterface &result,
+                                          LocalMyList::AnimeTitle &data, int offset = 0);
+       static void
+       readAnimeData(const LocalMyList::SqlResultIteratorInterface &result,
+                                 LocalMyList::Anime &data, int offset = 0);
+       static void
+       readEpisodeData(const LocalMyList::SqlResultIteratorInterface &result,
+                                       LocalMyList::Episode &data, int offset = 0);
+       static void
+       readFileData(const LocalMyList::SqlResultIteratorInterface &result,
+                                LocalMyList::File &data, int offset = 0);
+       static void
+       readFileLocationData(const LocalMyList::SqlResultIteratorInterface &result,
+                                                LocalMyList::FileLocation &data, int offset = 0);
+       static void
+       readOpenFileData(const LocalMyList::SqlResultIteratorInterface &result,
+                                        LocalMyList::OpenFileData &data, int offset = 0);
+       static void
+       readUnknownFileData(const LocalMyList::SqlResultIteratorInterface &result,
+                                               LocalMyList::UnknownFile &data, int offset = 0);
+       static void readPendingMyListUpdateData(
+               const LocalMyList::SqlResultIteratorInterface &result,
+               LocalMyList::PendingMyListUpdate &data, int offset = 0);
 
        static QString animeTitleFields();
        static QString animeFields();
index cc7b31a..a4aa83b 100644 (file)
@@ -82,7 +82,8 @@ void DirectoryWatcher::watchedDirectoryChanged(const QString &path)
 
 void DirectoryWatcher::checkWatchedDirectories()
 {
-       for (const QString &dir : watcher->directories())
+       const auto &dirs = watcher->directories();
+       for (const QString &dir : dirs)
                watchedDirectoryChanged(dir);
 }
 
index 455a860..e79163a 100644 (file)
@@ -94,7 +94,7 @@ void Data::deref(Node *node)
 
 void Data::updated(Data *oldData)
 {
-       for (Node *node : references)
+       for (Node *node : std::as_const(references))
        {
                Q_ASSERT_X(node->parent(), "dynamicmodel/updated", "Updating node without parent");
                node->updated(oldData);
@@ -183,13 +183,17 @@ QVariant AnimeData::data(int column, int role) const
                                case TitleColumn:
                                        return animeData.titleRomaji;
                                case EpCountColumn:
-                                       return (animeData.totalEpisodeCount ? epCountString : unknownEpCountString)
-                                                       .arg(episodesInMyList)
-                                                       .arg(animeData.totalEpisodeCount
-                                                                ? animeData.totalEpisodeCount
-                                                                : qMax(animeData.highestEpno, episodesInMyList))
-                                                       .arg(specialsInMyList ? specialsCountString.arg(specialsInMyList) : "")
-                                                       .arg("");
+                                       return (animeData.totalEpisodeCount ? epCountString
+                                                                                                               : unknownEpCountString)
+                                               .arg(episodesInMyList)
+                                               .arg(
+                                                       animeData.totalEpisodeCount
+                                                               ? animeData.totalEpisodeCount
+                                                               : qMax(animeData.highestEpno, episodesInMyList))
+                                               .arg(specialsInMyList
+                                                                ? specialsCountString.arg(specialsInMyList)
+                                                                : "",
+                                                        "");
                                case RatingColumn:
                                        if (animeData.rating < 1)
                                                return "n/a";
@@ -204,9 +208,13 @@ QVariant AnimeData::data(int column, int role) const
                                        return QString::number(animeData.myVote, 'f', 2);
                                case WatchedColumn:
                                        return epCountString.arg(watchedEpisodes)
-                                                       .arg(episodesInMyList)
-                                                       .arg(specialsInMyList ? specialsCountString.arg(watchedSpecials) : "")
-                                                       .arg(specialsInMyList ? specialsCountString.arg(specialsInMyList) : "");
+                                               .arg(episodesInMyList)
+                                               .arg(specialsInMyList
+                                                                ? specialsCountString.arg(watchedSpecials)
+                                                                : "",
+                                                        specialsInMyList
+                                                                ? specialsCountString.arg(specialsInMyList)
+                                                                : "");
                                case StateColumn:
                                        return stateIdToState(myState);
                        }
@@ -216,8 +224,8 @@ QVariant AnimeData::data(int column, int role) const
                        {
                                case TitleColumn:
                                        if (!animeData.titleEnglish.isEmpty() && !animeData.titleKanji.isEmpty())
-                                               return QString("%1 -- %2").arg(animeData.titleEnglish)
-                                                               .arg(animeData.titleKanji);
+                                               return QString("%1 -- %2")
+                                                       .arg(animeData.titleEnglish, animeData.titleKanji);
                                        if (!animeData.titleEnglish.isEmpty())
                                                return animeData.titleEnglish;
                                        if (!animeData.titleKanji.isEmpty())
@@ -333,8 +341,9 @@ QVariant EpisodeData::data(int column, int role) const
                        {
                                case 0:
                                        if (!episodeData.titleEnglish.isEmpty() && !episodeData.titleKanji.isEmpty())
-                                               return QString("%1 -- %2").arg(episodeData.titleKanji)
-                                                               .arg(episodeData.titleRomaji);
+                                               return QString("%1 -- %2")
+                                                       .arg(episodeData.titleKanji,
+                                                                episodeData.titleRomaji);
                                        if (!episodeData.titleEnglish.isEmpty())
                                                return episodeData.titleEnglish;
                                        if (!episodeData.titleKanji.isEmpty())
index a7bc4e0..8bd0948 100644 (file)
@@ -42,7 +42,8 @@ bool DataModel::registerTypeRelation(TypeRelation *typeRelation)
        if (!typeRelation->sourceType().isEmpty() && !dataTypeNames.contains(typeRelation->sourceType()))
                return false;
 
-       const auto destinationTypeIt = dataTypeNames.find(typeRelation->destinationType());
+       const auto destinationTypeIt =
+               dataTypeNames.constFind(typeRelation->destinationType());
        if (destinationTypeIt == dataTypeNames.constEnd())
                return false;
 
@@ -74,7 +75,7 @@ bool DataModel::hasDataType(const QString &name) const
 
 TypeRelation *DataModel::typeRelation(const QString &source, const QString &destiantion)
 {
-       const auto it = typeRelations.find(source);
+       const auto it = typeRelations.constFind(source);
 
        if (it == typeRelations.constEnd())
        {
@@ -82,7 +83,7 @@ TypeRelation *DataModel::typeRelation(const QString &source, const QString &dest
                return 0;
        }
 
-       const auto inner = it.value().find(destiantion);
+       const auto inner = it.value().constFind(destiantion);
 
        if (inner == it.value().constEnd())
        {
index 7148a2f..f65564e 100644 (file)
@@ -35,7 +35,7 @@ public:
        void notifyEntryAdded(DataType *dataType, int id);
 
 signals:
-       void entryAdded(DataType *dataType, int id);
+       void entryAdded(LocalMyList::DynamicModel::DataType *dataType, int id);
 
 private slots:
 /*     void animeUpdate(int aid);
index 1bc2252..c484cd0 100644 (file)
@@ -84,11 +84,8 @@ QString DataType::updateQuery() const
                                %5
                        WHERE %3.%4 = :id
        )"}
-               .arg(additionalColumns())
-               .arg(tableName())
-               .arg(alias())
-               .arg(primaryKeyName())
-               .arg(additionalJoins());
+               .arg(additionalColumns(), tableName(), alias(), primaryKeyName(),
+                        additionalJoins());
 }
 
 void DataType::update(Data *data)
index 798843e..d9bb741 100644 (file)
@@ -58,11 +58,12 @@ public slots:
        void reload();
 
 private slots:
-       void entryAdded(DataType *dataType, int id);
+       void entryAdded(LocalMyList::DynamicModel::DataType *dataType, int id);
        void episodeInsert(int aid, int eid);
 
 signals:
-       void queryChanged(QueryParser query);
+       void queryChanged(LocalMyList::DynamicModel::QueryParser
+                                                 query); // clazy:exclude=overloaded-signal
        void queryChanged(QString query);
 
 private:
index 9160899..08cd10e 100644 (file)
@@ -317,10 +317,10 @@ int Node::level() const
 Node *Node::findChildByPrimaryValue(const QVariant &primaryValue)
 {
        // TODO this can be made logarithmic
-       // children of type column are ordered ascending by their valie
+       // children of type column are ordered ascending by their value
        // datatypes with ids can bee looked up in the DataType's dataStore,
        // followed by node lookup.
-       for (Node *child : m_children)
+       for (Node *child : std::as_const(m_children))
        {
                if (child->data()->primaryValue() == primaryValue)
                        return child;
index d948c17..ed03c18 100644 (file)
@@ -114,7 +114,7 @@ QDebug operator<<(QDebug dbg, const QueryParser::Level &l)
        if (l.column.isEmpty())\r
                dbg << QString("[%1:%2]").arg(l.type).arg(l.table);\r
        else\r
-               dbg << QString("[%1:%2.%3]").arg(l.type).arg(l.table).arg(l.column);\r
+               dbg << QString("[%1:%2.%3]").arg(l.type).arg(l.table, l.column);\r
        return dbg;\r
 }\r
 \r
@@ -215,8 +215,9 @@ bool QueryParser::parse(const QString &rawPath)
                {\r
                        if (!table_columns[currentLevel.table].contains(column))\r
                        {\r
-                               m_errorString = QObject::tr("Column %1 does not exist in table %2.")\r
-                                               .arg(column).arg(table);\r
+                               m_errorString =\r
+                                       QObject::tr("Column %1 does not exist in table %2.")\r
+                                               .arg(column, table);\r
                                m_valid = false;\r
                                return m_valid;\r
                        }\r
@@ -228,8 +229,10 @@ bool QueryParser::parse(const QString &rawPath)
                        && m_levels.last().table != currentLevel.table\r
                        && !m_dataModel->hasTypeRelation(m_levels.last().table, currentLevel.table))\r
                {\r
-                       m_errorString = QObject::tr("No relation defined between table %1 and table %2.")\r
-                                       .arg(m_levels.last().table).arg(currentLevel.table);\r
+                       m_errorString =\r
+                               QObject::tr(\r
+                                       "No relation defined between table %1 and table %2.")\r
+                                       .arg(m_levels.last().table, currentLevel.table);\r
                        m_valid = false;\r
                        return m_valid;\r
                }\r
@@ -256,8 +259,7 @@ QString QueryParser::buildSql(int currentLevel) const
 \r
        if (!lastLevel.column.isEmpty())\r
        {\r
-               columns += QString(", %2.%1")\r
-                               .arg(lastLevel.column).arg(dataType->alias());\r
+               columns += QString(", %2.%1").arg(lastLevel.column, dataType->alias());\r
        }\r
        else\r
        {\r
@@ -272,8 +274,8 @@ QString QueryParser::buildSql(int currentLevel) const
 \r
        if (lastLevel.type == ColumnEntry)\r
        {\r
-               QString column = QString("%2.%1")\r
-                               .arg(lastLevel.column).arg(dataType->alias());\r
+               QString column =\r
+                       QString("%2.%1").arg(lastLevel.column, dataType->alias());\r
                ret += QString("\n\tGROUP BY %1\n\tORDER BY %1")\r
                                .arg(column);\r
        }\r
@@ -398,8 +400,7 @@ QString QueryParser::buildEntrySqlInternal(int currentLevel) const
 \r
        if (!lastLevel.column.isEmpty())\r
        {\r
-               columns += QString(", %2.%1")\r
-                               .arg(lastLevel.column).arg(dataType->alias());\r
+               columns += QString(", %2.%1").arg(lastLevel.column, dataType->alias());\r
        }\r
        else\r
        {\r
@@ -411,9 +412,8 @@ QString QueryParser::buildEntrySqlInternal(int currentLevel) const
        }\r
 \r
        QString ret = buildSelect(currentLevel, columns, true, true);\r
-       ret += QString{"\n\t\tWHERE %1.%2 = :id"}\r
-                       .arg(dataType->alias())\r
-                       .arg(dataType->primaryKeyName());\r
+       ret += QString{"\n\t\tWHERE %1.%2 = :id"}.arg(dataType->alias(),\r
+                                                                                                 dataType->primaryKeyName());\r
        return ret;\r
 }\r
 \r
@@ -423,7 +423,7 @@ QString QueryParser::buildSelect(int currentLevel, const QString &columns, bool
        const DataType *dataType = m_dataModel->dataType(lastLevel.table);\r
        const QString joins = buildJoins(currentLevel - 1, willRequireAdditionalJoins, includeConditions, aliasSuffix);\r
        return QString("\nSELECT DISTINCT %4 FROM %1 %2%3")\r
-                       .arg(lastLevel.table).arg(dataType->alias() + aliasSuffix).arg(joins).arg(columns);\r
+               .arg(lastLevel.table, dataType->alias() + aliasSuffix, joins, columns);\r
 }\r
 \r
 QString QueryParser::buildJoins(int currentLevel, bool willRequireAdditionalJoins, bool includeConditions, const QString &aliasSuffix) const\r
@@ -459,12 +459,14 @@ QString QueryParser::buildJoins(int currentLevel, bool willRequireAdditionalJoin
                if (level(i).type == ColumnEntry)\r
                {\r
                        *it << QString("%1.%2 = %3")\r
-                                       .arg(dataType->alias() + aliasSuffix).arg(level(i).column).arg(nextPlaceHolder(i));\r
+                                          .arg(dataType->alias() + aliasSuffix, level(i).column,\r
+                                                       nextPlaceHolder(i));\r
                }\r
                else\r
                {\r
                        *it << QString("%1.%2 = %3")\r
-                                       .arg(dataType->alias() + aliasSuffix).arg(dataType->primaryKeyName()).arg(nextPlaceHolder(i));\r
+                                          .arg(dataType->alias() + aliasSuffix,\r
+                                                       dataType->primaryKeyName(), nextPlaceHolder(i));\r
                }\r
        }\r
        qDebug() << conditions;\r
@@ -478,7 +480,9 @@ QString QueryParser::buildJoins(int currentLevel, bool willRequireAdditionalJoin
                if (!addedTables.contains(l.table) && conditions.contains(l.table))\r
                {\r
                        const DataType *dataType = m_dataModel->dataType(l.table);\r
-                       ret += QString("\n\tJOIN %1 %2 ON %3\n").arg(l.table).arg(dataType->alias() + aliasSuffix).arg(conditions[l.table].join("\n\t\tAND "));\r
+                       ret += QString("\n\tJOIN %1 %2 ON %3\n")\r
+                                          .arg(l.table, dataType->alias() + aliasSuffix,\r
+                                                       conditions[l.table].join("\n\t\tAND "));\r
                        addedTables.insert(l.table);\r
                }\r
        }\r
@@ -503,12 +507,10 @@ QString QueryParser::valueColumn(int currentLevel, const QString &alias) const
        QString column = QString{"%2.%1"};\r
        if (lastLevel.type == ColumnEntry)\r
        {\r
-               return column\r
-                               .arg(lastLevel.column).arg(alias);\r
+               return column.arg(lastLevel.column, alias);\r
        }\r
        const DataType *dataType = m_dataModel->dataType(lastLevel.table);\r
-       return column\r
-                       .arg(dataType->primaryKeyName()).arg(alias);\r
+       return column.arg(dataType->primaryKeyName(), alias);\r
 }\r
 \r
 QString QueryParser::currentPlaceHolder(int currentLevel) const\r
index 6aa5c9f..99a45cd 100644 (file)
@@ -50,8 +50,7 @@ QString ForeignKeyRelation::destinationType() const
 
 QString ForeignKeyRelation::joinCondition(const QString &leftAlias, const QString &rightAlias) const
 {
-       return QString{"%2.%3 = %1.%4"}
-               .arg(rightAlias).arg(leftAlias).arg(m_pk).arg(m_fk);
+       return QString{"%2.%3 = %1.%4"}.arg(rightAlias, leftAlias, m_pk, m_fk);
 }
 
 } // namespace DynamicModel
index 4c1254c..e0962f7 100644 (file)
@@ -175,7 +175,7 @@ void AnimeType::animeAdded(int aid)
 
 void AnimeType::animeUpdated(int aid)
 {
-       const auto it = m_dataStore.find(aid);
+       const auto it = m_dataStore.constFind(aid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -186,7 +186,7 @@ void AnimeType::animeUpdated(int aid)
 void AnimeType::animeDeleted(int aid)
 {
        qDebug() << "animeDeleted" << aid;
-       const auto it = m_dataStore.find(aid);
+       const auto it = m_dataStore.constFind(aid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -350,7 +350,7 @@ void EpisodeType::episodeAdded(int eid, int aid)
 void EpisodeType::episodeUpdated(int eid, int aid)
 {
        Q_UNUSED(aid);
-       const auto it = m_dataStore.find(eid);
+       const auto it = m_dataStore.constFind(eid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -361,7 +361,7 @@ void EpisodeType::episodeUpdated(int eid, int aid)
 void EpisodeType::episodeDeleted(int eid, int aid)
 {
        Q_UNUSED(aid);
-       const auto it = m_dataStore.find(eid);
+       const auto it = m_dataStore.constFind(eid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -457,7 +457,7 @@ void FileType::fileUpdated(int fid, int eid, int aid)
 {
        Q_UNUSED(aid);
        Q_UNUSED(eid);
-       const auto it = m_dataStore.find(fid);
+       const auto it = m_dataStore.constFind(fid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -469,7 +469,7 @@ void FileType::fileDeleted(int fid, int eid, int aid)
 {
        Q_UNUSED(aid);
        Q_UNUSED(eid);
-       const auto it = m_dataStore.find(fid);
+       const auto it = m_dataStore.constFind(fid);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -550,7 +550,7 @@ void FileLocationType::fileLocationAdded(int locationId, int fid)
 void FileLocationType::fileLocationUpdated(int locationId, int fid)
 {
        Q_UNUSED(fid);
-       const auto it = m_dataStore.find(locationId);
+       const auto it = m_dataStore.constFind(locationId);
 
        if (it == m_dataStore.constEnd())
                return;
@@ -561,7 +561,7 @@ void FileLocationType::fileLocationUpdated(int locationId, int fid)
 void FileLocationType::fileLocationDeleted(int locationId, int fid)
 {
        Q_UNUSED(fid);
-       const auto it = m_dataStore.find(locationId);
+       const auto it = m_dataStore.constFind(locationId);
 
        if (it == m_dataStore.constEnd())
                return;
index a1f6525..aeeb853 100644 (file)
@@ -21,7 +21,7 @@ class LOCALMYLISTSHARED_EXPORT ColumnType : public DataType
        QString additionalColumns() const override;
 
 protected:
-       Data *readEntry(const SqlResultIteratorInterface &it);
+       Data *readEntry(const SqlResultIteratorInterface &it) override;
 };
 
 // =============================================================================================================
@@ -40,10 +40,10 @@ class LOCALMYLISTSHARED_EXPORT AnimeType : public DataType
 
        void update(Data *data) override;
 
-       NodeCompare nodeCompareFunction() const;
+       NodeCompare nodeCompareFunction() const override;
 
 protected:
-       Data *readEntry(const SqlResultIteratorInterface &it);
+       Data *readEntry(const SqlResultIteratorInterface &it) override;
 
 private slots:
        void animeAdded(int aid);
@@ -78,7 +78,7 @@ class LOCALMYLISTSHARED_EXPORT EpisodeType : public DataType
 
        void update(Data *data) override;
 
-       NodeCompare nodeCompareFunction() const;
+       NodeCompare nodeCompareFunction() const override;
 
 protected:
        Data *readEntry(const SqlResultIteratorInterface &it) override;
@@ -137,7 +137,7 @@ class LOCALMYLISTSHARED_EXPORT FileLocationType : public DataType
        QString tableName() const override;
        QString alias() const override;
        QString primaryKeyName() const override;
-       QString additionalColumns() const;
+       QString additionalColumns() const override;
        QString additionalJoins() const override;
 
        void registerd() override;
index bba8286..554db4e 100644 (file)
@@ -32,7 +32,7 @@ void FileLocationCheckTask::workUnit()
 
        for (FileLocation &fl : fileLocations)
        {
-               if (!QFileInfo(fl.path).exists())
+               if (!QFileInfo::exists(fl.path))
                {
                        db->log(QObject::tr("Removing file location %1: %2. File does not exist.")
                                        .arg(fl.locationId)
index de34139..998399d 100644 (file)
@@ -74,12 +74,12 @@ public slots:
        bool playFile(const LocalMyList::OpenFileData &ofd,
                                  const QStringList &additionalArguments = QStringList());
 
-       AbstractTask *addFile(const QFileInfo &file);
-       AbstractTask *addDirectory(const QDir &directory);
-       AbstractTask *importTitles(const QFileInfo &file);
-       AbstractTask *importTitlesFromUrl(const QUrl &url);
-       AbstractTask *importMyList(const QFileInfo &file);
-       void executeTask(AbstractTask *task);
+       LocalMyList::AbstractTask *addFile(const QFileInfo &file);
+       LocalMyList::AbstractTask *addDirectory(const QDir &directory);
+       LocalMyList::AbstractTask *importTitles(const QFileInfo &file);
+       LocalMyList::AbstractTask *importTitlesFromUrl(const QUrl &url);
+       LocalMyList::AbstractTask *importMyList(const QFileInfo &file);
+       void executeTask(LocalMyList::AbstractTask *task);
 
        QString mapPathFromSource(const QString &path, int sourceHost);
        QString mapPathToSource(const QString &path, int *sourceHost = 0);
index c27fcb4..9f61a7a 100644 (file)
@@ -498,7 +498,7 @@ void MyListExportParseTask::readFile()
                                f.releaseDate = QDateTime::fromString(readElementText(), dateTimeFormat);
                        }
                        else if (name() == "VersionName") {
-                               f.version = readElementText().mid(1).toInt();
+                               f.version = QStringView{readElementText()}.mid(1).toInt();
                        }
                        // f.censored;
                        else if (name() == "TypeName") {
index 836862a..7aa6ec9 100644 (file)
@@ -71,7 +71,7 @@ public:
 signals:
 
 public slots:
-       MyListNode *node(const QModelIndex &idx) const;
+       LocalMyList::MyListNode *node(const QModelIndex &idx) const;
 
        void reload();
 
index cd57eb4..41947fd 100644 (file)
@@ -415,8 +415,9 @@ QVariant MyListAnimeNode::data(int column, int role) const
                        {
                                case 0:
                                        if (!animeData.data.titleEnglish.isEmpty() && !animeData.data.titleKanji.isEmpty())
-                                               return QString("%1 -- %2").arg(animeData.data.titleEnglish)
-                                                               .arg(animeData.data.titleKanji);
+                                               return QString("%1 -- %2")
+                                                       .arg(animeData.data.titleEnglish,
+                                                                animeData.data.titleKanji);
                                        if (!animeData.data.titleEnglish.isEmpty())
                                                return animeData.data.titleEnglish;
                                        if (!animeData.data.titleKanji.isEmpty())
@@ -674,8 +675,9 @@ QVariant MyListEpisodeNode::data(int column, int role) const
                        {
                                case 0:
                                        if (!episodeData.data.titleEnglish.isEmpty() && !episodeData.data.titleKanji.isEmpty())
-                                               return QString("%1 -- %2").arg(episodeData.data.titleKanji)
-                                                               .arg(episodeData.data.titleRomaji);
+                                               return QString("%1 -- %2")
+                                                       .arg(episodeData.data.titleKanji,
+                                                                episodeData.data.titleRomaji);
                                        if (!episodeData.data.titleEnglish.isEmpty())
                                                return episodeData.data.titleEnglish;
                                        if (!episodeData.data.titleKanji.isEmpty())
index 66029c4..3879860 100644 (file)
@@ -55,7 +55,8 @@ void RenameHandler::handleRename()
 
        t.commit();
 
-       QStringList watchedDirectories = db->getWatchedDirectories(MyList::instance()->hostId());
+       const QStringList watchedDirectories =
+               db->getWatchedDirectories(MyList::instance()->hostId());
 
        while (q.next())
        {
@@ -148,7 +149,9 @@ void RenameHandler::handleRename()
                if (!differenceInCaseOnly && newFile.exists())
                {
                        fl.failedRename = true;
-                       fl.renameError = tr("Rename: Failed to rename file <%1>. Destination <%2> exists.").arg(oldFile.filePath()).arg(newFileString);
+                       fl.renameError = tr("Rename: Failed to rename file <%1>. "
+                                                               "Destination <%2> exists.")
+                                                                .arg(oldFile.filePath(), newFileString);
                        db->setFileLocation(fl);
                        db->log(fl.renameError, 2);
                        continue;
@@ -159,7 +162,10 @@ void RenameHandler::handleRename()
                        if (!QDir().mkpath(newFilePath))
                        {
                                fl.failedRename = true;
-                               fl.renameError = tr("Rename: Failed to rename file <%1>. Destination path <%2> does not exist and could not be created.").arg(oldFile.filePath()).arg(newFile.canonicalPath());
+                               fl.renameError =
+                                       tr("Rename: Failed to rename file <%1>. Destination path "
+                                          "<%2> does not exist and could not be created.")
+                                               .arg(oldFile.filePath(), newFile.canonicalPath());
                                db->setFileLocation(fl);
                                db->log(fl.renameError, 2);
                                continue;
@@ -170,7 +176,10 @@ void RenameHandler::handleRename()
                if (!QFileInfo(newFilePath).isWritable())
                {
                        fl.failedRename = true;
-                       fl.renameError = tr("Rename: Failed to rename file <%1>. Destination directory <%2> is not writable.").arg(oldFile.canonicalFilePath()).arg(newFile.absolutePath());
+                       fl.renameError =
+                               tr("Rename: Failed to rename file <%1>. Destination directory "
+                                  "<%2> is not writable.")
+                                       .arg(oldFile.canonicalFilePath(), newFile.absolutePath());
                        db->setFileLocation(fl);
                        db->log(fl.renameError, 2);
                        continue;
@@ -199,7 +208,10 @@ void RenameHandler::handleRename()
                if (!renameFile(oldFile.canonicalFilePath(), newFileString, &exactFileName))
                {
                        fl.failedRename = true;
-                       fl.renameError = tr("Rename: Failed to rename file <%1>. Failed to rename file to <%2>").arg(oldFile.canonicalFilePath()).arg(newFileString);
+                       fl.renameError =
+                               tr("Rename: Failed to rename file <%1>. Failed to rename file "
+                                  "to <%2>")
+                                       .arg(oldFile.canonicalFilePath(), newFileString);
                        db->setFileLocation(fl);
                        db->log(fl.renameError, 2);
                        continue;
@@ -219,7 +231,8 @@ void RenameHandler::handleRename()
                fl.renameError = "";
                db->setFileLocation(fl);
 
-               db->log(tr("Rename: File <%1> was renamed to <%2>").arg(oldFile.canonicalFilePath()).arg(fl.path));
+               db->log(tr("Rename: File <%1> was renamed to <%2>")
+                                       .arg(oldFile.canonicalFilePath(), fl.path));
 
                if (settings->get("renameRemoveEmptyDirectories", false))
                {
index 639b8ec..5bda11a 100644 (file)
@@ -25,7 +25,7 @@ public:
 signals:
        
 public slots:
-       void run(const Report &report);
+       void run(const LocalMyList::Report &report);
        void run(const QString &report);
 
 private:
index edf6d45..87d8447 100644 (file)
@@ -50,8 +50,8 @@ QString titleTypeToString(int titleType)
 QString AnimeTitle::toString() const
 {
        return QString("AnimeTitle('%1', %2, %3, %4)")
-                       .arg(read_title()).arg(read_language())
-                       .arg(titleTypeToString(read_type())).arg(read_aid());
+               .arg(read_title(), read_language(), titleTypeToString(read_type()))
+               .arg(read_aid());
 }
 
 // --------------------------------------------------------------------------------
index 6cd2b6b..2f7ff57 100644 (file)
@@ -9,7 +9,6 @@ namespace LocalMyList {
 class LOCALMYLISTSHARED_EXPORT Service : public QObject
 {
        Q_OBJECT
-       Q_ENUMS(ServiceState)
        Q_PROPERTY(ServiceState state READ state NOTIFY stateChanged)
        Q_PROPERTY(QString name READ name)
 
@@ -24,6 +23,7 @@ public:
                Error,         //<! Service failed to start
                Invalid = -1,  //<! This value represents the state of an invalid/nonexistant service. A service can't be in this state.
        };
+       Q_ENUM(ServiceState)
 
        ServiceState state() const;
        QString name() const;
@@ -47,7 +47,7 @@ public slots:
        void processRequests();
 
 signals:
-       void stateChanged(Service::ServiceState state);
+       void stateChanged(LocalMyList::Service::ServiceState state);
 
 protected:
        Service(const QString &name, QObject *parent = 0);
index 5fd2fbf..bf0b981 100644 (file)
@@ -12,7 +12,7 @@ ServiceManager::ServiceManager(QObject *parent) :
 
 ServiceManager::~ServiceManager()
 {
-       for (Service *s : m_registeredServices)
+       for (Service *s : std::as_const(m_registeredServices))
                callServiceSlot(s, "deleteLater");
 }
 
@@ -42,7 +42,7 @@ void ServiceManager::start(const QString &serviceName)
 
 void ServiceManager::startAll()
 {
-       for (Service *s : m_registeredServices)
+       for (Service *s : std::as_const(m_registeredServices))
                callServiceSlot(s, "start");
 }
 
@@ -57,7 +57,7 @@ void ServiceManager::stop(const QString &serviceName)
 
 void ServiceManager::stopAll()
 {
-       for (Service *s : m_registeredServices)
+       for (Service *s : std::as_const(m_registeredServices))
                callServiceSlot(s, "stop");
 }
 
@@ -72,7 +72,7 @@ void ServiceManager::processRequests(const QString &serviceName)
 
 void ServiceManager::processRequestsAll()
 {
-       for (Service *s : m_registeredServices)
+       for (Service *s : std::as_const(m_registeredServices))
                callServiceSlot(s, "processRequests");
 }
 
index baafcce..add0d33 100644 (file)
@@ -28,7 +28,8 @@ public:
        bool addService(Service *service);
 
 signals:
-       void stateChanged(const QString &serviceName, Service::ServiceState state);
+       void stateChanged(const QString &serviceName,
+                                         LocalMyList::Service::ServiceState state);
 
 public slots:
        void start(const QString &serviceName);
@@ -38,7 +39,7 @@ public slots:
        void processRequests(const QString &serviceName);
        void processRequestsAll();
 
-       Service::ServiceState state(const QString &serviceName);
+       LocalMyList::Service::ServiceState state(const QString &serviceName);
 
        bool hasService(const QString &serviceName) const;
 
@@ -49,7 +50,7 @@ public slots:
        QList<QString> registeredServices() const;
 
 private slots:
-       void serviceStateChanged(Service::ServiceState state);
+       void serviceStateChanged(LocalMyList::Service::ServiceState state);
 
 private:
        void callServiceSlot(Service *s, const char *slot) const;
index 0d823b5..2f10942 100644 (file)
@@ -16,7 +16,7 @@ int main(int argc, char *argv[])
        QTextStream cout(stdout);
        if (a.arguments().count() < 2)
        {
-               cout << "Usage: " << a.arguments()[0] << " TITLE" << Qt::endl;
+               cout << "Usage: " << a.arguments().at(0) << " TITLE" << Qt::endl;
                return 1;
        }
 
index 458043a..9637372 100644 (file)
@@ -39,8 +39,9 @@ int main(int argc, char *argv[])
        QTextStream cout(stdout);
        if (a.arguments().count() < 2)
        {
-               cout << "Usage: " << a.arguments()[0] << " FILE [ARGS...]" << Qt::endl;
-               cout << "       " << a.arguments()[0] << " -e SCRIPT [-- ARGS...]"
+               cout << "Usage: " << a.arguments().at(0) << " FILE [ARGS...]"
+                        << Qt::endl;
+               cout << "       " << a.arguments().at(0) << " -e SCRIPT [-- ARGS...]"
                         << Qt::endl;
                return 1;
        }