From e0f6eb0d84411fc93fba84ed5ecb38f78513e67b Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Wed, 29 Apr 2026 00:03:19 -0500 Subject: clang-tidy: misc-const-correctness + performance-for-range-copy pass Final auto-fix sweep that adds const to local variables and switches range-for-by-value to range-for-by-const-ref where the element type is non-trivially-copyable. The auto-fixer also emitted ~15 invalid \`for (const T& const x : ...)\` range loops where \`const-correctness\` and \`for-range-copy\` both fired on the same line. Hand-fixed via sed: \`& const \` -> \`& \`. Build verified. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/src/aboutdialog.cpp | 4 +- src/src/archivefiletree.cpp | 2 +- src/src/bbcode.cpp | 12 +- src/src/categories.cpp | 34 +++--- src/src/categoriesdialog.cpp | 32 ++--- src/src/categoriestable.cpp | 6 +- src/src/commandline.cpp | 26 ++--- src/src/createinstancedialog.cpp | 2 +- src/src/csvbuilder.cpp | 2 +- src/src/datatab.cpp | 4 +- src/src/directoryrefresher.cpp | 38 +++--- src/src/downloadlist.cpp | 12 +- src/src/downloadlistview.cpp | 12 +- src/src/downloadmanager.cpp | 142 +++++++++++----------- src/src/editexecutablesdialog.cpp | 8 +- src/src/env.cpp | 8 +- src/src/envfs.cpp | 2 +- src/src/envfs.h | 2 +- src/src/envmodule.cpp | 16 +-- src/src/envsecurity.cpp | 2 +- src/src/envshortcut.cpp | 76 ++++++------ src/src/envwindows.cpp | 6 +- src/src/filetree.cpp | 8 +- src/src/filetreeitem.cpp | 8 +- src/src/filetreemodel.cpp | 8 +- src/src/filterlist.cpp | 6 +- src/src/fluorineconfig.cpp | 4 +- src/src/forcedloaddialog.cpp | 4 +- src/src/forcedloaddialogwidget.cpp | 20 ++-- src/src/fuseconnector.cpp | 16 +-- src/src/gamedetection.cpp | 24 ++-- src/src/github.cpp | 14 +-- src/src/icondelegate.cpp | 2 +- src/src/iconextractor.cpp | 52 ++++----- src/src/iconfetcher.cpp | 12 +- src/src/installationmanager.cpp | 42 +++---- src/src/instancemanager.cpp | 2 +- src/src/instancemanagerdialog.cpp | 4 +- src/src/knowngames.h | 2 +- src/src/listdialog.cpp | 4 +- src/src/loghighlighter.cpp | 4 +- src/src/loglist.cpp | 2 +- src/src/main.cpp | 6 +- src/src/mainwindow.cpp | 226 ++++++++++++++++++------------------ src/src/messagedialog.cpp | 6 +- src/src/moapplication.cpp | 24 ++-- src/src/modconflicticondelegate.cpp | 8 +- src/src/modcontenticondelegate.cpp | 2 +- src/src/modflagicondelegate.cpp | 12 +- src/src/modinfo.cpp | 80 ++++++------- src/src/modinfodialog.cpp | 16 +-- src/src/modinfodialogcategories.cpp | 4 +- src/src/modinfodialogconflicts.cpp | 10 +- src/src/modinfodialogesps.cpp | 4 +- src/src/modinfodialogfiletree.cpp | 12 +- src/src/modinfodialogimages.cpp | 4 +- src/src/modinfodialognexus.cpp | 10 +- src/src/modinfodialogtab.cpp | 2 +- src/src/modinfoforeign.cpp | 2 +- src/src/modinfooverwrite.cpp | 2 +- src/src/modinforegular.cpp | 46 ++++---- src/src/modinfowithconflictinfo.cpp | 22 ++-- src/src/modlist.cpp | 134 ++++++++++----------- src/src/modlistbypriorityproxy.cpp | 10 +- src/src/modlistcontextmenu.cpp | 14 +-- src/src/modlistdropinfo.cpp | 14 +-- src/src/modlistsortproxy.cpp | 60 +++++----- src/src/modlistversiondelegate.cpp | 8 +- src/src/modlistviewactions.cpp | 134 ++++++++++----------- src/src/moshortcut.cpp | 4 +- src/src/multiprocess.cpp | 2 +- src/src/nexusinterface.cpp | 64 +++++----- src/src/nxmaccessmanager.cpp | 6 +- src/src/nxmhandler_linux.cpp | 2 +- src/src/organizercore.cpp | 150 ++++++++++++------------ src/src/overwriteinfodialog.cpp | 30 ++--- src/src/overwriteinfodialog.h | 6 +- src/src/pluginlist.h | 2 +- src/src/shared/fileregister.h | 2 +- src/src/shared/filesorigin.h | 2 +- src/src/thread_utils.h | 2 +- src/src/vfs/mo2filesystem.h | 4 +- 82 files changed, 917 insertions(+), 917 deletions(-) (limited to 'src') diff --git a/src/src/aboutdialog.cpp b/src/src/aboutdialog.cpp index 421b976..5db5d44 100644 --- a/src/src/aboutdialog.cpp +++ b/src/src/aboutdialog.cpp @@ -126,8 +126,8 @@ void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem* current, { auto iter = m_LicenseFiles.find(current->data(Qt::UserRole).toInt()); if (iter != m_LicenseFiles.end()) { - QString filePath = qApp->applicationDirPath() + "/licenses/" + iter->second; - QString text = MOBase::readFileText(filePath); + QString const filePath = qApp->applicationDirPath() + "/licenses/" + iter->second; + QString const text = MOBase::readFileText(filePath); ui->licenseText->setText(text); } else { ui->licenseText->setText(tr("No license")); diff --git a/src/src/archivefiletree.cpp b/src/src/archivefiletree.cpp index d39951a..e8f487d 100644 --- a/src/src/archivefiletree.cpp +++ b/src/src/archivefiletree.cpp @@ -105,7 +105,7 @@ public: // Overrides: if (entry->isDir()) { const ArchiveFileTreeImpl& archiveEntry = dynamic_cast(*entry); - QString tmp = path + archiveEntry.name(); + QString const tmp = path + archiveEntry.name(); if (archiveEntry.m_Index != -1) { data[archiveEntry.m_Index]->addOutputFilePath(tmp.toStdWString()); } diff --git a/src/src/bbcode.cpp b/src/src/bbcode.cpp index 234e505..cef2753 100644 --- a/src/src/bbcode.cpp +++ b/src/src/bbcode.cpp @@ -45,7 +45,7 @@ public: auto match = m_TagNameExp.match(input, 1, QRegularExpression::NormalMatch, QRegularExpression::AnchorAtOffsetMatchOption); QString tagName = match.captured(0).toLower(); - TagMap::iterator tagIter = m_TagMap.find(tagName); + TagMap::iterator const tagIter = m_TagMap.find(tagName); if (tagIter != m_TagMap.end()) { // recognized tag if (tagName.endsWith('=')) { @@ -69,9 +69,9 @@ public: closeTagPos = 6; // leave closeTagLength at 0 because there is no close tag to skip over } else { - QRegularExpression nextTag(QString("\\[%1[=\\]]?").arg(tagName), + QRegularExpression const nextTag(QString("\\[%1[=\\]]?").arg(tagName), QRegularExpression::CaseInsensitiveOption); - QString closeTag = QString("[/%1]").arg(tagName); + QString const closeTag = QString("[/%1]").arg(tagName); closeTagPos = input.indexOf(closeTag, 0, Qt::CaseInsensitive); nextTagPos = nextTag.match(input, nextTagSearchIndex).capturedStart(0); while (nextTagPos != -1 && closeTagPos != -1 && nextTagPos < closeTagPos) { @@ -98,7 +98,7 @@ public: if (tagIter->second.second.isEmpty()) { if (tagName == "color") { QString color = match.captured(1); - QString content = match.captured(2); + QString const content = match.captured(2); if (color.at(0) == '#') { return temp.replace(tagIter->second.first, QString("%2") @@ -285,7 +285,7 @@ QString convertToHTML(const QString& inputParam) if ((pos < (input.size() - 1)) && (input.at(pos + 1) == '/')) { // skip invalid end tag - int tagEnd = input.indexOf(']', pos) + 1; + int const tagEnd = input.indexOf(']', pos) + 1; if (tagEnd == 0) { // no closing tag found // move the pos up one so that the opening bracket is ignored next iteration @@ -296,7 +296,7 @@ QString convertToHTML(const QString& inputParam) } else { // convert the tag and content if necessary int length = -1; - QString replacement = BBCodeMap::instance().convertTag(input.mid(pos), length); + QString const replacement = BBCodeMap::instance().convertTag(input.mid(pos), length); if (length != 0) { result.append(convertToHTML(replacement)); // length contains the number of characters in the original tag diff --git a/src/src/categories.cpp b/src/src/categories.cpp index 7bf25ed..64d5b0d 100644 --- a/src/src/categories.cpp +++ b/src/src/categories.cpp @@ -62,7 +62,7 @@ void CategoryFactory::loadCategories() } else { int lineNum = 0; while (!categoryFile.atEnd()) { - QByteArray line = categoryFile.readLine(); + QByteArray const line = categoryFile.readLine(); ++lineNum; QList cells = line.split('|'); if (cells.count() == 4) { @@ -72,7 +72,7 @@ void CategoryFactory::loadCategories() for (QList::iterator iter = nexusIDStrings.begin(); iter != nexusIDStrings.end(); ++iter) { bool ok = false; - int temp = iter->toInt(&ok); + int const temp = iter->toInt(&ok); if (!ok) { log::error(tr("invalid category id {0}"), iter->constData()); } @@ -81,8 +81,8 @@ void CategoryFactory::loadCategories() } bool cell0Ok = true; bool cell3Ok = true; - int id = cells[0].toInt(&cell0Ok); - int parentID = cells[3].trimmed().toInt(&cell3Ok); + int const id = cells[0].toInt(&cell0Ok); + int const parentID = cells[3].trimmed().toInt(&cell3Ok); if (!cell0Ok || !cell3Ok) { log::error(tr("invalid category line {0}: {1}"), lineNum, line.constData()); } @@ -90,8 +90,8 @@ void CategoryFactory::loadCategories() } else if (cells.count() == 3) { bool cell0Ok = true; bool cell3Ok = true; - int id = cells[0].toInt(&cell0Ok); - int parentID = cells[2].trimmed().toInt(&cell3Ok); + int const id = cells[0].toInt(&cell0Ok); + int const parentID = cells[2].trimmed().toInt(&cell3Ok); if (!cell0Ok || !cell3Ok) { log::error(tr("invalid category line {0}: {1}"), lineNum, line.constData()); } @@ -111,18 +111,18 @@ void CategoryFactory::loadCategories() } else { int nexLineNum = 0; while (!nexusMapFile.atEnd()) { - QByteArray nexLine = nexusMapFile.readLine(); + QByteArray const nexLine = nexusMapFile.readLine(); ++nexLineNum; QList nexCells = nexLine.split('|'); if (nexCells.count() == 3) { - std::vector nexusCats; - QString nexName = nexCells[1]; + std::vector const nexusCats; + QString const nexName = nexCells[1]; bool ok = false; - int nexID = nexCells[2].toInt(&ok); + int const nexID = nexCells[2].toInt(&ok); if (!ok) { log::error(tr("invalid nexus ID {}"), nexCells[2].constData()); } - int catID = nexCells[0].toInt(&ok); + int const catID = nexCells[0].toInt(&ok); if (!ok) { log::error(tr("invalid category id {}"), nexCells[0].constData()); } @@ -164,7 +164,7 @@ void CategoryFactory::setParents() for (const auto& category : m_Categories) { if (category.parentID() != 0) { - std::map::const_iterator iter = + std::map::const_iterator const iter = m_IDMap.find(category.parentID()); if (iter != m_IDMap.end()) { m_Categories[iter->second].setHasChildren(true); @@ -252,7 +252,7 @@ int CategoryFactory::addCategory(const QString& name, void CategoryFactory::addCategory(int id, const QString& name, int parentID) { - int index = static_cast(m_Categories.size()); + int const index = static_cast(m_Categories.size()); m_Categories.push_back( Category(index, id, name, parentID, std::vector())); m_IDMap[id] = index; @@ -266,7 +266,7 @@ void CategoryFactory::addCategory(int id, const QString& name, m_NexusMap.insert_or_assign(nexusCat.ID(), nexusCat); m_NexusMap.at(nexusCat.ID()).setCategoryID(id); } - int index = static_cast(m_Categories.size()); + int const index = static_cast(m_Categories.size()); m_Categories.push_back(Category(index, id, name, parentID, nexusCats)); m_IDMap[id] = index; } @@ -378,10 +378,10 @@ bool CategoryFactory::isDescendantOfImpl(int id, int parentID, return false; } - std::map::const_iterator iter = m_IDMap.find(id); + std::map::const_iterator const iter = m_IDMap.find(id); if (iter != m_IDMap.end()) { - unsigned int index = iter->second; + unsigned int const index = iter->second; if (m_Categories[index].parentID() == 0) { return false; } else if (m_Categories[index].parentID() == parentID) { @@ -483,7 +483,7 @@ int CategoryFactory::getCategoryID(unsigned int index) const int CategoryFactory::getCategoryIndex(int ID) const { - std::map::const_iterator iter = m_IDMap.find(ID); + std::map::const_iterator const iter = m_IDMap.find(ID); if (iter == m_IDMap.end()) { throw MyException(tr("invalid category id: %1").arg(ID)); } diff --git a/src/src/categoriesdialog.cpp b/src/src/categoriesdialog.cpp index d25a808..0d85f4d 100644 --- a/src/src/categoriesdialog.cpp +++ b/src/src/categoriesdialog.cpp @@ -37,10 +37,10 @@ public: NewIDValidator(const std::set& ids) : m_UsedIDs(ids) {} State validate(QString& input, int& pos) const override { - State intRes = QIntValidator::validate(input, pos); + State const intRes = QIntValidator::validate(input, pos); if (intRes == Acceptable) { bool ok = false; - int id = input.toInt(&ok); + int const id = input.toInt(&ok); if (m_UsedIDs.contains(id)) { return QValidator::Intermediate; } @@ -58,10 +58,10 @@ public: ExistingIDValidator(const std::set& ids) : m_UsedIDs(ids) {} State validate(QString& input, int& pos) const override { - State intRes = QIntValidator::validate(input, pos); + State const intRes = QIntValidator::validate(input, pos); if (intRes == Acceptable) { bool ok = false; - int id = input.toInt(&ok); + int const id = input.toInt(&ok); if ((id == 0) || (m_UsedIDs.contains(id))) { return QValidator::Acceptable; } else { @@ -135,13 +135,13 @@ CategoriesDialog::~CategoriesDialog() int CategoriesDialog::exec() { - GeometrySaver gs(Settings::instance(), this); + GeometrySaver const gs(Settings::instance(), this); return QDialog::exec(); } void CategoriesDialog::cellChanged(int row, int) { - int currentID = ui->categoriesTable->item(row, 0)->text().toInt(); + int const currentID = ui->categoriesTable->item(row, 0)->text().toInt(); if (currentID > m_HighestID) { m_HighestID = currentID; } @@ -153,12 +153,12 @@ void CategoriesDialog::commitChanges() categories.reset(); for (int i = 0; i < ui->categoriesTable->rowCount(); ++i) { - int index = ui->categoriesTable->verticalHeader()->logicalIndex(i); + int const index = ui->categoriesTable->verticalHeader()->logicalIndex(i); QVariantList nexusData; if (ui->categoriesTable->item(index, 3) != nullptr) nexusData = ui->categoriesTable->item(index, 3)->data(Qt::UserRole).toList(); std::vector nexusCats; - for (auto nexusCat : nexusData) { + for (const auto& nexusCat : nexusData) { nexusCats.push_back(CategoryFactory::NexusCategory( nexusCat.toList()[0].toString(), nexusCat.toList()[1].toInt())); } @@ -186,7 +186,7 @@ void CategoriesDialog::refreshIDs() { m_HighestID = 0; for (int i = 0; i < ui->categoriesTable->rowCount(); ++i) { - int id = ui->categoriesTable->item(i, 0)->text().toInt(); + int const id = ui->categoriesTable->item(i, 0)->text().toInt(); if (id > m_HighestID) { m_HighestID = id; } @@ -196,7 +196,7 @@ void CategoriesDialog::refreshIDs() void CategoriesDialog::fillTable() { - CategoryFactory& categories = CategoryFactory::instance(); + CategoryFactory const& categories = CategoryFactory::instance(); QTableWidget* table = ui->categoriesTable; QListWidget* list = ui->nexusCategoryList; @@ -251,7 +251,7 @@ void CategoriesDialog::fillTable() newData.append(nexusCat.second.ID()); itemData.insert(itemData.length(), newData); QStringList names; - for (auto cat : itemData) { + for (const auto& cat : itemData) { names.append(cat.toList()[0].toString()); } item->setData(Qt::UserRole, itemData); @@ -265,7 +265,7 @@ void CategoriesDialog::fillTable() void CategoriesDialog::addCategory_clicked() { - int row = m_ContextRow >= 0 ? m_ContextRow : 0; + int const row = m_ContextRow >= 0 ? m_ContextRow : 0; ui->categoriesTable->setSortingEnabled(false); ui->categoriesTable->insertRow(row); @@ -314,8 +314,8 @@ void CategoriesDialog::nexusImport_clicked() int row = 0; table->setSortingEnabled(false); for (int i = 0; i < list->count(); ++i) { - QString name = list->item(i)->data(Qt::DisplayRole).toString(); - int nexusID = list->item(i)->data(Qt::UserRole).toInt(); + QString const name = list->item(i)->data(Qt::DisplayRole).toString(); + int const nexusID = list->item(i)->data(Qt::UserRole).toInt(); QStringList nexusLabel; QVariantList nexusData; nexusLabel.append(name); @@ -364,8 +364,8 @@ void CategoriesDialog::nxmGameInfoAvailable(QString gameName, QVariant, QVariant resultData, int) { QVariantMap result = resultData.toMap(); - QVariantList categories = result["categories"].toList(); - CategoryFactory& catFactory = CategoryFactory::instance(); + QVariantList const categories = result["categories"].toList(); + CategoryFactory const& catFactory = CategoryFactory::instance(); QListWidget* list = ui->nexusCategoryList; list->clear(); for (const auto& category : categories) { diff --git a/src/src/categoriestable.cpp b/src/src/categoriestable.cpp index 50eff1b..0d18b03 100644 --- a/src/src/categoriestable.cpp +++ b/src/src/categoriestable.cpp @@ -46,13 +46,13 @@ bool CategoriesTable::dropMimeData(int row, int column, const QMimeData* data, if (item->column() != 3) continue; QVariantList newData; - for (auto nexData : item->data(Qt::UserRole).toList()) { + for (const auto& nexData : item->data(Qt::UserRole).toList()) { if (nexData.toList()[1].toInt() != roleDataMap.value(Qt::UserRole)) { newData.insert(newData.length(), nexData); } } QStringList names; - for (auto nexData : newData) { + for (const auto& nexData : newData) { names.append(nexData.toList()[0].toString()); } item->setData(Qt::DisplayRole, names.join(", ")); @@ -66,7 +66,7 @@ bool CategoriesTable::dropMimeData(int row, int column, const QMimeData* data, newData.append(roleDataMap.value(Qt::UserRole).toInt()); itemData.insert(itemData.length(), newData); QStringList names; - for (auto cat : itemData) { + for (const auto& cat : itemData) { names.append(cat.toList()[0].toString()); } nexusItem->setData(Qt::UserRole, itemData); diff --git a/src/src/commandline.cpp b/src/src/commandline.cpp index 249353c..cc57467 100644 --- a/src/src/commandline.cpp +++ b/src/src/commandline.cpp @@ -123,7 +123,7 @@ std::optional CommandLine::process(const std::wstring& line) po::store(parsed, m_vm); if (m_vm.contains("help")) { - env::Console console; + env::Console const console; std::cout << usage(c.get()) << "\n"; return 0; } @@ -138,7 +138,7 @@ std::optional CommandLine::process(const std::wstring& line) return runEarly(); } catch (po::error& e) { - env::Console console; + env::Console const console; std::cerr << e.what() << "\n" << usage(c.get()) << "\n"; @@ -154,7 +154,7 @@ std::optional CommandLine::process(const std::wstring& line) // look for help if (m_vm.contains("help")) { - env::Console console; + env::Console const console; std::cout << usage() << "\n"; return 0; } @@ -165,7 +165,7 @@ std::optional CommandLine::process(const std::wstring& line) if (qs.startsWith("--")) { // assume that for something like `ModOrganizer.exe --bleh`, it's just // a bad option instead of an executable that starts with "--" - env::Console console; + env::Console const console; std::cerr << "\nUnrecognized option " << qs.toStdString() << "\n"; return 1; @@ -194,7 +194,7 @@ std::optional CommandLine::process(const std::wstring& line) return {}; } catch (po::error& e) { - env::Console console; + env::Console const console; std::cerr << e.what() << "\n" << usage() << "\n"; @@ -235,7 +235,7 @@ std::optional CommandLine::runPostApplication(MOApplication& a) { // handle -i with no arguments if (m_vm.contains("instance") && m_vm["instance"].as().empty()) { - env::Console c; + env::Console const c; if (auto i = InstanceManager::singleton().currentInstance()) { std::cout << i->displayName().toStdString() << "\n"; @@ -600,7 +600,7 @@ Command::Meta CrashDumpCommand::meta() const std::optional CrashDumpCommand::runEarly() { - env::Console console; + env::Console const console; const auto typeString = vm()["type"].as(); const auto type = env::coreDumpTypeFromString(typeString); @@ -882,7 +882,7 @@ po::positional_options_description CreatePortableCommand::getPositional() const std::optional CreatePortableCommand::runEarly() { - env::Console console; + env::Console const console; const auto name = QString::fromStdString(vm()["name"].as()); const auto outputDir = QString::fromStdString(vm()["output"].as()); @@ -979,7 +979,7 @@ Command::Meta ListInstancesCommand::meta() const std::optional ListInstancesCommand::runEarly() { - env::Console console; + env::Console const console; // Check common locations for portable instances const QStringList searchPaths = { @@ -990,13 +990,13 @@ std::optional ListInstancesCommand::runEarly() bool found = false; for (const auto& searchPath : searchPaths) { - QDir dir(searchPath); + QDir const dir(searchPath); if (!dir.exists()) continue; for (const auto& entry : dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { const QString iniPath = QDir(dir.filePath(entry)).filePath("ModOrganizer.ini"); if (QFile::exists(iniPath)) { - QSettings ini(iniPath, QSettings::IniFormat); + QSettings const ini(iniPath, QSettings::IniFormat); if (ini.value("General/portable", false).toBool()) { if (!found) { std::cout << "Portable instances:\n"; @@ -1044,7 +1044,7 @@ po::positional_options_description InfoCommand::getPositional() const std::optional InfoCommand::runEarly() { - env::Console console; + env::Console const console; const auto instancePath = QString::fromStdString(vm()["INSTANCE"].as()); const QString iniPath = QDir(instancePath).filePath("ModOrganizer.ini"); @@ -1054,7 +1054,7 @@ std::optional InfoCommand::runEarly() return 1; } - QSettings ini(iniPath, QSettings::IniFormat); + QSettings const ini(iniPath, QSettings::IniFormat); std::cout << "Instance: " << instancePath.toStdString() << "\n"; std::cout << " Game: " << ini.value("General/gameName", "not set").toString().toStdString() << "\n"; diff --git a/src/src/createinstancedialog.cpp b/src/src/createinstancedialog.cpp index dc5680b..39b9576 100644 --- a/src/src/createinstancedialog.cpp +++ b/src/src/createinstancedialog.cpp @@ -234,7 +234,7 @@ void CreateInstanceDialog::addShortcutAction(QKeySequence seq, Actions a) void CreateInstanceDialog::doAction(Actions a) { - std::size_t i = static_cast(ui->pages->currentIndex()); + std::size_t const i = static_cast(ui->pages->currentIndex()); if (i >= m_pages.size()) { return; diff --git a/src/src/csvbuilder.cpp b/src/src/csvbuilder.cpp index 03c4763..ba6199c 100644 --- a/src/src/csvbuilder.cpp +++ b/src/src/csvbuilder.cpp @@ -14,7 +14,7 @@ CSVBuilder::~CSVBuilder() = default; void CSVBuilder::setFieldSeparator(char sep) { - char oldSeparator = m_Separator; + char const oldSeparator = m_Separator; m_Separator = sep; try { checkFields(m_Fields); diff --git a/src/src/datatab.cpp b/src/src/datatab.cpp index f793493..0f9b5ec 100644 --- a/src/src/datatab.cpp +++ b/src/src/datatab.cpp @@ -148,7 +148,7 @@ void DataTab::onRefresh() void DataTab::onBrowseVFS() { - QString dataPath = m_core.managedGame()->dataDirectory().absolutePath(); + QString const dataPath = m_core.managedGame()->dataDirectory().absolutePath(); // Mount the FUSE VFS so the file manager sees the merged mod files. log::info("Mounting VFS for Browse..."); @@ -176,7 +176,7 @@ void DataTab::onBrowseVFS() void DataTab::onBrowseRootBuilder() { - QString gameRoot = m_core.managedGame()->gameDirectory().absolutePath(); + QString const gameRoot = m_core.managedGame()->gameDirectory().absolutePath(); // Mount the FUSE VFS which also triggers Root Builder deployment to the // game root directory. diff --git a/src/src/directoryrefresher.cpp b/src/src/directoryrefresher.cpp index 1c415c7..486c8af 100644 --- a/src/src/directoryrefresher.cpp +++ b/src/src/directoryrefresher.cpp @@ -80,7 +80,7 @@ DirectoryStats& DirectoryStats::operator+=(const DirectoryStats& o) std::string DirectoryStats::csvHeader() { - QStringList sl = {"dirTimes", + QStringList const sl = {"dirTimes", "fileTimes", "sortTimes", "subdirLookupTimes", @@ -167,7 +167,7 @@ DirectoryRefresher::DirectoryRefresher(OrganizerCore* core, std::size_t threadCo DirectoryEntry* DirectoryRefresher::stealDirectoryStructure() { - QMutexLocker locker(&m_RefreshLock); + QMutexLocker const locker(&m_RefreshLock); return m_Root.release(); } @@ -175,14 +175,14 @@ void DirectoryRefresher::setMods( const std::vector>& mods, const std::set& managedArchives) { - QMutexLocker locker(&m_RefreshLock); + QMutexLocker const locker(&m_RefreshLock); m_Mods.clear(); for (auto mod = mods.begin(); mod != mods.end(); ++mod) { - QString name = std::get<0>(*mod); - ModInfo::Ptr info = ModInfo::getByIndex(ModInfo::getIndex(name)); + QString const name = std::get<0>(*mod); + ModInfo::Ptr const info = ModInfo::getByIndex(ModInfo::getIndex(name)); QString path = std::get<1>(*mod); - QString modDataDir = m_Core.managedGame()->modDataDirectory(); + QString const modDataDir = m_Core.managedGame()->modDataDirectory(); path = modDataDir.isEmpty() ? path : path + "/" + modDataDir; m_Mods.push_back( EntryInfo(name, path, info->stealFiles(), info->archives(), std::get<2>(*mod))); @@ -244,7 +244,7 @@ void DirectoryRefresher::stealModFilesIntoStructure(DirectoryEntry* directoryStr const QString& directory, const QStringList& stealFiles) { - std::wstring directoryW = ToWString(QDir::toNativeSeparators(directory)); + std::wstring const directoryW = ToWString(QDir::toNativeSeparators(directory)); // instead of adding all the files of the target directory, we just change the root of // the specified files to this mod @@ -262,8 +262,8 @@ void DirectoryRefresher::stealModFilesIntoStructure(DirectoryEntry* directoryStr log::warn(" . stealFiles[{}]: {}", i, stealFiles[i]); continue; } - QFileInfo fileInfo(filename); - FileEntryPtr file = directoryStructure->findFile(ToWString(fileInfo.fileName())); + QFileInfo const fileInfo(filename); + FileEntryPtr const file = directoryStructure->findFile(ToWString(fileInfo.fileName())); if (file.get() != nullptr) { if (file->getOrigin() == 0) { // replace data as the origin on this bsa @@ -285,9 +285,9 @@ void DirectoryRefresher::addModFilesToStructure(DirectoryEntry* directoryStructu const QString& directory, const QStringList& stealFiles) { - TimeThis tt("DirectoryRefresher::addModFilesToStructure()"); + TimeThis const tt("DirectoryRefresher::addModFilesToStructure()"); - std::wstring directoryW = ToWString(QDir::toNativeSeparators(directory)); + std::wstring const directoryW = ToWString(QDir::toNativeSeparators(directory)); DirectoryStats dummy; if (!stealFiles.empty()) { @@ -304,7 +304,7 @@ void DirectoryRefresher::addModToStructure(DirectoryEntry* directoryStructure, const QStringList& stealFiles, const QStringList& archives) { - TimeThis tt("DirectoryRefresher::addModToStructure()"); + TimeThis const tt("DirectoryRefresher::addModToStructure()"); DirectoryStats dummy; @@ -312,7 +312,7 @@ void DirectoryRefresher::addModToStructure(DirectoryEntry* directoryStructure, stealModFilesIntoStructure(directoryStructure, modName, priority, directory, stealFiles); } else { - std::wstring directoryW = ToWString(QDir::toNativeSeparators(directory)); + std::wstring const directoryW = ToWString(QDir::toNativeSeparators(directory)); directoryStructure->addFromOrigin(ToWString(modName), directoryW, priority, dummy); } @@ -342,7 +342,7 @@ struct ModThread void wakeup() { { - std::scoped_lock lock(mutex); + std::scoped_lock const lock(mutex); ready = true; } @@ -398,7 +398,7 @@ void DirectoryRefresher::addMultipleModsFilesToStructure( if (Settings::instance().archiveParsing()) { auto gamePlugins = m_Core.gameFeatures().gameFeature(); if (gamePlugins) { - QStringList lo = gamePlugins->getLoadOrder(); + QStringList const lo = gamePlugins->getLoadOrder(); loadOrder.reserve(lo.size()); for (auto&& s : lo) { loadOrder.push_back(s.toStdWString()); @@ -462,18 +462,18 @@ void DirectoryRefresher::addMultipleModsFilesToStructure( void DirectoryRefresher::refresh() { SetThisThreadName("DirectoryRefresher"); - TimeThis tt("DirectoryRefresher::refresh()"); + TimeThis const tt("DirectoryRefresher::refresh()"); auto* p = new DirectoryRefreshProgress(this); { - QMutexLocker locker(&m_RefreshLock); + QMutexLocker const locker(&m_RefreshLock); m_Root.reset(new DirectoryEntry(L"data", nullptr, 0)); IPluginGame* game = qApp->property("managed_game").value(); const QString dataPath = game->dataDirectory().absolutePath(); - std::wstring dataDirectory = + std::wstring const dataDirectory = QDir::toNativeSeparators(dataPath).toStdWString(); log::debug("refresher: game data directory = '{}'", dataPath); @@ -485,7 +485,7 @@ void DirectoryRefresher::refresh() m_Root->addFromOrigin(L"data", dataDirectory, 0, dummy); } - for (auto directory : game->secondaryDataDirectories().toStdMap()) { + for (const auto& directory : game->secondaryDataDirectories().toStdMap()) { DirectoryStats dummy; m_Root->addFromOrigin( directory.first.toStdWString(), diff --git a/src/src/downloadlist.cpp b/src/src/downloadlist.cpp index 045d248..3697839 100644 --- a/src/src/downloadlist.cpp +++ b/src/src/downloadlist.cpp @@ -111,7 +111,7 @@ QVariant DownloadList::data(const QModelIndex& index, int role) const if (!index.isValid() || index.row() < 0 || index.row() >= rowCount()) return {}; - bool pendingDownload = index.row() >= m_manager.numTotalDownloads(); + bool const pendingDownload = index.row() >= m_manager.numTotalDownloads(); if (role == Qt::DisplayRole) { if (pendingDownload) { std::tuple nexusids = @@ -203,7 +203,7 @@ QVariant DownloadList::data(const QModelIndex& index, int role) const if (pendingDownload) { return QColor(Qt::darkBlue); } else { - DownloadManager::DownloadState state = m_manager.getState(index.row()); + DownloadManager::DownloadState const state = m_manager.getState(index.row()); if (state == DownloadManager::STATE_READY) return QColor(Qt::darkGreen); else if (state == DownloadManager::STATE_UNINSTALLED) @@ -270,8 +270,8 @@ void DownloadList::rowChanged(int row) bool DownloadList::lessThanPredicate(const QModelIndex& left, const QModelIndex& right) { - int leftIndex = left.row(); - int rightIndex = right.row(); + int const leftIndex = left.row(); + int const rightIndex = right.row(); if ((leftIndex < m_manager.numTotalDownloads()) && (rightIndex < m_manager.numTotalDownloads())) { if (left.column() == DownloadList::COL_NAME) { @@ -322,8 +322,8 @@ bool DownloadList::lessThanPredicate(const QModelIndex& left, const QModelIndex& return leftID < rightID; } else if (left.column() == DownloadList::COL_STATUS) { - DownloadManager::DownloadState leftState = m_manager.getState(left.row()); - DownloadManager::DownloadState rightState = m_manager.getState(right.row()); + DownloadManager::DownloadState const leftState = m_manager.getState(left.row()); + DownloadManager::DownloadState const rightState = m_manager.getState(right.row()); if (leftState == rightState) return m_manager.getFileTime(left.row()) > m_manager.getFileTime(right.row()); else diff --git a/src/src/downloadlistview.cpp b/src/src/downloadlistview.cpp index 6666dd3..6dd06ac 100644 --- a/src/src/downloadlistview.cpp +++ b/src/src/downloadlistview.cpp @@ -55,7 +55,7 @@ void DownloadProgressDelegate::paint(QPainter* painter, return; } - bool pendingDownload = (sourceIndex.row() >= m_Manager->numTotalDownloads()); + bool const pendingDownload = (sourceIndex.row() >= m_Manager->numTotalDownloads()); if (sourceIndex.column() == DownloadList::COL_STATUS && !pendingDownload && m_Manager->getState(sourceIndex.row()) == DownloadManager::STATE_DOWNLOADING) { QProgressBar progressBar; @@ -168,7 +168,7 @@ void DownloadListView::setSourceModel(DownloadList* sourceModel) void DownloadListView::onDoubleClick(const QModelIndex& index) { - QModelIndex sourceIndex = + QModelIndex const sourceIndex = qobject_cast(model())->mapToSource(index); if (m_Manager->getState(sourceIndex.row()) >= DownloadManager::STATE_READY) emit installDownload(sourceIndex.row()); @@ -184,7 +184,7 @@ void DownloadListView::onHeaderCustomContextMenu(const QPoint& point) // display a list of all headers as checkboxes QAbstractItemModel* model = header()->model(); for (int i = 1; i < model->columnCount(); ++i) { - QString columnName = model->headerData(i, Qt::Horizontal).toString(); + QString const columnName = model->headerData(i, Qt::Horizontal).toString(); QCheckBox* checkBox = new QCheckBox(&menu); checkBox->setText(columnName); checkBox->setChecked(!header()->isSectionHidden(i)); @@ -221,14 +221,14 @@ void DownloadListView::resizeEvent(QResizeEvent* event) void DownloadListView::onCustomContextMenu(const QPoint& point) { QMenu menu(this); - QModelIndex index = indexAt(point); + QModelIndex const index = indexAt(point); bool hidden = false; try { if (index.row() >= 0) { const int row = qobject_cast(model())->mapToSource(index).row(); - DownloadManager::DownloadState state = m_Manager->getState(row); + DownloadManager::DownloadState const state = m_Manager->getState(row); hidden = m_Manager->isHidden(row); @@ -421,7 +421,7 @@ void DownloadListView::issueDeleteSelected() // point at the wrong file or be out of range. QStringList fileNames; for (const auto& idx : selectionModel()->selectedRows()) { - int row = proxy->mapToSource(idx).row(); + int const row = proxy->mapToSource(idx).row(); auto state = m_Manager->getState(row); if (state >= DownloadManager::STATE_READY) { fileNames.append(m_Manager->getFileName(row)); diff --git a/src/src/downloadmanager.cpp b/src/src/downloadmanager.cpp index 49dc7d5..f9e9126 100644 --- a/src/src/downloadmanager.cpp +++ b/src/src/downloadmanager.cpp @@ -110,20 +110,20 @@ DownloadManager::DownloadInfo::createFromMeta(const QString& filePath, bool show { DownloadInfo* info = new DownloadInfo; - QString metaFileName = filePath + ".meta"; - QFileInfo metaFileInfo(metaFileName); + QString const metaFileName = filePath + ".meta"; + QFileInfo const metaFileInfo(metaFileName); if (QDir::fromNativeSeparators(metaFileInfo.path()) .compare(QDir::fromNativeSeparators(outputDirectory), Qt::CaseInsensitive) != 0) return nullptr; - QSettings metaFile(metaFileName, QSettings::IniFormat); + QSettings const metaFile(metaFileName, QSettings::IniFormat); if (!showHidden && metaFile.value("removed", false).toBool()) { return nullptr; } else { info->m_Hidden = metaFile.value("removed", false).toBool(); } - QString fileName = QFileInfo(filePath).fileName(); + QString const fileName = QFileInfo(filePath).fileName(); if (fileName.endsWith(UNFINISHED)) { info->m_FileName = @@ -151,9 +151,9 @@ DownloadManager::DownloadInfo::createFromMeta(const QString& filePath, bool show info->m_Urls = metaFile.value("url", "").toString().split(";"); info->m_Tries = 0; info->m_TaskProgressId = TaskProgressManager::instance().getId(); - QString gameName = metaFile.value("gameName", "").toString(); - int modID = metaFile.value("modID", 0).toInt(); - int fileID = metaFile.value("fileID", 0).toInt(); + QString const gameName = metaFile.value("gameName", "").toString(); + int const modID = metaFile.value("modID", 0).toInt(); + int const fileID = metaFile.value("fileID", 0).toInt(); info->m_FileInfo = new ModRepositoryFileInfo(gameName, modID, fileID); info->m_FileInfo->name = metaFile.value("name", "").toString(); if (info->m_FileInfo->name == "0") { @@ -310,7 +310,7 @@ void DownloadManager::pauseAll() QThread::msleep(100); bool done = false; - QTime startTime = QTime::currentTime(); + QTime const startTime = QTime::currentTime(); // further loops: busy waiting for all downloads to complete. This could be neater... while (!done && (startTime.secsTo(QTime::currentTime()) < 5)) { QCoreApplication::processEvents(); @@ -333,7 +333,7 @@ void DownloadManager::pauseAll() void DownloadManager::setOutputDirectory(const QString& outputDirectory, const bool refresh) { - QStringList directories = m_DirWatcher.directories(); + QStringList const directories = m_DirWatcher.directories(); if (!directories.empty()) { m_DirWatcher.removePaths(directories); } @@ -357,14 +357,14 @@ void DownloadManager::setPluginContainer(PluginContainer* pluginContainer) void DownloadManager::refreshList() { - TimeThis tt("DownloadManager::refreshList()"); + TimeThis const tt("DownloadManager::refreshList()"); try { emit aboutToUpdate(); // avoid triggering other refreshes - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); - int downloadsBefore = m_ActiveDownloads.size(); + int const downloadsBefore = m_ActiveDownloads.size(); // remove finished downloads for (QVector::iterator iter = m_ActiveDownloads.begin(); @@ -387,14 +387,14 @@ void DownloadManager::refreshList() nameFilters.push_back(QString(UNFINISHED).toLower().toStdWString()); - QDir dir(QDir::fromNativeSeparators(m_OutputDirectory)); + QDir const dir(QDir::fromNativeSeparators(m_OutputDirectory)); // find orphaned meta files and delete them (sounds cruel but it's better for // everyone) QStringList orphans; - QStringList metaFiles = dir.entryList(QStringList() << "*.meta"); + QStringList const metaFiles = dir.entryList(QStringList() << "*.meta"); foreach (const QString& metaFile, metaFiles) { - QString baseFile = metaFile.left(metaFile.length() - 5); + QString const baseFile = metaFile.left(metaFile.length() - 5); if (!QFile::exists(dir.absoluteFilePath(baseFile))) { orphans.append(dir.absoluteFilePath(metaFile)); } @@ -444,7 +444,7 @@ void DownloadManager::refreshList() return; } - QString fileName = QDir::fromNativeSeparators(cx.self.m_OutputDirectory) + + QString const fileName = QDir::fromNativeSeparators(cx.self.m_OutputDirectory) + "/" + QString::fromWCharArray(f.data(), f.size()); DownloadInfo* info = DownloadInfo::createFromMeta( @@ -486,7 +486,7 @@ void DownloadManager::queryDownloadListInfo() "API requests will be consumed, and Mod Organizer may stutter.") .arg(incompleteCount), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { - TimeThis tt("DownloadManager::queryDownloadListInfo()"); + TimeThis const tt("DownloadManager::queryDownloadListInfo()"); log::info("Querying metadata for every download with incomplete info..."); startDisableDirWatcher(); for (size_t i = 0; i < m_ActiveDownloads.size(); i++) { @@ -548,7 +548,7 @@ bool DownloadManager::addDownload(const QStringList& URLs, QString gameName, int fileName = "unknown"; } - QUrl preferredUrl = QUrl::fromEncoded(URLs.first().toLocal8Bit()); + QUrl const preferredUrl = QUrl::fromEncoded(URLs.first().toLocal8Bit()); log::debug("selected download url: {}", preferredUrl.toString()); QHttp2Configuration h2Conf; h2Conf.setSessionReceiveWindowSize( @@ -589,7 +589,7 @@ bool DownloadManager::addDownload(QNetworkReply* reply, const QStringList& URLs, if (!fileInfo->fileName.isEmpty()) { baseName = fileInfo->fileName; } else { - QString dispoName = getFileNameFromNetworkReply(reply); + QString const dispoName = getFileNameFromNetworkReply(reply); if (!dispoName.isEmpty()) { baseName = dispoName; @@ -597,7 +597,7 @@ bool DownloadManager::addDownload(QNetworkReply* reply, const QStringList& URLs, } // baseName could be a URL at this point so strip out the URL query - int queryIndex = baseName.indexOf("?"); + int const queryIndex = baseName.indexOf("?"); if (queryIndex >= 0) { baseName.truncate(queryIndex); } @@ -616,7 +616,7 @@ void DownloadManager::removePending(QString gameName, int modID, int fileID) QString gameShortName = gameName; QStringList games(m_ManagedGame->validShortNames()); games += m_ManagedGame->gameShortName(); - for (auto game : games) { + for (const auto& game : games) { MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game); if (gamePlugin != nullptr && gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) { @@ -711,7 +711,7 @@ void DownloadManager::startDownload(QNetworkReply* reply, DownloadInfo* newDownl if (newDownload->m_State != STATE_DOWNLOADING && newDownload->m_State != STATE_READY && newDownload->m_State != STATE_FETCHINGMODINFO && reply->isFinished()) { - int index = indexByInfo(newDownload); + int const index = indexByInfo(newDownload); if (index >= 0) { downloadFinished(index); } @@ -723,7 +723,7 @@ void DownloadManager::startDownload(QNetworkReply* reply, DownloadInfo* newDownl void DownloadManager::addNXMDownload(const QString& url) { - NXMUrl nxmInfo(url); + NXMUrl const nxmInfo(url); QStringList validGames; const MOBase::IPluginGame* foundGame = nullptr; @@ -865,7 +865,7 @@ void DownloadManager::addNXMDownload(const QString& url) void DownloadManager::removeFile(int index, bool deleteFile) { // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); if (index >= m_ActiveDownloads.size()) { throw MyException(tr("remove: invalid download index %1").arg(index)); @@ -890,7 +890,7 @@ void DownloadManager::removeFile(int index, bool deleteFile) return; } - QFile metaFile(filePath.append(".meta")); + QFile const metaFile(filePath.append(".meta")); if (metaFile.exists() && !shellDelete(QStringList(filePath), true)) { reportError(tr("failed to delete meta file for %1").arg(filePath)); } @@ -938,7 +938,7 @@ void DownloadManager::restoreDownload(int index) { if (index < 0) { - DownloadState minState = STATE_READY; + DownloadState const minState = STATE_READY; index = 0; for (QVector::const_iterator iter = m_ActiveDownloads.begin(); @@ -974,18 +974,18 @@ void DownloadManager::removeDownload(int index, bool deleteFile) { try { // avoid dirWatcher triggering refreshes - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); emit aboutToUpdate(); if (index < 0) { - bool removeAll = (index == -1); - DownloadState removeState = (index == -2 ? STATE_INSTALLED : STATE_UNINSTALLED); + bool const removeAll = (index == -1); + DownloadState const removeState = (index == -2 ? STATE_INSTALLED : STATE_UNINSTALLED); index = 0; for (QVector::iterator iter = m_ActiveDownloads.begin(); iter != m_ActiveDownloads.end();) { - DownloadState downloadState = (*iter)->m_State; + DownloadState const downloadState = (*iter)->m_State; if ((removeAll && (downloadState >= STATE_READY)) || (removeState == downloadState)) { removeFile(index, deleteFile); @@ -1101,7 +1101,7 @@ void DownloadManager::resumeDownloadInt(int index) m_NexusInterface->getAccessManager()->userAgent()); if (info->m_State != STATE_ERROR) { info->m_ResumePos = info->m_Output.size(); - QByteArray rangeHeader = "bytes=" + QByteArray::number(info->m_ResumePos) + "-"; + QByteArray const rangeHeader = "bytes=" + QByteArray::number(info->m_ResumePos) + "-"; request.setRawHeader("Range", rangeHeader); } info->m_DownloadLast = 0; @@ -1148,13 +1148,13 @@ void DownloadManager::queryInfo(int index) } if (info->m_FileInfo->modID <= 0) { - QString fileName = getFileName(index); + QString const fileName = getFileName(index); QString ignore; NexusInterface::interpretNexusFileName(fileName, ignore, info->m_FileInfo->modID, info->m_AskIfNotFound); if (info->m_FileInfo->modID < 0) { bool ok = false; - int modId = QInputDialog::getInt(nullptr, tr("Please enter the Nexus mod ID"), + int const modId = QInputDialog::getInt(nullptr, tr("Please enter the Nexus mod ID"), tr("Mod ID:"), 1, 1, std::numeric_limits::max(), 1, &ok); // careful now: while the dialog was displayed, events were processed. @@ -1180,7 +1180,7 @@ void DownloadManager::queryInfo(int index) if (choices.size() == 1) { info->m_FileInfo->gameName = choices[0].first; } else { - for (auto choice : choices) { + for (const auto& choice : choices) { selection.addChoice(choice.first, choice.second, choice.first); } if (selection.exec() == QDialog::Accepted) { @@ -1274,9 +1274,9 @@ void DownloadManager::visitOnNexus(int index) // UI shouldn't allow this return; } - int modID = info->m_FileInfo->modID; + int const modID = info->m_FileInfo->modID; - QString gameName = info->m_FileInfo->gameName; + QString const gameName = info->m_FileInfo->gameName; if (modID > 0) { shell::Open(QUrl(m_NexusInterface->getModURL(modID, gameName))); } else { @@ -1312,7 +1312,7 @@ void DownloadManager::openFile(int index) return; } - QDir path = QDir(m_OutputDirectory); + QDir const path = QDir(m_OutputDirectory); if (path.exists(getFileName(index))) { shell::Open(getFilePath(index)); return; @@ -1460,7 +1460,7 @@ QDateTime DownloadManager::getFileTime(int index) const DownloadInfo* info = m_ActiveDownloads.at(index); if (!info->m_Created.isValid()) { - QFileInfo fileInfo(info->m_Output); + QFileInfo const fileInfo(info->m_Output); info->m_Created = fileInfo.birthTime(); if (!info->m_Created.isValid()) info->m_Created = fileInfo.metadataChangeTime(); @@ -1565,7 +1565,7 @@ void DownloadManager::markInstalled(int index) } // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); DownloadInfo* info = m_ActiveDownloads.at(index); QSettings metaFile(info->m_Output.fileName() + ".meta", QSettings::IniFormat); @@ -1577,14 +1577,14 @@ void DownloadManager::markInstalled(int index) void DownloadManager::markInstalled(QString fileName) { - int index = indexByName(fileName); + int const index = indexByName(fileName); if (index >= 0) { markInstalled(index); } else { DownloadInfo* info = getDownloadInfo(fileName); if (info != nullptr) { // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); QSettings metaFile(info->m_Output.fileName() + ".meta", QSettings::IniFormat); metaFile.setValue("installed", true); @@ -1606,7 +1606,7 @@ void DownloadManager::markUninstalled(int index) } // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); DownloadInfo* info = m_ActiveDownloads.at(index); QSettings metaFile(info->m_Output.fileName() + ".meta", QSettings::IniFormat); @@ -1617,16 +1617,16 @@ void DownloadManager::markUninstalled(int index) void DownloadManager::markUninstalled(QString fileName) { - int index = indexByName(fileName); + int const index = indexByName(fileName); if (index >= 0) { markUninstalled(index); } else { - QString filePath = QDir::fromNativeSeparators(m_OutputDirectory) + "/" + fileName; + QString const filePath = QDir::fromNativeSeparators(m_OutputDirectory) + "/" + fileName; DownloadInfo* info = getDownloadInfo(filePath); if (info != nullptr) { // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); QSettings metaFile(info->m_Output.fileName() + ".meta", QSettings::IniFormat); metaFile.setValue("uninstalled", true); @@ -1653,7 +1653,7 @@ QString DownloadManager::getDownloadFileName(const QString& baseName, bool renam QString DownloadManager::getFileNameFromNetworkReply(QNetworkReply* reply) { if (reply->hasRawHeader("Content-Disposition")) { - std::regex exp("filename=\"(.+)\""); + std::regex const exp("filename=\"(.+)\""); std::cmatch result; if (std::regex_search(reply->rawHeader("Content-Disposition").constData(), result, @@ -1756,11 +1756,11 @@ void DownloadManager::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) if (bytesTotal > info->m_TotalSize) { info->m_TotalSize = bytesTotal; } - int oldProgress = info->m_Progress.first; + int const oldProgress = info->m_Progress.first; info->m_Progress.first = ((info->m_ResumePos + bytesReceived) * 100) / (info->m_ResumePos + bytesTotal); - qint64 elapsed = info->m_StartTime.elapsed(); + qint64 const elapsed = info->m_StartTime.elapsed(); info->m_DownloadAcc(bytesReceived - info->m_DownloadLast); info->m_DownloadLast = bytesReceived; info->m_DownloadTimeAcc(elapsed - info->m_DownloadTimeLast); @@ -1800,7 +1800,7 @@ void DownloadManager::downloadReadyRead() void DownloadManager::createMetaFile(DownloadInfo* info) { // Avoid triggering refreshes from DirWatcher - ScopedDisableDirWatcher scopedDirWatcher(this); + ScopedDisableDirWatcher const scopedDirWatcher(this); QSettings metaFile(QString("%1.meta").arg(info->m_Output.fileName()), QSettings::IniFormat); @@ -1838,7 +1838,7 @@ void DownloadManager::createMetaFile(DownloadInfo* info) void DownloadManager::nxmDescriptionAvailable(QString, int, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -1867,7 +1867,7 @@ void DownloadManager::nxmDescriptionAvailable(QString, int, QVariant userData, void DownloadManager::nxmFilesAvailable(QString, int, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -1885,7 +1885,7 @@ void DownloadManager::nxmFilesAvailable(QString, int, QVariant userData, // this may muck up the file name comparison QString alternativeLocalName = info->m_FileName; - QRegularExpression expression("^\\d_(.*)$"); + QRegularExpression const expression("^\\d_(.*)$"); auto match = expression.match(alternativeLocalName); if (match.hasMatch()) { alternativeLocalName = match.captured(1); @@ -1893,10 +1893,10 @@ void DownloadManager::nxmFilesAvailable(QString, int, QVariant userData, bool found = false; - for (QVariant file : files) { + for (const QVariant& file : files) { QVariantMap fileInfo = file.toMap(); - QString fileName = fileInfo["file_name"].toString(); - QString fileNameVariant = fileName.mid(0).replace(' ', '_'); + QString const fileName = fileInfo["file_name"].toString(); + QString const fileNameVariant = fileName.mid(0).replace(' ', '_'); if ((fileName == info->m_RemoteFileName) || (fileNameVariant == info->m_RemoteFileName) || (fileName == info->m_FileName) || (fileNameVariant == info->m_FileName) || (fileName == alternativeLocalName) || @@ -1935,7 +1935,7 @@ void DownloadManager::nxmFilesAvailable(QString, int, QVariant userData, return lhs.toMap()["uploaded_timestamp"].toInt() > rhs.toMap()["uploaded_timestamp"].toInt(); }); - for (QVariant file : files) { + for (const QVariant& file : files) { QVariantMap fileInfo = file.toMap(); if (fileInfo["category_id"].toInt() != NexusInterface::FileStatus::REMOVED && fileInfo["category_id"].toInt() != NexusInterface::FileStatus::ARCHIVED) @@ -1966,7 +1966,7 @@ void DownloadManager::nxmFileInfoAvailable(QString gameName, int modID, int file QVariant userData, QVariant resultData, int requestID) { - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -1995,7 +1995,7 @@ void DownloadManager::nxmFileInfoAvailable(QString gameName, int modID, int file info->gameName = gameName; QStringList games(m_ManagedGame->validShortNames()); games += m_ManagedGame->gameShortName(); - for (auto game : games) { + for (const auto& game : games) { MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game); if (gamePlugin != nullptr && gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) { @@ -2047,7 +2047,7 @@ bool ServerByPreference(const ServerList::container& preferredServers, int DownloadManager::startDownloadURLs(const QStringList& urls) { - ModRepositoryFileInfo info; + ModRepositoryFileInfo const info; addDownload(urls, "", -1, -1, &info); return m_ActiveDownloads.size() - 1; } @@ -2055,7 +2055,7 @@ int DownloadManager::startDownloadURLs(const QStringList& urls) int DownloadManager::startDownloadNexusFile(const QString& gameName, int modID, int fileID) { - int newID = m_ActiveDownloads.size(); + int const newID = m_ActiveDownloads.size(); addNXMDownload( QString("nxm://%1/mods/%2/files/%3").arg(gameName).arg(modID).arg(fileID)); return newID; @@ -2116,7 +2116,7 @@ void DownloadManager::nxmDownloadURLsAvailable(QString gameName, int modID, int { using namespace boost::placeholders; - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -2150,7 +2150,7 @@ void DownloadManager::nxmDownloadURLsAvailable(QString gameName, int modID, int void DownloadManager::nxmFileInfoFromMd5Available(QString gameName, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -2233,7 +2233,7 @@ void DownloadManager::nxmFileInfoFromMd5Available(QString gameName, QVariant use QString gameShortName = gameName; QStringList games(m_ManagedGame->validShortNames()); games += m_ManagedGame->gameShortName(); - for (auto game : games) { + for (const auto& game : games) { MOBase::IPluginGame* gamePlugin = m_OrganizerCore->getGame(game); if (gamePlugin != nullptr && gamePlugin->gameNexusName().compare(gameName, Qt::CaseInsensitive) == 0) { @@ -2257,7 +2257,7 @@ void DownloadManager::nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData, int requestID, int errorCode, const QString& errorString) { - std::set::iterator idIter = m_RequestIDs.find(requestID); + std::set::iterator const idIter = m_RequestIDs.find(requestID); if (idIter == m_RequestIDs.end()) { return; } else { @@ -2333,7 +2333,7 @@ void DownloadManager::downloadFinished(int index) bool error = false; if ((info->m_State != STATE_CANCELING) && (info->m_State != STATE_PAUSING)) { - bool textData = reply->header(QNetworkRequest::ContentTypeHeader) + bool const textData = reply->header(QNetworkRequest::ContentTypeHeader) .toString() .startsWith("text", Qt::CaseInsensitive); if (textData) @@ -2382,13 +2382,13 @@ void DownloadManager::downloadFinished(int index) createMetaFile(info); emit update(index); } else { - QString url = info->m_Urls[info->m_CurrentUrl]; + QString const url = info->m_Urls[info->m_CurrentUrl]; if (info->m_FileInfo->userData.contains("downloadMap")) { foreach (const QVariant& server, info->m_FileInfo->userData["downloadMap"].toList()) { QVariantMap serverMap = server.toMap(); if (serverMap["URI"].toString() == url) { - int deltaTime = info->m_StartTime.elapsed() / 1000; + int const deltaTime = info->m_StartTime.elapsed() / 1000; if (deltaTime > 5) { emit downloadSpeed(serverMap["short_name"].toString(), (info->m_TotalSize - info->m_PreResumeSize) / @@ -2400,7 +2400,7 @@ void DownloadManager::downloadFinished(int index) } } - bool isNexus = info->m_FileInfo->repository == "Nexus"; + bool const isNexus = info->m_FileInfo->repository == "Nexus"; // need to change state before changing the file name, otherwise .unfinished is // appended if (isNexus) { @@ -2409,8 +2409,8 @@ void DownloadManager::downloadFinished(int index) setState(info, STATE_NOFETCH); } - QString newName = getFileNameFromNetworkReply(reply); - QString oldName = QFileInfo(info->m_Output).fileName(); + QString const newName = getFileNameFromNetworkReply(reply); + QString const oldName = QFileInfo(info->m_Output).fileName(); startDisableDirWatcher(); // Rename to Content-Disposition if either we have no name yet, or the @@ -2538,7 +2538,7 @@ void DownloadManager::writeData(DownloadInfo* info) if (info != nullptr) { qint64 ret = info->m_Output.write(info->m_Reply->readAll()); if (ret < info->m_Reply->size()) { - QString fileName = + QString const fileName = info->m_FileName; // m_FileName may be destroyed after setState setState(info, DownloadState::STATE_CANCELED); diff --git a/src/src/editexecutablesdialog.cpp b/src/src/editexecutablesdialog.cpp index 15f669a..723b3f5 100644 --- a/src/src/editexecutablesdialog.cpp +++ b/src/src/editexecutablesdialog.cpp @@ -138,7 +138,7 @@ EditExecutablesDialog::~EditExecutablesDialog() = default; int EditExecutablesDialog::exec() { - GeometrySaver gs(Settings::instance(), this); + GeometrySaver const gs(Settings::instance(), this); return QDialog::exec(); } @@ -341,7 +341,7 @@ QListWidgetItem* EditExecutablesDialog::createListItem(const Executable& exe) void EditExecutablesDialog::updateUI(const QListWidgetItem* item, const Executable* e) { // the ui is currently being set, ignore changes - IgnoreChanges c(this); + IgnoreChanges const c(this); if (e) { setEdits(*e); @@ -842,7 +842,7 @@ void EditExecutablesDialog::setBinary(const QFileInfo& binary) void EditExecutablesDialog::on_browseWorkingDirectory_clicked() { - QString dirName = FileDialogMemory::getExistingDirectory( + QString const dirName = FileDialogMemory::getExistingDirectory( "editExecutableDirectory", this, tr("Select a directory"), ui->workingDirectory->text()); @@ -916,7 +916,7 @@ void EditExecutablesDialog::setJarBinary(const QFileInfo& binary) { // only save once - IgnoreChanges c(this); + IgnoreChanges const c(this); ui->binary->setText(java); ui->workingDirectory->setText(QDir::toNativeSeparators(binary.absolutePath())); diff --git a/src/src/env.cpp b/src/src/env.cpp index e69b83c..e731016 100644 --- a/src/src/env.cpp +++ b/src/src/env.cpp @@ -111,7 +111,7 @@ const Metrics& Environment::metrics() const QString Environment::timezone() { - QTimeZone tz = QTimeZone::systemTimeZone(); + QTimeZone const tz = QTimeZone::systemTimeZone(); if (!tz.isValid()) { log::error("failed to get system timezone"); return "unknown"; @@ -348,7 +348,7 @@ bool registryValueExists(const QString&, const QString&) std::filesystem::path thisProcessPath() { char buf[PATH_MAX] = {}; - ssize_t len = ::readlink("/proc/self/exe", buf, sizeof(buf) - 1); + ssize_t const len = ::readlink("/proc/self/exe", buf, sizeof(buf) - 1); if (len <= 0) { std::cerr << "failed to readlink /proc/self/exe: " << strerror(errno) << "\n"; return {}; @@ -375,7 +375,7 @@ pid_t findOtherPid() const auto pidStr = entry.path().filename().string(); bool isNumber = true; - for (char c : pidStr) { + for (char const c : pidStr) { if (!std::isdigit(static_cast(c))) { isNumber = false; break; @@ -385,7 +385,7 @@ pid_t findOtherPid() continue; } - pid_t pid = std::stoi(pidStr); + pid_t const pid = std::stoi(pidStr); if (pid == thisPid) { continue; } diff --git a/src/src/envfs.cpp b/src/src/envfs.cpp index 03e48d0..e5fe4da 100644 --- a/src/src/envfs.cpp +++ b/src/src/envfs.cpp @@ -59,7 +59,7 @@ namespace DirEndF* dirEndF, FileF* fileF) { std::error_code ec; - fs::directory_iterator it(path, ec); + fs::directory_iterator const it(path, ec); if (ec) { return; } diff --git a/src/src/envfs.h b/src/src/envfs.h index 9214ed8..cd499b7 100644 --- a/src/src/envfs.h +++ b/src/src/envfs.h @@ -133,7 +133,7 @@ private: void wakeup() { { - std::scoped_lock lock(mutex); + std::scoped_lock const lock(mutex); ready = true; } diff --git a/src/src/envmodule.cpp b/src/src/envmodule.cpp index f93b419..0cfc6e5 100644 --- a/src/src/envmodule.cpp +++ b/src/src/envmodule.cpp @@ -120,7 +120,7 @@ Module::FileInfo Module::getFileInfo() QDateTime Module::getTimestamp() const { - QFileInfo fi(m_path); + QFileInfo const fi(m_path); if (!fi.exists()) { return {}; } @@ -260,14 +260,14 @@ std::vector getLoadedModules() continue; } - QString qpath = QString::fromStdString(path); + QString const qpath = QString::fromStdString(path); if (seen.contains(qpath)) { continue; } seen.insert(qpath); - QFileInfo fi(qpath); + QFileInfo const fi(qpath); if (fi.exists()) { v.push_back(Module(qpath, fi.size())); } @@ -304,11 +304,11 @@ std::vector getRunningProcesses() continue; } - pid_t pid = static_cast(std::strtol(entry->d_name, nullptr, 10)); + pid_t const pid = static_cast(std::strtol(entry->d_name, nullptr, 10)); QString name; { - std::string commPath = "/proc/" + std::string(entry->d_name) + "/comm"; + std::string const commPath = "/proc/" + std::string(entry->d_name) + "/comm"; std::ifstream commFile(commPath); if (commFile.is_open()) { std::string commName; @@ -319,7 +319,7 @@ std::vector getRunningProcesses() pid_t ppid = 0; { - std::string statusPath = "/proc/" + std::string(entry->d_name) + "/status"; + std::string const statusPath = "/proc/" + std::string(entry->d_name) + "/status"; std::ifstream statusFile(statusPath); if (statusFile.is_open()) { std::string statusLine; @@ -372,7 +372,7 @@ Process getProcessTree(pid_t pid) QString getProcessName(pid_t pid) { - std::string commPath = "/proc/" + std::to_string(pid) + "/comm"; + std::string const commPath = "/proc/" + std::to_string(pid) + "/comm"; std::ifstream commFile(commPath); if (!commFile.is_open()) { @@ -387,7 +387,7 @@ QString getProcessName(pid_t pid) pid_t getProcessParentID(pid_t pid) { - std::string statusPath = "/proc/" + std::to_string(pid) + "/status"; + std::string const statusPath = "/proc/" + std::to_string(pid) + "/status"; std::ifstream statusFile(statusPath); if (!statusFile.is_open()) { diff --git a/src/src/envsecurity.cpp b/src/src/envsecurity.cpp index 71d47dd..fa0b2ec 100644 --- a/src/src/envsecurity.cpp +++ b/src/src/envsecurity.cpp @@ -90,7 +90,7 @@ FileSecurity getFileSecurity(const QString& path) struct passwd* pw = getpwuid(st.st_uid); if (pw) { - uid_t currentUid = getuid(); + uid_t const currentUid = getuid(); if (st.st_uid == currentUid) { fs.owner = "(this user)"; } else { diff --git a/src/src/envshortcut.cpp b/src/src/envshortcut.cpp index d54a173..63d3eff 100644 --- a/src/src/envshortcut.cpp +++ b/src/src/envshortcut.cpp @@ -84,7 +84,7 @@ static QImage extractIconFromExe(const QString& exePath) if (dosHdr.size() < 64 || dosHdr[0] != 'M' || dosHdr[1] != 'Z') return {}; - quint32 peOff = u32(dosHdr.constData() + 0x3C); + quint32 const peOff = u32(dosHdr.constData() + 0x3C); // PE signature. QByteArray peSig = peek(peOff, 4); @@ -92,20 +92,20 @@ static QImage extractIconFromExe(const QString& exePath) return {}; // COFF header (20 bytes) immediately after the 4-byte PE signature. - QByteArray coffHdr = peek(peOff + 4, 20); + QByteArray const coffHdr = peek(peOff + 4, 20); if (coffHdr.size() < 20) return {}; - quint16 numSections = u16(coffHdr.constData() + 2); - quint16 optionalHdrSize = u16(coffHdr.constData() + 16); + quint16 const numSections = u16(coffHdr.constData() + 2); + quint16 const optionalHdrSize = u16(coffHdr.constData() + 16); // Optional header — we need the magic (PE32 vs PE32+) and the // resource data directory entry (index 2). - qint64 optOff = peOff + 4 + 20; - QByteArray optHdr = peek(optOff, optionalHdrSize); + qint64 const optOff = peOff + 4 + 20; + QByteArray const optHdr = peek(optOff, optionalHdrSize); if (optHdr.size() < 4) return {}; - quint16 magic = u16(optHdr.constData()); + quint16 const magic = u16(optHdr.constData()); int ddOffset; // offset of DataDirectory[0] inside optional header if (magic == 0x10b) // PE32 ddOffset = 96; @@ -115,7 +115,7 @@ static QImage extractIconFromExe(const QString& exePath) return {}; // DataDirectory[2] = resource table (each entry is 8 bytes: RVA + Size). - int rsrcDDOff = ddOffset + 2 * 8; + int const rsrcDDOff = ddOffset + 2 * 8; if (rsrcDDOff + 8 > optHdr.size()) return {}; quint32 rsrcRVA = u32(optHdr.constData() + rsrcDDOff); @@ -123,16 +123,16 @@ static QImage extractIconFromExe(const QString& exePath) return {}; // Section headers — find the section containing rsrcRVA. - qint64 secOff = optOff + optionalHdrSize; + qint64 const secOff = optOff + optionalHdrSize; quint32 rsrcFileOff = 0; quint32 rsrcVA = 0; for (int i = 0; i < numSections; ++i) { - QByteArray sec = peek(secOff + i * 40, 40); + QByteArray const sec = peek(secOff + i * 40, 40); if (sec.size() < 40) return {}; - quint32 virtAddr = u32(sec.constData() + 12); - quint32 virtSize = u32(sec.constData() + 8); - quint32 rawOff = u32(sec.constData() + 20); + quint32 const virtAddr = u32(sec.constData() + 12); + quint32 const virtSize = u32(sec.constData() + 8); + quint32 const rawOff = u32(sec.constData() + 20); if (rsrcRVA >= virtAddr && rsrcRVA < virtAddr + virtSize) { rsrcFileOff = rawOff + (rsrcRVA - virtAddr); rsrcVA = virtAddr; @@ -151,17 +151,17 @@ static QImage extractIconFromExe(const QString& exePath) struct DirEntry { quint32 id; quint32 offset; bool isDir; }; auto readDir = [&](quint32 dirFileOff) -> std::vector { std::vector entries; - QByteArray dh = peek(dirFileOff, 16); + QByteArray const dh = peek(dirFileOff, 16); if (dh.size() < 16) return entries; - quint16 numNamed = u16(dh.constData() + 12); - quint16 numId = u16(dh.constData() + 14); - int total = numNamed + numId; - QByteArray ea = peek(dirFileOff + 16, total * 8); + quint16 const numNamed = u16(dh.constData() + 12); + quint16 const numId = u16(dh.constData() + 14); + int const total = numNamed + numId; + QByteArray const ea = peek(dirFileOff + 16, total * 8); if (ea.size() < total * 8) return entries; for (int i = 0; i < total; ++i) { - quint32 nameOrId = u32(ea.constData() + i * 8); + quint32 const nameOrId = u32(ea.constData() + i * 8); quint32 off = u32(ea.constData() + i * 8 + 4); - bool isDir = (off & 0x80000000u) != 0; + bool const isDir = (off & 0x80000000u) != 0; off &= 0x7FFFFFFFu; entries.push_back({nameOrId, off, isDir}); } @@ -189,17 +189,17 @@ static QImage extractIconFromExe(const QString& exePath) return {}; // Read the data entry (RVA + size). - QByteArray dataEntry = peek(rsrcFileOff + groupL2[0].offset, 16); + QByteArray const dataEntry = peek(rsrcFileOff + groupL2[0].offset, 16); if (dataEntry.size() < 16) return {}; - quint32 grpDataRVA = u32(dataEntry.constData()); - quint32 grpDataSize = u32(dataEntry.constData() + 4); - QByteArray grpData = peek(rvaToFile(grpDataRVA), grpDataSize); + quint32 const grpDataRVA = u32(dataEntry.constData()); + quint32 const grpDataSize = u32(dataEntry.constData() + 4); + QByteArray const grpData = peek(rvaToFile(grpDataRVA), grpDataSize); if (grpData.size() < 6) return {}; // Parse the GRPICONDIR: pick the icon entry with the largest area. - quint16 iconCount = u16(grpData.constData() + 4); + quint16 const iconCount = u16(grpData.constData() + 4); if (grpData.size() < 6 + iconCount * 14) return {}; @@ -212,7 +212,7 @@ static QImage extractIconFromExe(const QString& exePath) int h = static_cast(e[1]); if (w == 0) w = 256; if (h == 0) h = 256; - int area = w * h; + int const area = w * h; if (area > bestArea) { bestArea = area; bestIdx = i; @@ -236,12 +236,12 @@ static QImage extractIconFromExe(const QString& exePath) if (iconEntryOff == 0) return {}; - QByteArray iconDE = peek(iconEntryOff, 16); + QByteArray const iconDE = peek(iconEntryOff, 16); if (iconDE.size() < 16) return {}; - quint32 iconDataRVA = u32(iconDE.constData()); - quint32 iconDataSize = u32(iconDE.constData() + 4); - QByteArray iconData = peek(rvaToFile(iconDataRVA), iconDataSize); + quint32 const iconDataRVA = u32(iconDE.constData()); + quint32 const iconDataSize = u32(iconDE.constData() + 4); + QByteArray const iconData = peek(rvaToFile(iconDataRVA), iconDataSize); if (iconData.isEmpty()) return {}; @@ -263,7 +263,7 @@ static QImage extractIconFromExe(const QString& exePath) const char* grpE = grpData.constData() + 6 + bestIdx * 14; char entry[16]; memcpy(entry, grpE, 12); // copy w,h,colorCount,reserved,planes,bitCount,size - quint32 dataOff = 6 + 16; // offset to icon data = after header + 1 entry + quint32 const dataOff = 6 + 16; // offset to icon data = after header + 1 entry entry[12] = dataOff & 0xFF; entry[13] = (dataOff >> 8) & 0xFF; entry[14] = (dataOff >> 16) & 0xFF; @@ -285,7 +285,7 @@ static QImage extractIconFromExe(const QString& exePath) // or the installed hicolor copy. Empty string if neither exists. static QString bundledFluorineIcon() { - QString appDir = QProcessEnvironment::systemEnvironment().value("APPDIR"); + QString const appDir = QProcessEnvironment::systemEnvironment().value("APPDIR"); if (!appDir.isEmpty()) { QString bundled = appDir + "/usr/share/icons/hicolor/256x256/apps/com.fluorine.manager.png"; if (QFile::exists(bundled)) @@ -302,7 +302,7 @@ static QString bundledFluorineIcon() // (same file size as the bundled one). static bool isFallbackIcon(const QString& iconPath) { - QString bundled = bundledFluorineIcon(); + QString const bundled = bundledFluorineIcon(); if (bundled.isEmpty()) return false; return QFileInfo(iconPath).size() == QFileInfo(bundled).size(); @@ -316,7 +316,7 @@ static bool isFallbackIcon(const QString& iconPath) // in case the executable has changed or was previously unavailable. static QString installIcon(const QString& iconBaseName, const QString& exePath = {}) { - QString iconDir = QDir::homePath() + "/.local/share/icons/fluorine"; + QString const iconDir = QDir::homePath() + "/.local/share/icons/fluorine"; QString iconDest = iconDir + "/" + iconBaseName + ".png"; // If the icon already exists and is NOT the fallback, keep it. @@ -347,7 +347,7 @@ static QString installIcon(const QString& iconBaseName, const QString& exePath = } // Install the bundled Fluorine icon as a fallback. - QString bundled = bundledFluorineIcon(); + QString const bundled = bundledFluorineIcon(); if (!bundled.isEmpty()) { QFile::copy(bundled, iconDest); return iconDest; @@ -367,7 +367,7 @@ Shortcut::Shortcut(const Executable& exe) : Shortcut() // For portable instances, use the absolute directory path so MO2 can // find it (line 595 in instancemanager.cpp handles abs path lookup). // For global instances, use the display name. - QString instanceId = i.isPortable() ? QDir(i.directory()).absolutePath() + QString const instanceId = i.isPortable() ? QDir(i.directory()).absolutePath() : i.displayName(); m_arguments = QString("\"moshortcut://%1:%2\"") .arg(instanceId) @@ -378,12 +378,12 @@ Shortcut::Shortcut(const Executable& exe) : Shortcut() // Try to extract the icon from the executable (works for .exe files). // For native Linux binaries with a custom icon, use that directly. // Falls back to the bundled Fluorine icon. - QString exePath = exe.binaryInfo().absoluteFilePath(); + QString const exePath = exe.binaryInfo().absoluteFilePath(); if (exe.usesOwnIcon() && !exePath.endsWith(".exe", Qt::CaseInsensitive)) { m_icon = exePath; } if (m_icon.isEmpty()) { - QString iconBase = sanitizeDesktopName(m_instanceName) + "-" + + QString const iconBase = sanitizeDesktopName(m_instanceName) + "-" + sanitizeDesktopName(m_name); m_icon = installIcon(iconBase, exePath); } diff --git a/src/src/envwindows.cpp b/src/src/envwindows.cpp index a806df9..540b1d7 100644 --- a/src/src/envwindows.cpp +++ b/src/src/envwindows.cpp @@ -33,7 +33,7 @@ WindowsInfo::Version WindowsInfo::getKernelVersion() Version v; // Parse kernel version like "6.18.9-2-cachyos". - QString kver = QString::fromUtf8(uts.release); + QString const kver = QString::fromUtf8(uts.release); QStringList parts = kver.split('.'); if (!parts.empty()) @@ -42,7 +42,7 @@ WindowsInfo::Version WindowsInfo::getKernelVersion() v.minor = parts[1].toUInt(); if (parts.size() >= 3) { QString buildStr = parts[2]; - int dashPos = buildStr.indexOf('-'); + int const dashPos = buildStr.indexOf('-'); if (dashPos >= 0) { buildStr = buildStr.left(dashPos); } @@ -64,7 +64,7 @@ WindowsInfo::Release WindowsInfo::getRelease() if (eqPos == std::string::npos) continue; - std::string key = line.substr(0, eqPos); + std::string const key = line.substr(0, eqPos); std::string val = line.substr(eqPos + 1); if (val.size() >= 2 && val.front() == '"' && val.back() == '"') { diff --git a/src/src/filetree.cpp b/src/src/filetree.cpp index 32f9ea3..c9f2bb2 100644 --- a/src/src/filetree.cpp +++ b/src/src/filetree.cpp @@ -76,7 +76,7 @@ public: void addTo(QMenu& menu) { - QString s; + QString const s; setTips(); @@ -346,13 +346,13 @@ void FileTree::openModInfo(FileTreeItem* item) const auto& origin = m_core.directoryStructure()->getOriginByID(originID); const auto& name = QString::fromStdWString(origin.getName()); - unsigned int index = ModInfo::getIndex(name); + unsigned int const index = ModInfo::getIndex(name); if (index == UINT_MAX) { log::error("can't open mod info, mod '{}' not found", name); return; } - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); if (modInfo) { emit displayModInformation(modInfo, index, ModInfoTabIDs::None); } @@ -419,7 +419,7 @@ void FileTree::dumpToFile() const { log::debug("dumping filetree to file"); - QString file = QFileDialog::getSaveFileName(m_tree->window()); + QString const file = QFileDialog::getSaveFileName(m_tree->window()); if (file.isEmpty()) { log::debug("user canceled"); return; diff --git a/src/src/filetreeitem.cpp b/src/src/filetreeitem.cpp index 6ab7e91..144edf0 100644 --- a/src/src/filetreeitem.cpp +++ b/src/src/filetreeitem.cpp @@ -37,7 +37,7 @@ const QString& cachedFileType(const std::wstring& file, bool /*isOnFilesystem*/) return cachedFileTypeNoExtension(); } - std::scoped_lock lock(mutex); + std::scoped_lock const lock(mutex); const auto sv = std::wstring_view(file.c_str() + dot, file.size() - dot); auto itor = map.find(sv); @@ -45,9 +45,9 @@ const QString& cachedFileType(const std::wstring& file, bool /*isOnFilesystem*/) return itor->second; } - static QMimeDatabase mimeDb; - QString filename = QString::fromStdWString(file); - QMimeType mimeType = mimeDb.mimeTypeForFile(filename, QMimeDatabase::MatchExtension); + static QMimeDatabase const mimeDb; + QString const filename = QString::fromStdWString(file); + QMimeType const mimeType = mimeDb.mimeTypeForFile(filename, QMimeDatabase::MatchExtension); QString s = mimeType.comment(); if (s.isEmpty()) { s = cachedFileTypeNoExtension(); diff --git a/src/src/filetreemodel.cpp b/src/src/filetreemodel.cpp index 0724ff0..b60610a 100644 --- a/src/src/filetreemodel.cpp +++ b/src/src/filetreemodel.cpp @@ -202,7 +202,7 @@ FileTreeModel::FileTreeModel(OrganizerCore& core, QObject* parent) void FileTreeModel::refresh() { - TimeThis tt("FileTreeModel::refresh()"); + TimeThis const tt("FileTreeModel::refresh()"); m_fullyLoaded = false; update(*m_root, *m_core.directoryStructure(), L"", false); @@ -232,7 +232,7 @@ void FileTreeModel::recursiveFetchMore(const QModelIndex& m) void FileTreeModel::ensureFullyLoaded() { if (!m_fullyLoaded) { - TimeThis tt("FileTreeModel:: fully loading for search"); + TimeThis const tt("FileTreeModel:: fully loading for search"); recursiveFetchMore(QModelIndex()); sortItem(*m_root, false); m_fullyLoaded = true; @@ -945,7 +945,7 @@ FileTreeItem::Ptr FileTreeModel::createFileItem(FileTreeItem& parentItem, void FileTreeModel::updateFileItem(FileTreeItem& item, const MOShared::FileEntry& file) { bool isArchive = false; - int originID = file.getOrigin(isArchive); + int const originID = file.getOrigin(isArchive); FileTreeItem::Flags flags = FileTreeItem::NoFlags; @@ -1210,7 +1210,7 @@ QVariant FileTreeModel::makeIcon(const FileTreeItem& item, void FileTreeModel::updatePendingIcons() { - std::vector v(std::move(m_iconPending)); + std::vector const v(std::move(m_iconPending)); m_iconPending.clear(); for (auto&& index : v) { diff --git a/src/src/filterlist.cpp b/src/src/filterlist.cpp index defe7e2..1d89c10 100644 --- a/src/src/filterlist.cpp +++ b/src/src/filterlist.cpp @@ -278,7 +278,7 @@ void FilterList::addCategoryCriteria(QTreeWidgetItem* root, const auto count = static_cast(m_factory.numCategories()); for (unsigned int i = 1; i < count; ++i) { if (m_factory.getParentID(i) == targetID) { - int categoryID = m_factory.getCategoryID(i); + int const categoryID = m_factory.getCategoryID(i); if (categoriesUsed.contains(categoryID)) { QTreeWidgetItem* item = addCriteriaItem(root, m_factory.getCategoryName(i), categoryID, @@ -322,8 +322,8 @@ void FilterList::refresh() std::set categoriesUsed; for (unsigned int modIdx = 0; modIdx < ModInfo::getNumMods(); ++modIdx) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(modIdx); - for (int categoryID : modInfo->getCategories()) { + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modIdx); + for (int const categoryID : modInfo->getCategories()) { int currentID = categoryID; std::set cycleTest; // also add parents so they show up in the tree diff --git a/src/src/fluorineconfig.cpp b/src/src/fluorineconfig.cpp index 3440765..99149a9 100644 --- a/src/src/fluorineconfig.cpp +++ b/src/src/fluorineconfig.cpp @@ -138,7 +138,7 @@ void FluorineConfig::destroyPrefix() const // filesystems. const QString cleanCompat = QDir::cleanPath(compatData); const QString cleanPrefix = QDir::cleanPath(compatData + "/pfx"); - QDir procDir("/proc"); + QDir const procDir("/proc"); const QStringList pids = procDir.entryList({QStringLiteral("[0-9]*")}, QDir::Dirs); QList victims; @@ -166,7 +166,7 @@ void FluorineConfig::destroyPrefix() const } } - for (qint64 p : victims) + for (qint64 const p : victims) ::kill(static_cast(p), SIGKILL); if (!victims.isEmpty()) QThread::msleep(200); diff --git a/src/src/forcedloaddialog.cpp b/src/src/forcedloaddialog.cpp index 2131e59..5606b9f 100644 --- a/src/src/forcedloaddialog.cpp +++ b/src/src/forcedloaddialog.cpp @@ -52,7 +52,7 @@ QList ForcedLoadDialog::values() void ForcedLoadDialog::on_addRowButton_clicked() { - int row = ui->tableWidget->rowCount(); + int const row = ui->tableWidget->rowCount(); ui->tableWidget->insertRow(row); ForcedLoadDialogWidget* item = new ForcedLoadDialogWidget(m_GamePlugin, this); ui->tableWidget->setCellWidget(row, 0, item); @@ -62,7 +62,7 @@ void ForcedLoadDialog::on_addRowButton_clicked() void ForcedLoadDialog::on_deleteRowButton_clicked() { for (auto rowIndex : ui->tableWidget->selectionModel()->selectedRows()) { - int row = rowIndex.row(); + int const row = rowIndex.row(); auto widget = (ForcedLoadDialogWidget*)ui->tableWidget->cellWidget(row, 0); if (!widget->getForced()) { ui->tableWidget->removeRow(row); diff --git a/src/src/forcedloaddialogwidget.cpp b/src/src/forcedloaddialogwidget.cpp index 1eadf1b..3f64282 100644 --- a/src/src/forcedloaddialogwidget.cpp +++ b/src/src/forcedloaddialogwidget.cpp @@ -68,14 +68,14 @@ void ForcedLoadDialogWidget::on_enabledBox_toggled() void ForcedLoadDialogWidget::on_libraryPathBrowseButton_clicked() { - QDir gameDir(m_GamePlugin->gameDirectory()); - QString startPath = gameDir.absolutePath(); - QString result = QFileDialog::getOpenFileName( + QDir const gameDir(m_GamePlugin->gameDirectory()); + QString const startPath = gameDir.absolutePath(); + QString const result = QFileDialog::getOpenFileName( nullptr, "Select a library...", startPath, "Dynamic link library (*.dll)", nullptr, QFileDialog::ReadOnly); if (!result.isEmpty()) { - QFileInfo fileInfo(result); - QString relativePath = gameDir.relativeFilePath(fileInfo.filePath()); + QFileInfo const fileInfo(result); + QString const relativePath = gameDir.relativeFilePath(fileInfo.filePath()); QString filePath = fileInfo.filePath(); if (!relativePath.startsWith("..")) { filePath = relativePath; @@ -91,14 +91,14 @@ void ForcedLoadDialogWidget::on_libraryPathBrowseButton_clicked() void ForcedLoadDialogWidget::on_processBrowseButton_clicked() { - QDir gameDir(m_GamePlugin->gameDirectory()); - QString startPath = gameDir.absolutePath(); - QString result = QFileDialog::getOpenFileName(nullptr, "Select a process...", + QDir const gameDir(m_GamePlugin->gameDirectory()); + QString const startPath = gameDir.absolutePath(); + QString const result = QFileDialog::getOpenFileName(nullptr, "Select a process...", startPath, "Executable (*.exe)", nullptr, QFileDialog::ReadOnly); if (!result.isEmpty()) { - QFileInfo fileInfo(result); - QString fileName = fileInfo.fileName(); + QFileInfo const fileInfo(result); + QString const fileName = fileInfo.fileName(); if (fileInfo.exists()) { ui->processEdit->setText(fileName); diff --git a/src/src/fuseconnector.cpp b/src/src/fuseconnector.cpp index e960fef..faa5e57 100644 --- a/src/src/fuseconnector.cpp +++ b/src/src/fuseconnector.cpp @@ -652,11 +652,11 @@ void FuseConnector::rebuild( } { - std::unique_lock lock(m_context->tree_mutex); + std::unique_lock const lock(m_context->tree_mutex); m_context->tree.swap(newTree); } { - std::scoped_lock lock(m_context->open_dirs_mutex); + std::scoped_lock const lock(m_context->open_dirs_mutex); m_context->open_dirs.clear(); } } @@ -679,8 +679,8 @@ void FuseConnector::updateMapping(const MappingType& mapping) // Auto-derive tracking file path if not explicitly set if (m_trackingFilePath.empty() && !overwriteDir.isEmpty()) { - QDir owDir(overwriteDir); - QString trackPath = QDir::cleanPath(owDir.absoluteFilePath("../tracked_writes.json")); + QDir const owDir(overwriteDir); + QString const trackPath = QDir::cleanPath(owDir.absoluteFilePath("../tracked_writes.json")); m_trackingFilePath = trackPath.toStdString(); std::fprintf(stderr, "[VFS] auto-derived tracking path: '%s'\n", m_trackingFilePath.c_str()); @@ -966,11 +966,11 @@ void FuseConnector::flushStagingLive() buildDataDirVfs(m_baseFileCache, m_dataDirPath, m_lastMods, m_overwriteDir)); { - std::unique_lock lock(m_context->tree_mutex); + std::unique_lock const lock(m_context->tree_mutex); m_context->tree.swap(newTree); } { - std::scoped_lock lock(m_context->open_dirs_mutex); + std::scoped_lock const lock(m_context->open_dirs_mutex); m_context->open_dirs.clear(); } @@ -1129,11 +1129,11 @@ static void loadRootManifest(const std::string& storageDir, if (!in.is_open()) return; try { - std::string content((std::istreambuf_iterator(in)), + std::string const content((std::istreambuf_iterator(in)), std::istreambuf_iterator()); // Simple JSON parsing — the manifest is { "deployed": [...], "backups": {...} } // Use Qt's JSON for simplicity - QJsonDocument doc = QJsonDocument::fromJson( + QJsonDocument const doc = QJsonDocument::fromJson( QByteArray::fromStdString(content)); if (doc.isNull()) return; diff --git a/src/src/gamedetection.cpp b/src/src/gamedetection.cpp index 60c06dc..882c362 100644 --- a/src/src/gamedetection.cpp +++ b/src/src/gamedetection.cpp @@ -27,7 +27,7 @@ QString parseQuotedRegValue(const QString& s) QString result; bool esc = false; for (int i = 1; i < s.size(); ++i) { - QChar c = s[i]; + QChar const c = s[i]; if (esc) { if (c == 'n') result += '\n'; else if (c == 'r') result += '\r'; @@ -50,14 +50,14 @@ QString parseQuotedRegValue(const QString& s) /// Parse a registry value line like "ValueName"="value". std::pair parseRegValueLine(const QString& line) { - int eq = line.indexOf('='); + int const eq = line.indexOf('='); if (eq < 0) return {}; - QString namePart = line.left(eq).trimmed(); - QString valPart = line.mid(eq + 1); + QString const namePart = line.left(eq).trimmed(); + QString const valPart = line.mid(eq + 1); - QString name = (namePart == QStringLiteral("@")) + QString const name = (namePart == QStringLiteral("@")) ? QStringLiteral("@") : namePart.mid(1, namePart.size() - 2); // strip quotes @@ -66,7 +66,7 @@ std::pair parseRegValueLine(const QString& line) value = parseQuotedRegValue(valPart); } else if (valPart.startsWith(QStringLiteral("dword:"))) { bool ok; - uint v = valPart.mid(6).toUInt(&ok, 16); + uint const v = valPart.mid(6).toUInt(&ok, 16); value = ok ? QString::number(v) : valPart; } else { value = valPart; @@ -222,7 +222,7 @@ QVector detectSteamGames() } for (const QString& steamapps : allSteamapps) { - QDir dir(steamapps); + QDir const dir(steamapps); const QStringList acfs = dir.entryList({QStringLiteral("appmanifest_*.acf")}, QDir::Files); @@ -231,7 +231,7 @@ QVector detectSteamGames() if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) continue; - AppManifest m = AppManifest::fromVdf(QString::fromUtf8(f.readAll())); + AppManifest const m = AppManifest::fromVdf(QString::fromUtf8(f.readAll())); if (m.app_id.isEmpty() || !m.isInstalled()) continue; @@ -286,7 +286,7 @@ QString getHeroicGamePrefix(const QString& heroicPath, const QString& appName) if (!f.open(QIODevice::ReadOnly)) return {}; - QJsonDocument doc = QJsonDocument::fromJson(f.readAll()); + QJsonDocument const doc = QJsonDocument::fromJson(f.readAll()); QJsonObject root = doc.object(); // Try direct or nested under appName. @@ -318,7 +318,7 @@ QVector detectHeroicGames() { QFile f(heroicPath + "/gog_store/installed.json"); if (f.open(QIODevice::ReadOnly)) { - QJsonDocument doc = QJsonDocument::fromJson(f.readAll()); + QJsonDocument const doc = QJsonDocument::fromJson(f.readAll()); QJsonArray installed; if (doc.isObject() && doc.object().contains(QStringLiteral("installed"))) @@ -364,7 +364,7 @@ QVector detectHeroicGames() QFile f(epicPath); if (f.open(QIODevice::ReadOnly)) { - QJsonDocument doc = QJsonDocument::fromJson(f.readAll()); + QJsonDocument const doc = QJsonDocument::fromJson(f.readAll()); if (doc.isObject()) { const QJsonObject obj = doc.object(); for (auto it = obj.begin(); it != obj.end(); ++it) { @@ -431,7 +431,7 @@ QVector detectBottlesGames() if (!QFileInfo::exists(bottlesPath)) continue; - QDir dir(bottlesPath); + QDir const dir(bottlesPath); for (const QString& bottleName : dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { const QString bottlePath = dir.absoluteFilePath(bottleName); diff --git a/src/src/github.cpp b/src/src/github.cpp index 59acdc9..640a169 100644 --- a/src/src/github.cpp +++ b/src/src/github.cpp @@ -24,7 +24,7 @@ GitHub::~GitHub() QJsonArray GitHub::releases(const Repository& repo) { - QJsonDocument result = request( + QJsonDocument const result = request( Method::GET, QString("repos/%1/%2/releases").arg(repo.owner, repo.project), QByteArray(), true); return result.array(); @@ -54,7 +54,7 @@ QJsonDocument GitHub::handleReply(QNetworkReply* reply) reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString()}})); } - QByteArray data = reply->readAll(); + QByteArray const data = reply->readAll(); if (data.isNull() || data.isEmpty() || (strcmp(data.constData(), "null") == 0)) { return {}; } @@ -99,7 +99,7 @@ QJsonDocument GitHub::request(Method method, const QString& path, QJsonDocument result = handleReply(reply); reply->deleteLater(); - QJsonObject object = result.object(); + QJsonObject const object = result.object(); if (object.value("http_status").toDouble() == 301.0) { return request(method, object.value("redirection").toString(), data, false); } else { @@ -146,8 +146,8 @@ void GitHub::request(Method method, const QString& path, const QByteArray& data, void GitHub::onFinished(const Request& req) { - QJsonDocument result = handleReply(req.reply); - QJsonObject object = result.object(); + QJsonDocument const result = handleReply(req.reply); + QJsonObject const object = result.object(); req.timer->stop(); @@ -174,8 +174,8 @@ void GitHub::onError(const Request& req, QNetworkReply::NetworkError error) req.timer->stop(); req.reply->disconnect(); - QJsonObject root({{"network_error", req.reply->errorString()}}); - QJsonDocument doc(root); + QJsonObject const root({{"network_error", req.reply->errorString()}}); + QJsonDocument const doc(root); req.callback(doc); diff --git a/src/src/icondelegate.cpp b/src/src/icondelegate.cpp index bd00476..496d6c1 100644 --- a/src/src/icondelegate.cpp +++ b/src/src/icondelegate.cpp @@ -64,7 +64,7 @@ void IconDelegate::paintIcons(QPainter* painter, const QStyleOptionViewItem& opt continue; } QPixmap icon; - QString fullIconId = QString("%1_%2").arg(iconId).arg(iconWidth); + QString const fullIconId = QString("%1_%2").arg(iconId).arg(iconWidth); if (!QPixmapCache::find(fullIconId, &icon)) { icon = QIcon(iconId).pixmap(iconWidth, iconWidth); if (icon.isNull()) { diff --git a/src/src/iconextractor.cpp b/src/src/iconextractor.cpp index 6cc7d45..3956870 100644 --- a/src/src/iconextractor.cpp +++ b/src/src/iconextractor.cpp @@ -21,9 +21,9 @@ int64_t rvaToOffset(uint32_t rva, const char* sections, int numSections) { for (int i = 0; i < numSections; ++i) { const char* sec = sections + i * 40; - uint32_t va = r32(sec + 12); - uint32_t rawSz = r32(sec + 16); - uint32_t rawOff = r32(sec + 20); + uint32_t const va = r32(sec + 12); + uint32_t const rawSz = r32(sec + 16); + uint32_t const rawOff = r32(sec + 20); if (rva >= va && rva < va + rawSz) return rawOff + (rva - va); } @@ -43,9 +43,9 @@ QVector parseResDir(const char* base, uint32_t dirOffset) { QVector entries; const char* dir = base + dirOffset; - uint16_t numNamed = r16(dir + 12); - uint16_t numId = r16(dir + 14); - int count = numNamed + numId; + uint16_t const numNamed = r16(dir + 12); + uint16_t const numId = r16(dir + 14); + int const count = numNamed + numId; for (int i = 0; i < count; ++i) { const char* e = dir + 16 + i * 8; @@ -66,10 +66,10 @@ QByteArray getResourceData(const char* resBase, uint32_t dataEntryOffset, const char* sections, int numSections) { const char* de = resBase + dataEntryOffset; - uint32_t dataRva = r32(de); - uint32_t dataSize = r32(de + 4); + uint32_t const dataRva = r32(de); + uint32_t const dataSize = r32(de + 4); - int64_t off = rvaToOffset(dataRva, sections, numSections); + int64_t const off = rvaToOffset(dataRva, sections, numSections); if (off < 0 || off + dataSize > fileSize) return {}; return {fileData + off, static_cast(dataSize)}; @@ -92,8 +92,8 @@ QByteArray buildIco(const QByteArray& grpData, QVector entries; for (int i = 0; i < count; ++i) { - int grpOff = 6 + i * 14; - uint16_t iconId = r16(grpData.constData() + grpOff + 12); + int const grpOff = 6 + i * 14; + uint16_t const iconId = r16(grpData.constData() + grpOff + 12); // Find RT_ICON with this ID. for (const auto& ie : iconTypeEntries) { @@ -108,12 +108,12 @@ QByteArray buildIco(const QByteArray& grpData, if (langEntry.isDir) continue; - QByteArray imgData = getResourceData( + QByteArray const imgData = getResourceData( resBase, langEntry.offsetOrData, fileData, fileSize, sections, numSections); if (imgData.isEmpty()) continue; - QByteArray hdr(grpData.constData() + grpOff, 8); + QByteArray const hdr(grpData.constData() + grpOff, 8); entries.append({hdr, imgData}); break; } @@ -125,7 +125,7 @@ QByteArray buildIco(const QByteArray& grpData, // Build ICO file. QByteArray ico; uint16_t entryCount = static_cast(entries.size()); - int headerSize = 6 + entryCount * 16; + int const headerSize = 6 + entryCount * 16; ico.reserve(headerSize + count * 4096); // ICONDIR header. @@ -160,19 +160,19 @@ QByteArray tryExtractIcons(const QByteArray& fileData) if (sz < 64 || d[0] != 'M' || d[1] != 'Z') return {}; - int32_t peOffset = r32(d + 60); + int32_t const peOffset = r32(d + 60); if (peOffset + 24 > sz) return {}; if (memcmp(d + peOffset, "PE\0\0", 4) != 0) return {}; const char* coff = d + peOffset + 4; - uint16_t machine = r16(coff); - uint16_t numSections = r16(coff + 2); - uint16_t optHdrSize = r16(coff + 16); + uint16_t const machine = r16(coff); + uint16_t const numSections = r16(coff + 2); + uint16_t const optHdrSize = r16(coff + 16); const char* optHdr = coff + 20; - uint16_t magic = r16(optHdr); + uint16_t const magic = r16(optHdr); // Determine resource directory RVA. uint32_t resRva = 0, resSize = 0; @@ -197,7 +197,7 @@ QByteArray tryExtractIcons(const QByteArray& fileData) return {}; const char* sections = optHdr + optHdrSize; - int64_t resFileOff = rvaToOffset(resRva, sections, numSections); + int64_t const resFileOff = rvaToOffset(resRva, sections, numSections); if (resFileOff < 0 || resFileOff + resSize > sz) return {}; @@ -242,19 +242,19 @@ QByteArray tryExtractIcons(const QByteArray& fileData) if (grpData.size() < 6) continue; - int count = r16(grpData.constData() + 4); + int const count = r16(grpData.constData() + 4); if (grpData.size() < 6 + count * 14) continue; int totalArea = 0; for (int i = 0; i < count; ++i) { - int off = 6 + i * 14; - int w = (uint8_t)grpData[off] == 0 ? 256 : (uint8_t)grpData[off]; - int h = (uint8_t)grpData[off+1] == 0 ? 256 : (uint8_t)grpData[off+1]; + int const off = 6 + i * 14; + int const w = (uint8_t)grpData[off] == 0 ? 256 : (uint8_t)grpData[off]; + int const h = (uint8_t)grpData[off+1] == 0 ? 256 : (uint8_t)grpData[off+1]; totalArea += w * h; } - QByteArray ico = buildIco(grpData, iconEntries, resBase, d, sz, sections, numSections); + QByteArray const ico = buildIco(grpData, iconEntries, resBase, d, sz, sections, numSections); if (!ico.isEmpty() && totalArea > bestArea) { bestArea = totalArea; bestIco = ico; @@ -271,6 +271,6 @@ QByteArray extractExeIcon(const QString& exePath) QFile f(exePath); if (!f.open(QIODevice::ReadOnly)) return {}; - QByteArray data = f.readAll(); + QByteArray const data = f.readAll(); return tryExtractIcons(data); } diff --git a/src/src/iconfetcher.cpp b/src/src/iconfetcher.cpp index 5f860f7..32e749e 100644 --- a/src/src/iconfetcher.cpp +++ b/src/src/iconfetcher.cpp @@ -14,7 +14,7 @@ void IconFetcher::Waiter::wait() void IconFetcher::Waiter::wakeUp() { { - std::scoped_lock lock(m_wakeUpMutex); + std::scoped_lock const lock(m_wakeUpMutex); m_queueAvailable = true; } @@ -100,7 +100,7 @@ void IconFetcher::checkCache(Cache& cache) std::set queue; { - std::scoped_lock lock(cache.queueMutex); + std::scoped_lock const lock(cache.queueMutex); queue = std::move(cache.queue); cache.queue.clear(); } @@ -115,7 +115,7 @@ void IconFetcher::checkCache(Cache& cache) } { - std::scoped_lock lock(cache.mapMutex); + std::scoped_lock const lock(cache.mapMutex); for (auto&& p : map) { cache.map.insert(std::move(p)); } @@ -125,7 +125,7 @@ void IconFetcher::checkCache(Cache& cache) void IconFetcher::queue(Cache& cache, QString path) const { { - std::scoped_lock lock(cache.queueMutex); + std::scoped_lock const lock(cache.queueMutex); cache.queue.insert(std::move(path)); } @@ -135,7 +135,7 @@ void IconFetcher::queue(Cache& cache, QString path) const QVariant IconFetcher::fileIcon(const QString& path) const { { - std::scoped_lock lock(m_fileCache.mapMutex); + std::scoped_lock const lock(m_fileCache.mapMutex); auto itor = m_fileCache.map.find(path); if (itor != m_fileCache.map.end()) { return itor->second; @@ -149,7 +149,7 @@ QVariant IconFetcher::fileIcon(const QString& path) const QVariant IconFetcher::extensionIcon(const QStringView& ext) const { { - std::scoped_lock lock(m_extensionCache.mapMutex); + std::scoped_lock const lock(m_extensionCache.mapMutex); auto itor = m_extensionCache.map.find(ext); if (itor != m_extensionCache.map.end()) { return itor->second; diff --git a/src/src/installationmanager.cpp b/src/src/installationmanager.cpp index 7883e3a..1d2a89a 100644 --- a/src/src/installationmanager.cpp +++ b/src/src/installationmanager.cpp @@ -144,7 +144,7 @@ void InstallationManager::queryPassword() bool InstallationManager::extractFiles(QString extractPath, QString title, bool showFilenames, bool silent) { - TimeThis tt("InstallationManager::extractFiles"); + TimeThis const tt("InstallationManager::extractFiles"); // Callback for errors: QString errorMessage; @@ -207,7 +207,7 @@ bool InstallationManager::extractFiles(QString extractPath, QString title, auto progressType, uint64_t current, uint64_t total) { if (progressType == Archive::ProgressType::EXTRACTION) { { - std::scoped_lock guard(mutex); + std::scoped_lock const guard(mutex); currentProgress = static_cast(100 * current / total); } emit progressUpdate(); @@ -217,7 +217,7 @@ bool InstallationManager::extractFiles(QString extractPath, QString title, [this, ¤tFileName, &mutex](auto changeType, std::wstring const& file) { if (changeType == Archive::FileChangeType::EXTRACTION_START) { { - std::scoped_lock guard(mutex); + std::scoped_lock const guard(mutex); currentFileName = QString::fromStdWString(file); } emit progressUpdate(); @@ -239,7 +239,7 @@ bool InstallationManager::extractFiles(QString extractPath, QString title, while (!futureWatcher.isFinished()) { loop.processEvents(QEventLoop::AllEvents | QEventLoop::WaitForMoreEvents); - std::scoped_lock guard(mutex); + std::scoped_lock const guard(mutex); if (currentProgress != installationProgress->value()) { installationProgress->setValue(currentProgress); } @@ -407,7 +407,7 @@ InstallationResult InstallationManager::testOverwrite(GuessedValue& mod settings.setKeepBackupOnInstall(overwriteDialog.backup()); if (overwriteDialog.backup()) { - QString backupDirectory = generateBackupName(targetDirectory); + QString const backupDirectory = generateBackupName(targetDirectory); if (!copyDir(targetDirectory, backupDirectory, false)) { reportError(tr("Failed to create backup")); return {IPluginInstaller::RESULT_FAILED}; @@ -420,7 +420,7 @@ InstallationResult InstallationManager::testOverwrite(GuessedValue& mod if (overwriteDialog.action() == QueryOverwriteDialog::ACT_RENAME) { bool ok = false; - QString name = QInputDialog::getText(m_ParentWidget, tr("Mod Name"), tr("Name"), + QString const name = QInputDialog::getText(m_ParentWidget, tr("Mod Name"), tr("Name"), QLineEdit::Normal, modName, &ok); if (ok && !name.isEmpty()) { modName.update(name, GUESS_USER); @@ -430,7 +430,7 @@ InstallationResult InstallationManager::testOverwrite(GuessedValue& mod targetDirectory = QDir::fromNativeSeparators(m_ModsDirectory) + "/" + modName; } } else if (overwriteDialog.action() == QueryOverwriteDialog::ACT_REPLACE) { - unsigned int idx = ModInfo::getIndex(modName); + unsigned int const idx = ModInfo::getIndex(modName); if (idx != UINT_MAX) { auto modInfo = ModInfo::getByIndex(idx); // mark the old install file as uninstalled @@ -506,7 +506,7 @@ InstallationResult InstallationManager::doInstall(GuessedValue& modName return {IPluginInstaller::RESULT_FAILED}; } - bool merge = false; + bool const merge = false; // determine target directory InstallationResult result = testOverwrite(modName); if (!result) { @@ -515,7 +515,7 @@ InstallationResult InstallationManager::doInstall(GuessedValue& modName result.m_name = modName; - QString targetDirectory = QDir(m_ModsDirectory + "/" + modName).canonicalPath(); + QString const targetDirectory = QDir(m_ModsDirectory + "/" + modName).canonicalPath(); QString targetDirectoryNative = QDir::toNativeSeparators(targetDirectory); log::debug("installing to \"{}\"", targetDirectoryNative); @@ -534,7 +534,7 @@ InstallationResult InstallationManager::doInstall(GuessedValue& modName QFile::remove(destPath); } - QDir dir = QFileInfo(destPath).absoluteDir(); + QDir const dir = QFileInfo(destPath).absoluteDir(); if (!dir.exists()) { dir.mkpath("."); } @@ -615,7 +615,7 @@ void InstallationManager::postInstallCleanup() // TODO: this doesn't yet remove directories. Also, the files may be left there if // this point isn't reached for (const QString& tempFile : m_TempFilesToDelete) { - QFileInfo fileInfo(QDir::tempPath() + "/" + tempFile); + QFileInfo const fileInfo(QDir::tempPath() + "/" + tempFile); if (fileInfo.exists()) { if (!fileInfo.isReadable() || !fileInfo.isWritable()) { QFile::setPermissions(fileInfo.absoluteFilePath(), @@ -646,7 +646,7 @@ InstallationResult InstallationManager::install(const QString& fileName, m_IsRunning = false; }); - QFileInfo fileInfo(fileName); + QFileInfo const fileInfo(fileName); if (!getSupportedExtensions().contains(fileInfo.suffix(), Qt::CaseInsensitive)) { reportError(tr("File format \"%1\" not supported").arg(fileInfo.suffix())); return {IPluginInstaller::RESULT_FAILED}; @@ -665,9 +665,9 @@ InstallationResult InstallationManager::install(const QString& fileName, int fileCategoryID = 1; QString repository = "Nexus"; - QString metaName = fileName + ".meta"; + QString const metaName = fileName + ".meta"; if (QFile(metaName).exists()) { - QSettings metaFile(metaName, QSettings::IniFormat); + QSettings const metaFile(metaName, QSettings::IniFormat); gameName = metaFile.value("gameName", "").toString(); modID = metaFile.value("modID", 0).toInt(); QTextDocument doc; @@ -678,7 +678,7 @@ InstallationResult InstallationManager::install(const QString& fileName, version = metaFile.value("version", "").toString(); newestVersion = metaFile.value("newestVersion", "").toString(); category = metaFile.value("category", 0).toInt(); - unsigned int categoryIndex = CategoryFactory::instance().resolveNexusID(category); + unsigned int const categoryIndex = CategoryFactory::instance().resolveNexusID(category); if (category != 0 && categoryIndex == 0U && Settings::instance().nexus().categoryMappings()) { QMessageBox nexusQuery; @@ -707,7 +707,7 @@ InstallationResult InstallationManager::install(const QString& fileName, } if (version.isEmpty()) { - QDateTime lastMod = fileInfo.lastModified(); + QDateTime const lastMod = fileInfo.lastModified(); version = "d" + lastMod.toString("yyyy.M.d"); } @@ -740,7 +740,7 @@ InstallationResult InstallationManager::install(const QString& fileName, // open the archive and construct the directory tree the installers work on - bool archiveOpen = + bool const archiveOpen = m_ArchiveHandler->open(fileName.toStdWString(), [this]() -> std::wstring { m_Password = QString(); @@ -834,13 +834,13 @@ InstallationResult InstallationManager::install(const QString& fileName, (((filesTree != nullptr) && installer->isArchiveSupported(filesTree)) || ((filesTree == nullptr) && installerCustom->isArchiveSupported(fileName)))) { - std::set installerExt = installerCustom->supportedExtensions(); + std::set const installerExt = installerCustom->supportedExtensions(); if (installerExt.contains(fileInfo.suffix())) { installResult.m_result = installerCustom->install(modName, gameName, fileName, version, modID); - unsigned int idx = ModInfo::getIndex(modName); + unsigned int const idx = ModInfo::getIndex(modName); if (idx != UINT_MAX) { - ModInfo::Ptr info = ModInfo::getByIndex(idx); + ModInfo::Ptr const info = ModInfo::getByIndex(idx); info->setRepository(repository); } } @@ -928,7 +928,7 @@ QStringList InstallationManager::getSupportedExtensions() const for (auto* installer : m_PluginContainer->plugins()) { if (m_PluginContainer->isEnabled(installer)) { if (auto* installerCustom = dynamic_cast(installer)) { - std::set extensions = installerCustom->supportedExtensions(); + std::set const extensions = installerCustom->supportedExtensions(); supportedExtensions.insert(extensions.begin(), extensions.end()); } } diff --git a/src/src/instancemanager.cpp b/src/src/instancemanager.cpp index 11a82c0..3e1c0d5 100644 --- a/src/src/instancemanager.cpp +++ b/src/src/instancemanager.cpp @@ -783,7 +783,7 @@ std::unique_ptr selectInstance() // since there is no instance currently active, load plugins with a null // OrganizerCore; see PluginContainer::initPlugin() - NexusInterface ni(nullptr); + NexusInterface const ni(nullptr); PluginContainer pc(nullptr); pc.loadPlugins(); diff --git a/src/src/instancemanagerdialog.cpp b/src/src/instancemanagerdialog.cpp index f25645f..12d21a6 100644 --- a/src/src/instancemanagerdialog.cpp +++ b/src/src/instancemanagerdialog.cpp @@ -70,7 +70,7 @@ QIcon instanceIcon(PluginContainer& pc, const Instance& i) const QString old = game->isInstalled() ? game->gameDirectory().path() : ""; // revert - Guard g([&] { + Guard const g([&] { game->setGamePath(old); }); @@ -823,7 +823,7 @@ void InstanceManagerDialog::fillData(const Instance& ii) { const QString ini = ii.iniPath(); if (!ini.isEmpty() && QFile::exists(ini)) { - QSettings s(ini, QSettings::IniFormat); + QSettings const s(ini, QSettings::IniFormat); ui->prefixPath->setText(s.value("Settings/proton_prefix_path").toString()); ui->protonVersion->setText(s.value("fluorine/proton_name").toString()); diff --git a/src/src/knowngames.h b/src/src/knowngames.h index 42679b7..03851b8 100644 --- a/src/src/knowngames.h +++ b/src/src/knowngames.h @@ -163,7 +163,7 @@ inline const KnownGame* findKnownGameByTitle(const QString& title) // Helper: strip non-alphanumeric, collapse whitespace. auto normalize = [](const QString& s) -> QString { QString out; - for (QChar c : s) { + for (QChar const c : s) { out += (c.isLetterOrNumber() || c == ' ') ? c : QChar(' '); } return out.simplified(); diff --git a/src/src/listdialog.cpp b/src/src/listdialog.cpp index 964e050..8b9909f 100644 --- a/src/src/listdialog.cpp +++ b/src/src/listdialog.cpp @@ -34,7 +34,7 @@ ListDialog::~ListDialog() int ListDialog::exec() { - GeometrySaver gs(Settings::instance(), this); + GeometrySaver const gs(Settings::instance(), this); return QDialog::exec(); } @@ -57,7 +57,7 @@ QString ListDialog::getChoice() const void ListDialog::on_filterEdit_textChanged(QString filter) { QStringList newChoices; - for (auto choice : m_Choices) { + for (const auto& choice : m_Choices) { if (choice.contains(filter, Qt::CaseInsensitive)) { newChoices << choice; } diff --git a/src/src/loghighlighter.cpp b/src/src/loghighlighter.cpp index 524e6e3..bf72093 100644 --- a/src/src/loghighlighter.cpp +++ b/src/src/loghighlighter.cpp @@ -23,9 +23,9 @@ LogHighlighter::LogHighlighter(QObject* parent) : QSyntaxHighlighter(parent) {} void LogHighlighter::highlightBlock(const QString& text) { - int spacePos = text.indexOf(" "); + int const spacePos = text.indexOf(" "); if (spacePos != -1) { - QString type = text.mid(0, spacePos); + QString const type = text.mid(0, spacePos); if (type == "DEBUG") { setFormat(0, text.length(), Qt::gray); } else if (type == "INFO") { diff --git a/src/src/loglist.cpp b/src/src/loglist.cpp index 72e96a4..de9c79a 100644 --- a/src/src/loglist.cpp +++ b/src/src/loglist.cpp @@ -384,7 +384,7 @@ void initLogging() bool createAndMakeWritable(const std::wstring& subPath) { QString const dataPath = qApp->property("dataPath").toString(); - QString fullPath = dataPath + "/" + QString::fromStdWString(subPath); + QString const fullPath = dataPath + "/" + QString::fromStdWString(subPath); if (!QDir(fullPath).exists() && !QDir().mkdir(fullPath)) { QMessageBox::critical(nullptr, QObject::tr("Error"), diff --git a/src/src/main.cpp b/src/src/main.cpp index 29f6ca9..a7ab578 100644 --- a/src/src/main.cpp +++ b/src/src/main.cpp @@ -59,7 +59,7 @@ int run(int argc, char* argv[]) if (i > 0) cmdLine += L' '; std::string arg(argv[i]); - std::wstring warg(arg.begin(), arg.end()); + std::wstring const warg(arg.begin(), arg.end()); if (warg.find(L' ') != std::wstring::npos) { cmdLine += L'"'; cmdLine += warg; @@ -253,7 +253,7 @@ static void linuxCrashHandler(int sig) fprintf(stderr, "\n=== MO2 CRASH: signal %s (%d) ===\n", sigName, sig); void* frames[64]; - int count = backtrace(frames, 64); + int const count = backtrace(frames, 64); fprintf(stderr, "Backtrace (%d frames):\n", count); backtrace_symbols_fd(frames, count, STDERR_FILENO); fprintf(stderr, "=== END BACKTRACE ===\n"); @@ -289,7 +289,7 @@ static void linuxTerminateHandler() noexcept fprintf(stderr, "\n=== MO2 std::terminate ===\n"); void* frames[64]; - int count = backtrace(frames, 64); + int const count = backtrace(frames, 64); fprintf(stderr, "Backtrace (%d frames):\n", count); backtrace_symbols_fd(frames, count, STDERR_FILENO); fprintf(stderr, "=== END BACKTRACE ===\n"); diff --git a/src/src/mainwindow.cpp b/src/src/mainwindow.cpp index cb95026..e96a4ea 100644 --- a/src/src/mainwindow.cpp +++ b/src/src/mainwindow.cpp @@ -1038,9 +1038,9 @@ void MainWindow::updateProblemsButton() bool MainWindow::errorReported(QString& logFile) { - QDir dir(qApp->property("dataPath").toString() + "/" + + QDir const dir(qApp->property("dataPath").toString() + "/" + QString::fromStdWString(AppConfig::logPath())); - QFileInfoList files = + QFileInfoList const files = dir.entryInfoList(QStringList("ModOrganizer_??_??_??_??_??.log"), QDir::Files, QDir::Name | QDir::Reversed); @@ -1078,12 +1078,12 @@ void MainWindow::checkForProblemsImpl() { m_ProblemsCheckRequired = true; - std::scoped_lock lk(m_CheckForProblemsMutex); + std::scoped_lock const lk(m_CheckForProblemsMutex); // another thread might already have checked while this one was waiting on the lock if (m_ProblemsCheckRequired) { m_ProblemsCheckRequired = false; - TimeThis tt("MainWindow::checkForProblemsImpl()"); + TimeThis const tt("MainWindow::checkForProblemsImpl()"); size_t numProblems = 0; for (QObject* pluginObj : m_PluginContainer.plugins()) { IPlugin* plugin = qobject_cast(pluginObj); @@ -1179,9 +1179,9 @@ void MainWindow::createHelpMenu() log::error("Failed to open {}", fileName); continue; } - QString firstLine = QString::fromUtf8(file.readLine()); + QString const firstLine = QString::fromUtf8(file.readLine()); if (firstLine.startsWith("//TL")) { - QStringList params = firstLine.mid(4).trimmed().split('#'); + QStringList const params = firstLine.mid(4).trimmed().split('#'); if (params.size() != 2) { log::error("invalid header line for tutorial {}, expected 2 parameters", fileName); @@ -1213,7 +1213,7 @@ bool MainWindow::addProfile() QComboBox* profileBox = findChild("profileBox"); bool okClicked = false; - QString name = QInputDialog::getText(this, tr("Name"), + QString const name = QInputDialog::getText(this, tr("Name"), tr("Please enter a name for the new profile"), QLineEdit::Normal, QString(), &okClicked); if (okClicked && (name.size() > 0)) { @@ -1242,9 +1242,9 @@ void MainWindow::hookUpWindowTutorials() log::error("Failed to open {}", fileName); continue; } - QString firstLine = QString::fromUtf8(file.readLine()); + QString const firstLine = QString::fromUtf8(file.readLine()); if (firstLine.startsWith("//WIN")) { - QString windowName = firstLine.mid(6).trimmed(); + QString const windowName = firstLine.mid(6).trimmed(); if (!m_OrganizerCore.settings().interface().isTutorialCompleted(windowName)) { TutorialManager::instance().activateTutorial(windowName, fileName); } @@ -1605,17 +1605,17 @@ void MainWindow::updateToolMenu() QMap>> submenuMap; for (auto toolPlugin : toolPlugins) { QStringList toolName = toolPlugin->displayName().split("/"); - QString submenu = toolName[0]; + QString const submenu = toolName[0]; toolName.pop_front(); submenuMap[submenu].append( QPair(toolName.join("/"), toolPlugin)); } // Start registering plugins - for (auto submenuKey : submenuMap.keys()) { + for (const auto& submenuKey : submenuMap.keys()) { if (submenuMap[submenuKey].length() > 1) { QMenu* submenu = new QMenu(submenuKey, this); - for (auto info : submenuMap[submenuKey]) { + for (const auto& info : submenuMap[submenuKey]) { registerPluginTool(info.second, info.first, submenu); } ui->actionTool->menu()->addMenu(submenu); @@ -1663,7 +1663,7 @@ bool MainWindow::registerNexusPage(const QString& gameName) return false; // Get the gameURL - QString gameURL = NexusInterface::instance().getGameURL(gameName); + QString const gameURL = NexusInterface::instance().getGameURL(gameName); if (gameURL.isEmpty()) return false; @@ -1715,12 +1715,12 @@ void MainWindow::updateModPageMenu() QStringList registeredSources; // Add the primary game - QString gameShortName = m_OrganizerCore.managedGame()->gameShortName(); + QString const gameShortName = m_OrganizerCore.managedGame()->gameShortName(); if (registerNexusPage(gameShortName)) registeredSources << gameShortName; // Add the primary sources - for (auto gameName : m_OrganizerCore.managedGame()->primarySources()) { + for (const auto& gameName : m_OrganizerCore.managedGame()->primarySources()) { if (!registeredSources.contains(gameName) && registerNexusPage(gameName)) registeredSources << gameName; } @@ -1732,13 +1732,13 @@ void MainWindow::updateModPageMenu() // Add the secondary games (sorted) QStringList secondaryGames = m_OrganizerCore.managedGame()->validShortNames(); secondaryGames.sort(Qt::CaseInsensitive); - for (auto gameName : secondaryGames) { + for (const auto& gameName : secondaryGames) { if (!registeredSources.contains(gameName) && registerNexusPage(gameName)) registeredSources << gameName; } // No mod page plugin and the menu was visible - bool keepOriginalAction = + bool const keepOriginalAction = modPagePlugins.empty() && registeredSources.length() <= 1; if (keepOriginalAction) { ui->toolBar->insertAction(ui->actionAdd_Profile, ui->actionNexus); @@ -1768,7 +1768,7 @@ void MainWindow::startExeAction() } action->setEnabled(false); - Guard g([&] { + Guard const g([&] { action->setEnabled(true); }); @@ -1799,7 +1799,7 @@ void MainWindow::on_profileBox_currentIndexChanged(int index) return; } - int previousIndex = m_OldProfileIndex; + int const previousIndex = m_OldProfileIndex; m_OldProfileIndex = index; // select has changed, save stuff @@ -1886,7 +1886,7 @@ bool MainWindow::refreshProfiles(bool selectProfile, QString newProfile) { QComboBox* profileBox = findChild("profileBox"); - QString currentProfileName = profileBox->currentText(); + QString const currentProfileName = profileBox->currentText(); profileBox->blockSignals(true); profileBox->clear(); @@ -2011,9 +2011,9 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, std::vector> items; auto invalidation = m_OrganizerCore.gameFeatures().gameFeature(); - std::vector files = m_OrganizerCore.directoryStructure()->getFiles(); + std::vector const files = m_OrganizerCore.directoryStructure()->getFiles(); - QStringList plugins = + QStringList const plugins = m_OrganizerCore.findFiles("", [](const QString& fileName) -> bool { return fileName.endsWith(".esp", Qt::CaseInsensitive) || fileName.endsWith(".esm", Qt::CaseInsensitive) || @@ -2023,7 +2023,7 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, QList> pluginNamePairs; pluginNamePairs.reserve(plugins.size()); for (const QString& pluginName : plugins) { - QFileInfo pluginInfo(pluginName); + QFileInfo const pluginInfo(pluginName); pluginNamePairs.append( std::make_pair(pluginInfo.completeBaseName(), pluginInfo.fileName())); } @@ -2039,8 +2039,8 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, return false; }; - for (FileEntryPtr current : files) { - QFileInfo fileInfo(ToQString(current->getName().c_str())); + for (const FileEntryPtr& current : files) { + QFileInfo const fileInfo(ToQString(current->getName().c_str())); if (fileInfo.suffix().toLower() == "bsa" || fileInfo.suffix().toLower() == "ba2") { int index = activeArchives.indexOf(fileInfo.fileName()); @@ -2055,8 +2055,8 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, index = 1; } - int originId = current->getOrigin(); - FilesOrigin& origin = + int const originId = current->getOrigin(); + FilesOrigin const& origin = m_OrganizerCore.directoryStructure()->getOriginByID(originId); QTreeWidgetItem* newItem = new QTreeWidgetItem( @@ -2085,14 +2085,14 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, if (index < 0) index = 0; - UINT32 sortValue = ((origin.getPriority() & 0xFFFF) << 16) | (index & 0xFFFF); + UINT32 const sortValue = ((origin.getPriority() & 0xFFFF) << 16) | (index & 0xFFFF); items.push_back(std::make_pair(sortValue, newItem)); } } std::sort(items.begin(), items.end(), BySortValue); for (auto iter = items.begin(); iter != items.end(); ++iter) { - int originID = iter->second->data(1, Qt::UserRole).toInt(); + int const originID = iter->second->data(1, Qt::UserRole).toInt(); const FilesOrigin& origin = m_OrganizerCore.directoryStructure()->getOriginByID(originID); @@ -2103,11 +2103,11 @@ void MainWindow::updateBSAList(const QStringList& defaultArchives, if (modIndex == UINT_MAX) { modName = UnmanagedModName(); } else { - ModInfo::Ptr modInfo = ModInfo::getByIndex(modIndex); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modIndex); modName = modInfo->name(); } - QList items = + QList const items = ui->bsaList->findItems(modName, Qt::MatchFixedString); QTreeWidgetItem* subItem = nullptr; if (!items.empty()) { @@ -2133,7 +2133,7 @@ void MainWindow::checkBSAList() ui->bsaList->blockSignals(false); }); - QStringList defaultArchives = + QStringList const defaultArchives = archives->archives(m_OrganizerCore.currentProfile().get()); bool warning = false; @@ -2143,7 +2143,7 @@ void MainWindow::checkBSAList() QTreeWidgetItem* tlItem = ui->bsaList->topLevelItem(i); for (int j = 0; j < tlItem->childCount(); ++j) { QTreeWidgetItem* item = tlItem->child(j); - QString filename = item->text(0); + QString const filename = item->text(0); item->setIcon(0, QIcon()); item->setToolTip(0, QString()); @@ -2174,7 +2174,7 @@ void MainWindow::saveModMetas() if (m_MetaSave.isFinished()) { m_MetaSave = QtConcurrent::run([this]() { for (unsigned int i = 0; i < ModInfo::getNumMods(); ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); modInfo->saveMeta(); } }); @@ -2184,8 +2184,8 @@ void MainWindow::saveModMetas() void MainWindow::fixCategories() { for (unsigned int i = 0; i < ModInfo::getNumMods(); ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); - std::set categories = modInfo->getCategories(); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); + std::set const categories = modInfo->getCategories(); for (std::set::iterator iter = categories.begin(); iter != categories.end(); ++iter) { if (!m_CategoryFactory.categoryExists(*iter)) { @@ -2380,7 +2380,7 @@ void MainWindow::on_startButton_clicked() } ui->startButton->setEnabled(false); - Guard g([&] { + Guard const g([&] { ui->startButton->setEnabled(true); }); @@ -2390,7 +2390,7 @@ void MainWindow::on_startButton_clicked() const auto* s = Settings::maybeInstance(); bool useSLR = true; if (s) { - QSettings instanceIni(s->filename(), QSettings::IniFormat); + QSettings const instanceIni(s->filename(), QSettings::IniFormat); useSLR = instanceIni.value("fluorine/use_slr", true).toBool(); } if (useSLR && !isSlrInstalled()) { @@ -2603,7 +2603,7 @@ void MainWindow::modInstalled(const QString& modName) return; } - unsigned int index = ModInfo::getIndex(modName); + unsigned int const index = ModInfo::getIndex(modName); if (index == UINT_MAX) { return; @@ -2661,16 +2661,16 @@ void MainWindow::fileMoved(const QString& filePath, const QString& oldOriginName try { if (m_OrganizerCore.directoryStructure()->originExists( ToWString(newOriginName))) { - FilesOrigin& newOrigin = m_OrganizerCore.directoryStructure()->getOriginByName( + FilesOrigin const& newOrigin = m_OrganizerCore.directoryStructure()->getOriginByName( ToWString(newOriginName)); - QString fullNewPath = ToQString(newOrigin.getPath()) + "/" + filePath; + QString const fullNewPath = ToQString(newOrigin.getPath()) + "/" + filePath; FILETIME ft = {}; - QFileInfo fi(fullNewPath); + QFileInfo const fi(fullNewPath); if (fi.exists()) { // Win32 FILETIME = 100-ns intervals since 1601-01-01. - qint64 msecs = fi.birthTime().toMSecsSinceEpoch(); - uint64_t ticks = (static_cast(msecs) * 10000ULL) + + qint64 const msecs = fi.birthTime().toMSecsSinceEpoch(); + uint64_t const ticks = (static_cast(msecs) * 10000ULL) + 116444736000000000ULL; ft.dwLowDateTime = static_cast(ticks & 0xFFFFFFFF); ft.dwHighDateTime = static_cast(ticks >> 32); @@ -2679,7 +2679,7 @@ void MainWindow::fileMoved(const QString& filePath, const QString& oldOriginName } if (m_OrganizerCore.directoryStructure()->originExists( ToWString(oldOriginName))) { - FilesOrigin& oldOrigin = m_OrganizerCore.directoryStructure()->getOriginByName( + FilesOrigin const& oldOrigin = m_OrganizerCore.directoryStructure()->getOriginByName( ToWString(oldOriginName)); filePtr->removeOrigin(oldOrigin.getID()); } @@ -2692,11 +2692,11 @@ void MainWindow::fileMoved(const QString& filePath, const QString& oldOriginName } // Track files moved from Overwrite to a mod for in-place write-back. - ModInfo::Ptr owInfo = ModInfo::getOverwrite(); + ModInfo::Ptr const owInfo = ModInfo::getOverwrite(); if (owInfo && oldOriginName == owInfo->name()) { if (m_OrganizerCore.directoryStructure()->originExists( ToWString(newOriginName))) { - FilesOrigin& newOrigin = + FilesOrigin const& newOrigin = m_OrganizerCore.directoryStructure()->getOriginByName( ToWString(newOriginName)); m_OrganizerCore.trackOverwriteMove(filePath, ToQString(newOrigin.getPath())); @@ -2761,7 +2761,7 @@ void MainWindow::saveArchiveList() void MainWindow::openInstanceFolder() { - QString dataPath = qApp->property("dataPath").toString(); + QString const dataPath = qApp->property("dataPath").toString(); shell::Explore(dataPath); } @@ -2891,7 +2891,7 @@ void MainWindow::on_linkButton_pressed() const QIcon addIcon(":/MO/gui/link"); const QIcon removeIcon(":/MO/gui/remove"); - env::Shortcut shortcut(*exe); + env::Shortcut const shortcut(*exe); m_LinkToolbar->setIcon(exe->isShownOnToolbar() ? removeIcon : addIcon); @@ -2908,13 +2908,13 @@ void MainWindow::on_actionSettings_triggered() { Settings& settings = m_OrganizerCore.settings(); - QString oldModDirectory(settings.paths().mods()); - QString oldCacheDirectory(settings.paths().cache()); - QString oldProfilesDirectory(settings.paths().profiles()); - QString oldManagedGameDirectory(settings.game().directory().value_or("")); - bool oldDisplayForeign(settings.interface().displayForeign()); - bool oldArchiveParsing(settings.archiveParsing()); - bool proxy = settings.network().useProxy(); + QString const oldModDirectory(settings.paths().mods()); + QString const oldCacheDirectory(settings.paths().cache()); + QString const oldProfilesDirectory(settings.paths().profiles()); + QString const oldManagedGameDirectory(settings.game().directory().value_or("")); + bool const oldDisplayForeign(settings.interface().displayForeign()); + bool const oldArchiveParsing(settings.archiveParsing()); + bool const proxy = settings.network().useProxy(); DownloadManager* dlManager = m_OrganizerCore.downloadManager(); const bool oldCheckForUpdates = settings.checkForUpdates(); const int oldMaxDumps = settings.diagnostics().maxCoreDumps(); @@ -3040,7 +3040,7 @@ void MainWindow::refreshNexusCategories(CategoriesDialog* dialog) void MainWindow::categoriesSaved() { - for (auto modName : m_OrganizerCore.modList()->allMods()) { + for (const auto& modName : m_OrganizerCore.modList()->allMods()) { auto mod = ModInfo::getByName(modName); for (auto category : mod->getCategories()) { if (!m_CategoryFactory.categoryExists(category)) @@ -3117,7 +3117,7 @@ void MainWindow::originModified(int originID) DirectoryStats dummy; QString path = QString::fromStdWString(origin.getPath()); - QString modDataDir = m_OrganizerCore.managedGame()->modDataDirectory(); + QString const modDataDir = m_OrganizerCore.managedGame()->modDataDirectory(); path = modDataDir.isEmpty() ? path : path + "/" + modDataDir; m_OrganizerCore.directoryStructure()->addFromOrigin( origin.getName(), path.toStdWString(), origin.getPriority(), dummy); @@ -3137,7 +3137,7 @@ void MainWindow::motdReceived(const QString& motd) // don't show motd after 5 seconds, may be annoying. Hopefully the user's // internet connection is faster next time if (m_StartTime.secsTo(QTime::currentTime()) < 5) { - uint hash = qHash(motd); + uint const hash = qHash(motd); if (hash != m_OrganizerCore.settings().motdHash()) { MotDDialog dialog(motd); dialog.exec(); @@ -3240,29 +3240,29 @@ void MainWindow::toggleUpdateAction() void MainWindow::nxmEndorsementsAvailable(QVariant userData, QVariant resultData, int) { - QVariantList data = resultData.toList(); + QVariantList const data = resultData.toList(); std::multimap> sorted; QStringList games = m_OrganizerCore.managedGame()->validShortNames(); games += m_OrganizerCore.managedGame()->gameShortName(); bool searchedMO2NexusGame = false; - for (auto endorsementData : data) { + for (const auto& endorsementData : data) { QVariantMap endorsement = endorsementData.toMap(); std::pair data = std::make_pair( endorsement["mod_id"].toInt(), endorsement["status"].toString()); sorted.insert(std::pair>( endorsement["domain_name"].toString(), data)); } - for (auto game : games) { + for (const auto& game : games) { IPluginGame* gamePlugin = m_OrganizerCore.getGame(game); if (gamePlugin != nullptr && gamePlugin->gameShortName().compare("SkyrimSE", Qt::CaseInsensitive) == 0) searchedMO2NexusGame = true; auto iter = sorted.equal_range(gamePlugin->gameNexusName()); for (auto result = iter.first; result != iter.second; ++result) { - std::vector modsList = + std::vector const modsList = ModInfo::getByModID(result->first, result->second.first); - for (auto mod : modsList) { + for (const auto& mod : modsList) { if (mod->endorsedState() != EndorsedState::ENDORSED_NEVER) { if (result->second.second == "Endorsed") mod->setIsEndorsed(true); @@ -3312,7 +3312,7 @@ void MainWindow::nxmUpdateInfoAvailable(QString gameName, QVariant userData, break; } } - QVariantList resultList = resultData.toList(); + QVariantList const resultList = resultData.toList(); auto* watcher = new QFutureWatcher(); QObject::connect(watcher, &QFutureWatcher::finished, @@ -3358,8 +3358,8 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD QVariant resultData, int requestID) { QVariantMap resultInfo = resultData.toMap(); - QList files = resultInfo["files"].toList(); - QList fileUpdates = resultInfo["file_updates"].toList(); + QList const files = resultInfo["files"].toList(); + QList const fileUpdates = resultInfo["file_updates"].toList(); QString gameNameReal; for (IPluginGame* game : m_PluginContainer.plugins()) { @@ -3369,14 +3369,14 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD } } - std::vector modsList = ModInfo::getByModID(gameNameReal, modID); + std::vector const modsList = ModInfo::getByModID(gameNameReal, modID); bool requiresInfo = false; - for (auto mod : modsList) { + for (const auto& mod : modsList) { QString validNewVersion; int newModStatus = -1; - QString installedFile = QFileInfo(mod->installationFile()).fileName(); + QString const installedFile = QFileInfo(mod->installationFile()).fileName(); if (!installedFile.isEmpty()) { QVariantMap foundFileData; @@ -3444,7 +3444,7 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD const QVariantMap& fileData = file.toMap(); if (currentUpdateId == fileData["file_id"].toInt()) { - int updateStatus = fileData["category_id"].toInt(); + int const updateStatus = fileData["category_id"].toInt(); if (updateStatus != NexusInterface::FileStatus::OLD_VERSION && updateStatus != NexusInterface::FileStatus::REMOVED && @@ -3512,11 +3512,11 @@ void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userD } } - std::vector modsList = ModInfo::getByModID(gameNameReal, modID); + std::vector const modsList = ModInfo::getByModID(gameNameReal, modID); - for (auto mod : modsList) { - QDateTime now = QDateTime::currentDateTimeUtc(); - QDateTime updateTarget = mod->getExpires(); + for (const auto& mod : modsList) { + QDateTime const now = QDateTime::currentDateTimeUtc(); + QDateTime const updateTarget = mod->getExpires(); // if file is still listed as optional or miscellaneous don't update the version as // often optional files are left with an older version than the main mod version. @@ -3544,7 +3544,7 @@ void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userD if ((mod->endorsedState() != EndorsedState::ENDORSED_NEVER) && (result.contains("endorsement"))) { QVariantMap endorsement = result["endorsement"].toMap(); - QString endorsementStatus = endorsement["endorse_status"].toString(); + QString const endorsementStatus = endorsement["endorse_status"].toString(); if (endorsementStatus.compare("Endorsed") == 00) mod->setIsEndorsed(true); @@ -3624,7 +3624,7 @@ void MainWindow::nxmTrackedModsAvailable(QVariant userData, QVariant resultData, bool found = false; auto resultsList = resultData.toList(); - for (auto item : resultsList) { + for (const auto& item : resultsList) { auto results = item.toMap(); if ((gameNames[results["domain_name"].toString()].compare( modInfo->gameName(), Qt::CaseInsensitive) == 0) && @@ -3678,10 +3678,10 @@ void MainWindow::nxmGameInfoAvailable(QString gameName, QVariant, QVariant resul int) { QVariantMap result = resultData.toMap(); - QVariantList categories = result["categories"].toList(); + QVariantList const categories = result["categories"].toList(); CategoryFactory& catFactory = CategoryFactory::instance(); catFactory.reset(); - for (auto category : categories) { + for (const auto& category : categories) { auto catMap = category.toMap(); std::vector nexusCat; nexusCat.push_back(CategoryFactory::NexusCategory(catMap["name"].toString(), @@ -3708,7 +3708,7 @@ void MainWindow::nxmRequestFailed(QString gameName, int modID, int, QVariant, in } } auto orphanedMods = ModInfo::getByModID(gameNameReal, modID); - for (auto mod : orphanedMods) { + for (const auto& mod : orphanedMods) { mod->setLastNexusUpdate(QDateTime::currentDateTimeUtc()); mod->setLastNexusQuery(QDateTime::currentDateTimeUtc()); } @@ -3725,11 +3725,11 @@ BSA::EErrorCode MainWindow::extractBSA(BSA::Archive& archive, BSA::Folder::Ptr f { QDir().mkdir(destination); BSA::EErrorCode result = BSA::ERROR_NONE; - QString errorFile; + QString const errorFile; for (unsigned int i = 0; i < folder->getNumFiles(); ++i) { - BSA::File::Ptr file = folder->getFile(i); - BSA::EErrorCode res = archive.extract(file, qUtf8Printable(destination)); + BSA::File::Ptr const file = folder->getFile(i); + BSA::EErrorCode const res = archive.extract(file, qUtf8Printable(destination)); if (res != BSA::ERROR_NONE) { reportError(tr("failed to read %1: %2").arg(file->getName().c_str()).arg(res)); result = res; @@ -3752,8 +3752,8 @@ BSA::EErrorCode MainWindow::extractBSA(BSA::Archive& archive, BSA::Folder::Ptr f } for (unsigned int i = 0; i < folder->getNumSubFolders(); ++i) { - BSA::Folder::Ptr subFolder = folder->getSubFolder(i); - BSA::EErrorCode res = extractBSA( + BSA::Folder::Ptr const subFolder = folder->getSubFolder(i); + BSA::EErrorCode const res = extractBSA( archive, subFolder, destination.mid(0).append("/").append(subFolder->getName().c_str()), progress); if (res != BSA::ERROR_NONE) { @@ -3778,7 +3778,7 @@ void MainWindow::extractBSATriggered(QTreeWidgetItem* item) QString origin; - QString targetFolder = + QString const targetFolder = FileDialogMemory::getExistingDirectory("extractBSA", this, tr("Extract BSA")); QStringList archives = {}; if (!targetFolder.isEmpty()) { @@ -3798,10 +3798,10 @@ void MainWindow::extractBSATriggered(QTreeWidgetItem* item) archives = QStringList({item->text(0)}); } - for (auto archiveName : archives) { + for (const auto& archiveName : archives) { BSA::Archive archive; - QString archivePath = QDir(origin).filePath(archiveName); - BSA::EErrorCode result = + QString const archivePath = QDir(origin).filePath(archiveName); + BSA::EErrorCode const result = archive.read(archivePath.toLocal8Bit().constData(), true); if ((result != BSA::ERROR_NONE) && (result != BSA::ERROR_INVALIDHASHES)) { reportError(tr("failed to read %1: %2").arg(archivePath).arg(result)); @@ -3935,9 +3935,9 @@ const char* MainWindow::PATTERN_BACKUP_DATE = "yyyy_MM_dd_hh_mm_ss"; bool MainWindow::createBackup(const QString& filePath, const QDateTime& time) { - QString outPath = filePath + "." + time.toString(PATTERN_BACKUP_DATE); + QString const outPath = filePath + "." + time.toString(PATTERN_BACKUP_DATE); if (shellCopy(QStringList(filePath), QStringList(outPath), this)) { - QFileInfo fileInfo(filePath); + QFileInfo const fileInfo(filePath); removeOldFiles(fileInfo.absolutePath(), fileInfo.fileName() + PATTERN_BACKUP_GLOB, 10, QDir::Name); return true; @@ -3949,7 +3949,7 @@ bool MainWindow::createBackup(const QString& filePath, const QDateTime& time) void MainWindow::on_saveButton_clicked() { m_OrganizerCore.savePluginList(); - QDateTime now = QDateTime::currentDateTime(); + QDateTime const now = QDateTime::currentDateTime(); if (createBackup(m_OrganizerCore.currentProfile()->getPluginsFileName(), now) && createBackup(m_OrganizerCore.currentProfile()->getLoadOrderFileName(), now) && createBackup(m_OrganizerCore.currentProfile()->getLockedOrderFileName(), now)) { @@ -3959,25 +3959,25 @@ void MainWindow::on_saveButton_clicked() QString MainWindow::queryRestore(const QString& filePath) { - QFileInfo pluginFileInfo(filePath); - QString pattern = pluginFileInfo.fileName() + ".*"; + QFileInfo const pluginFileInfo(filePath); + QString const pattern = pluginFileInfo.fileName() + ".*"; QFileInfoList files = pluginFileInfo.absoluteDir().entryInfoList( QStringList(pattern), QDir::Files, QDir::Name); SelectionDialog dialog(tr("Choose backup to restore"), this); - QRegularExpression exp(QRegularExpression::anchoredPattern(pluginFileInfo.fileName() + + QRegularExpression const exp(QRegularExpression::anchoredPattern(pluginFileInfo.fileName() + PATTERN_BACKUP_REGEX)); // match orphaned SafeWriteFile temporaries - QRegularExpression exp2(QRegularExpression::anchoredPattern( + QRegularExpression const exp2(QRegularExpression::anchoredPattern( pluginFileInfo.fileName() + "\\.([A-Za-z]{6})")); - QRegularExpression exp3( + QRegularExpression const exp3( QRegularExpression::anchoredPattern(pluginFileInfo.fileName() + "\\.(.*)")); for (const QFileInfo& info : boost::adaptors::reverse(files)) { auto match = exp.match(info.fileName()); auto match2 = exp2.match(info.fileName()); auto match3 = exp3.match(info.fileName()); if (match.hasMatch()) { - QDateTime time = QDateTime::fromString(match.captured(1), PATTERN_BACKUP_DATE); + QDateTime const time = QDateTime::fromString(match.captured(1), PATTERN_BACKUP_DATE); dialog.addChoice(time.toString(), "", match.captured(1)); } else if (match2.hasMatch()) { dialog.addChoice(match2.captured(1), @@ -4004,11 +4004,11 @@ QString MainWindow::queryRestore(const QString& filePath) void MainWindow::on_restoreButton_clicked() { - QString pluginName = m_OrganizerCore.currentProfile()->getPluginsFileName(); - QString choice = queryRestore(pluginName); + QString const pluginName = m_OrganizerCore.currentProfile()->getPluginsFileName(); + QString const choice = queryRestore(pluginName); if (!choice.isEmpty()) { - QString loadOrderName = m_OrganizerCore.currentProfile()->getLoadOrderFileName(); - QString lockedName = m_OrganizerCore.currentProfile()->getLockedOrderFileName(); + QString const loadOrderName = m_OrganizerCore.currentProfile()->getLoadOrderFileName(); + QString const lockedName = m_OrganizerCore.currentProfile()->getLockedOrderFileName(); if (!shellCopy(pluginName + "." + choice, pluginName, true, this) || !shellCopy(loadOrderName + "." + choice, loadOrderName, true, this) || !shellCopy(lockedName + "." + choice, lockedName, true, this)) { @@ -4026,7 +4026,7 @@ void MainWindow::on_restoreButton_clicked() void MainWindow::on_saveModsButton_clicked() { m_OrganizerCore.currentProfile()->writeModlistNow(true); - QDateTime now = QDateTime::currentDateTime(); + QDateTime const now = QDateTime::currentDateTime(); if (createBackup(m_OrganizerCore.currentProfile()->getModlistFileName(), now)) { MessageDialog::showMessage(tr("Backup of mod list created"), this); } @@ -4034,8 +4034,8 @@ void MainWindow::on_saveModsButton_clicked() void MainWindow::on_restoreModsButton_clicked() { - QString modlistName = m_OrganizerCore.currentProfile()->getModlistFileName(); - QString choice = queryRestore(modlistName); + QString const modlistName = m_OrganizerCore.currentProfile()->getModlistFileName(); + QString const choice = queryRestore(modlistName); if (!choice.isEmpty()) { if (!shellCopy(modlistName + "." + choice, modlistName, true, this)) { const auto e = GetLastError(); @@ -4068,18 +4068,18 @@ void MainWindow::dragEnterEvent(QDragEnterEvent* event) QMimeData const* data = event->mimeData(); if (data->hasUrls()) { - QStringList extensions = + QStringList const extensions = m_OrganizerCore.installationManager()->getSupportedExtensions(); // This is probably OK - scan to see if these are moderately sane archive // types - QList urls = data->urls(); + QList const urls = data->urls(); bool ok = true; for (const QUrl& url : urls) { if (url.isLocalFile()) { - QString local = url.toLocalFile(); + QString const local = url.toLocalFile(); bool fok = false; - for (auto ext : extensions) { + for (const auto& ext : extensions) { if (local.endsWith(ext, Qt::CaseInsensitive)) { fok = true; break; @@ -4100,7 +4100,7 @@ void MainWindow::dragEnterEvent(QDragEnterEvent* event) void MainWindow::dropLocalFile(const QUrl& url, const QString& outputDir, bool move) { - QFileInfo file(url.toLocalFile()); + QFileInfo const file(url.toLocalFile()); if (!file.exists()) { log::warn("invalid source file: {}", file.absoluteFilePath()); return; @@ -4141,8 +4141,8 @@ void MainWindow::dropLocalFile(const QUrl& url, const QString& outputDir, bool m void MainWindow::dropEvent(QDropEvent* event) { - Qt::DropAction action = event->proposedAction(); - QString outputDir = m_OrganizerCore.downloadManager()->getOutputDirectory(); + Qt::DropAction const action = event->proposedAction(); + QString const outputDir = m_OrganizerCore.downloadManager()->getOutputDirectory(); if (action == Qt::MoveAction) { // Tell windows I'm taking control and will delete the source of a move. event->setDropAction(Qt::TargetMoveAction); @@ -4167,7 +4167,7 @@ void MainWindow::keyReleaseEvent(QKeyEvent* event) // if the menubar is hidden and showMenuBarOnAlt is true, // pressing Alt will make it visible if (event->key() == Qt::Key_Alt) { - bool showMenubarOnAlt = settings.interface().showMenubarOnAlt(); + bool const showMenubarOnAlt = settings.interface().showMenubarOnAlt(); if (showMenubarOnAlt && !ui->menuBar->isVisible()) { ui->menuBar->show(); } diff --git a/src/src/messagedialog.cpp b/src/src/messagedialog.cpp index d5b82c6..667d280 100644 --- a/src/src/messagedialog.cpp +++ b/src/src/messagedialog.cpp @@ -32,12 +32,12 @@ MessageDialog::MessageDialog(const QString& text, QWidget* reference) // very crude way to ensure no single word in the test is wider than the message // window. ellide in the center if necessary - QFontMetrics metrics(ui->message->font()); + QFontMetrics const metrics(ui->message->font()); QString restrictedText; - QStringList lines = text.split("\n"); + QStringList const lines = text.split("\n"); foreach (const QString& line, lines) { QString newLine; - QStringList words = line.split(" "); + QStringList const words = line.split(" "); foreach (const QString& word, words) { if (word.length() > 10) { newLine += diff --git a/src/src/moapplication.cpp b/src/src/moapplication.cpp index f1b6d45..db4ad6b 100644 --- a/src/src/moapplication.cpp +++ b/src/src/moapplication.cpp @@ -214,7 +214,7 @@ void configureQtWebEngineProcessPath() MOApplication::MOApplication(int& argc, char** argv) : QApplication(argc, argv) { - TimeThis tt("MOApplication()"); + TimeThis const tt("MOApplication()"); // Ensure the app name is always "ModOrganizer" regardless of the binary // filename (e.g. "ModOrganizer.bin" inside an AppImage). @@ -335,7 +335,7 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) tt.start("MOApplication::doOneRun() log and checks"); // logging and checking - env::Environment env; + env::Environment const env; env.dump(*m_settings); m_settings->dump(); sanity::checkEnvironment(env); @@ -419,7 +419,7 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) { auto prefixPath = FluorineConfig::prefixPath(); if (!prefixPath || prefixPath->isEmpty()) { - QSettings instanceSettings(m_settings->filename(), QSettings::IniFormat); + QSettings const instanceSettings(m_settings->filename(), QSettings::IniFormat); for (const auto& key : {"Settings/proton_prefix_path", "Settings/prefix_path", "Proton/prefix_path", "fluorine/prefix_path"}) { const QString value = instanceSettings.value(key).toString().trimmed(); @@ -430,7 +430,7 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) } } if (prefixPath && !prefixPath->isEmpty()) { - WinePrefix prefix(*prefixPath); + WinePrefix const prefix(*prefixPath); if (prefix.isValid()) { log::info("checking for stale backup files in prefix '{}'", *prefixPath); prefix.restoreStaleBackups(); @@ -533,7 +533,7 @@ void MOApplication::externalMessage(const QString& message) { log::debug("received external message '{}'", message); - MOShortcut moshortcut(message); + MOShortcut const moshortcut(message); if (moshortcut.isValid()) { if (moshortcut.hasExecutable()) { @@ -650,7 +650,7 @@ void MOApplication::purgeOldFiles() { // remove the temporary backup directory in case we're restarting after an // update - QString backupDirectory = qApp->applicationDirPath() + "/update_backup"; + QString const backupDirectory = qApp->applicationDirPath() + "/update_backup"; if (QDir(backupDirectory).exists()) { shellDelete(QStringList(backupDirectory)); } @@ -683,7 +683,7 @@ void MOApplication::resetForRestart() bool MOApplication::setStyleFile(const QString& styleName) { // remove all files from watch - QStringList currentWatch = m_styleWatcher.files(); + QStringList const currentWatch = m_styleWatcher.files(); if (currentWatch.count() != 0) { m_styleWatcher.removePaths(currentWatch); } @@ -712,7 +712,7 @@ bool MOApplication::setStyleFile(const QString& styleName) QString resolved; for (const auto& dir : searchDirs) { - QString candidate = dir + "/" + styleName; + QString const candidate = dir + "/" + styleName; if (QFile::exists(candidate)) { resolved = candidate; break; @@ -916,7 +916,7 @@ MOSplash::MOSplash(const Settings& settings, const QString& dataPath, return; } - QPixmap image(splashPath); + QPixmap const image(splashPath); if (image.isNull()) { log::error("failed to load splash from {}", splashPath); return; @@ -948,7 +948,7 @@ QString MOSplash::getSplashPath(const Settings& settings, const QString& dataPat // try splash from instance directory const QString splashPath = dataPath + "/splash.png"; if (QFile::exists(dataPath + "/splash.png")) { - QImage image(splashPath); + QImage const image(splashPath); if (!image.isNull()) { return splashPath; } @@ -957,7 +957,7 @@ QString MOSplash::getSplashPath(const Settings& settings, const QString& dataPat // try splash from plugin QString pluginSplash = QString(":/%1/splash").arg(game->gameShortName()); if (QFile::exists(pluginSplash)) { - QImage image(pluginSplash); + QImage const image(pluginSplash); if (!image.isNull()) { image.save(splashPath); return pluginSplash; @@ -967,7 +967,7 @@ QString MOSplash::getSplashPath(const Settings& settings, const QString& dataPat // try default splash from resource QString defaultSplash = ":/MO/gui/splash"; if (QFile::exists(defaultSplash)) { - QImage image(defaultSplash); + QImage const image(defaultSplash); if (!image.isNull()) { return defaultSplash; } diff --git a/src/src/modconflicticondelegate.cpp b/src/src/modconflicticondelegate.cpp index 70c6d92..7646b0c 100644 --- a/src/src/modconflicticondelegate.cpp +++ b/src/src/modconflicticondelegate.cpp @@ -79,7 +79,7 @@ ModConflictIconDelegate::getIconsForFlags(std::vector fl QList ModConflictIconDelegate::getIcons(const QModelIndex& index) const { - QVariant modIndex = index.data(ModList::IndexRole); + QVariant const modIndex = index.data(ModList::IndexRole); if (!modIndex.isValid()) { return {}; @@ -121,7 +121,7 @@ QString ModConflictIconDelegate::getFlagIcon(ModInfo::EConflictFlag flag) size_t ModConflictIconDelegate::getNumIcons(const QModelIndex& index) const { - QVariant modIndex = index.data(ModList::IndexRole); + QVariant const modIndex = index.data(ModList::IndexRole); if (!modIndex.isValid()) { return 0; @@ -133,8 +133,8 @@ size_t ModConflictIconDelegate::getNumIcons(const QModelIndex& index) const QSize ModConflictIconDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& modelIndex) const { - size_t count = getNumIcons(modelIndex); - unsigned int index = modelIndex.data(ModList::IndexRole).toInt(); + size_t const count = getNumIcons(modelIndex); + unsigned int const index = modelIndex.data(ModList::IndexRole).toInt(); QSize result; if (index < ModInfo::getNumMods()) { result = QSize(static_cast(count) * 40, 20); diff --git a/src/src/modcontenticondelegate.cpp b/src/src/modcontenticondelegate.cpp index f329762..70d25fe 100644 --- a/src/src/modcontenticondelegate.cpp +++ b/src/src/modcontenticondelegate.cpp @@ -9,7 +9,7 @@ ModContentIconDelegate::ModContentIconDelegate(ModListView* view, int column, QList ModContentIconDelegate::getIcons(const QModelIndex& index) const { - QVariant modIndex = index.data(ModList::IndexRole); + QVariant const modIndex = index.data(ModList::IndexRole); if (!modIndex.isValid()) { return {}; diff --git a/src/src/modflagicondelegate.cpp b/src/src/modflagicondelegate.cpp index 842b90e..7edb46b 100644 --- a/src/src/modflagicondelegate.cpp +++ b/src/src/modflagicondelegate.cpp @@ -30,7 +30,7 @@ QList ModFlagIconDelegate::getIconsForFlags(std::vector QList ModFlagIconDelegate::getIcons(const QModelIndex& index) const { - QVariant modid = index.data(ModList::IndexRole); + QVariant const modid = index.data(ModList::IndexRole); if (modid.isValid()) { bool compact; @@ -74,10 +74,10 @@ QString ModFlagIconDelegate::getFlagIcon(ModInfo::EFlag flag) size_t ModFlagIconDelegate::getNumIcons(const QModelIndex& index) const { - unsigned int modIdx = index.data(ModList::IndexRole).toInt(); + unsigned int const modIdx = index.data(ModList::IndexRole).toInt(); if (modIdx < ModInfo::getNumMods()) { - ModInfo::Ptr info = ModInfo::getByIndex(modIdx); - std::vector flags = info->getFlags(); + ModInfo::Ptr const info = ModInfo::getByIndex(modIdx); + std::vector const flags = info->getFlags(); return flags.size(); } else { return 0; @@ -87,8 +87,8 @@ size_t ModFlagIconDelegate::getNumIcons(const QModelIndex& index) const QSize ModFlagIconDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& modelIndex) const { - size_t count = getNumIcons(modelIndex); - unsigned int index = modelIndex.data(ModList::IndexRole).toInt(); + size_t const count = getNumIcons(modelIndex); + unsigned int const index = modelIndex.data(ModList::IndexRole).toInt(); QSize result; if (index < ModInfo::getNumMods()) { result = QSize(static_cast(count) * 40, 20); diff --git a/src/src/modinfo.cpp b/src/src/modinfo.cpp index 69cbd25..75e4487 100644 --- a/src/src/modinfo.cpp +++ b/src/src/modinfo.cpp @@ -66,14 +66,14 @@ bool ModInfo::ByName(const ModInfo::Ptr& LHS, const ModInfo::Ptr& RHS) bool ModInfo::isSeparatorName(const QString& name) { - static QRegularExpression separatorExp( + static QRegularExpression const separatorExp( QRegularExpression::anchoredPattern(".*_separator")); return separatorExp.match(name).hasMatch(); } bool ModInfo::isBackupName(const QString& name) { - static QRegularExpression backupExp( + static QRegularExpression const backupExp( QRegularExpression::anchoredPattern(".*backup[0-9]*")); return backupExp.match(name).hasMatch(); } @@ -85,7 +85,7 @@ bool ModInfo::isRegularName(const QString& name) ModInfo::Ptr ModInfo::createFrom(const QDir& dir, OrganizerCore& core) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); ModInfo::Ptr result; if (isBackupName(dir.dirName())) { @@ -104,7 +104,7 @@ ModInfo::Ptr ModInfo::createFromPlugin(const QString& modName, const QString& es const QStringList& bsaNames, ModInfo::EModType modType, OrganizerCore& core) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); ModInfo::Ptr result = ModInfo::Ptr(new ModInfoForeign(modName, espName, bsaNames, modType, core)); result->m_Index = s_Collection.size(); @@ -114,7 +114,7 @@ ModInfo::Ptr ModInfo::createFromPlugin(const QString& modName, const QString& es ModInfo::Ptr ModInfo::createFromOverwrite(OrganizerCore& core) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); ModInfo::Ptr overwrite = ModInfo::Ptr(new ModInfoOverwrite(core)); overwrite->m_Index = s_Collection.size(); s_Collection.push_back(overwrite); @@ -123,13 +123,13 @@ ModInfo::Ptr ModInfo::createFromOverwrite(OrganizerCore& core) unsigned int ModInfo::getNumMods() { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); return static_cast(s_Collection.size()); } ModInfo::Ptr ModInfo::getByIndex(unsigned int index) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); if (index >= s_Collection.size() && index != ULONG_MAX) { throw MyException(tr("invalid mod index: %1").arg(index)); @@ -141,7 +141,7 @@ ModInfo::Ptr ModInfo::getByIndex(unsigned int index) std::vector ModInfo::getByModID(QString game, int modID) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); std::vector match; for (auto iter : s_ModsByModID) { @@ -165,20 +165,20 @@ std::vector ModInfo::getByModID(QString game, int modID) ModInfo::Ptr ModInfo::getByName(const QString& name) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); return s_Collection[ModInfo::getIndex(name)]; } bool ModInfo::removeMod(unsigned int index) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); if (index >= s_Collection.size()) { throw Exception(tr("remove: invalid mod index %1").arg(index)); } - ModInfo::Ptr modInfo = s_Collection[index]; + ModInfo::Ptr const modInfo = s_Collection[index]; // remove the actual mod (this is the most likely to fail so we do this first) if (modInfo->isRegular()) { @@ -211,9 +211,9 @@ bool ModInfo::removeMod(unsigned int index) unsigned int ModInfo::getIndex(const QString& name) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); - std::map::iterator iter = s_ModsByName.find(name); + std::map::iterator const iter = s_ModsByName.find(name); if (iter == s_ModsByName.end()) { return UINT_MAX; } @@ -234,9 +234,9 @@ unsigned int ModInfo::findMod(const boost::function& filter) void ModInfo::updateFromDisc(const QString& modsDirectory, OrganizerCore& core, bool displayForeign, std::size_t refreshThreadCount) { - TimeThis tt("ModInfo::updateFromDisc()"); + TimeThis const tt("ModInfo::updateFromDisc()"); - QMutexLocker lock(&s_Mutex); + QMutexLocker const lock(&s_Mutex); s_Collection.clear(); s_NextID = 0; s_Overwrite = nullptr; @@ -266,7 +266,7 @@ void ModInfo::updateFromDisc(const QString& modsDirectory, OrganizerCore& core, auto unmanaged = features.gameFeature(); if (unmanaged != nullptr) { for (const QString& modName : unmanaged->mods(!displayForeign)) { - ModInfo::EModType modType = + ModInfo::EModType const modType = game->DLCPlugins().contains(unmanaged->referenceFile(modName).fileName(), Qt::CaseInsensitive) ? ModInfo::EModType::MOD_DLC @@ -297,9 +297,9 @@ void ModInfo::updateIndices() s_ModsByModID.clear(); for (unsigned int i = 0; i < s_Collection.size(); ++i) { - QString modName = s_Collection[i]->internalName(); - QString game = s_Collection[i]->gameName(); - int modID = s_Collection[i]->nexusId(); + QString const modName = s_Collection[i]->internalName(); + QString const game = s_Collection[i]->gameName(); + int const modID = s_Collection[i]->nexusId(); s_Collection[i]->m_Index = i; s_ModsByName[modName] = i; s_ModsByModID[std::pair(game, modID)].push_back(i); @@ -315,7 +315,7 @@ bool ModInfo::checkAllForUpdate(PluginContainer* pluginContainer, QObject* recei QDateTime earliest = QDateTime::currentDateTimeUtc(); QDateTime latest = QDateTime::fromMSecsSinceEpoch(0); std::set games; - for (auto mod : s_Collection) { + for (const auto& mod : s_Collection) { if (mod->canBeUpdated()) { if (mod->getLastNexusUpdate() < earliest) earliest = mod->getLastNexusUpdate(); @@ -348,7 +348,7 @@ bool ModInfo::checkAllForUpdate(PluginContainer* pluginContainer, QObject* recei if (latest < QDateTime::currentDateTimeUtc().addMonths(-1)) { std::set> organizedGames; - for (auto mod : s_Collection) { + for (const auto& mod : s_Collection) { if (mod->canBeUpdated() && mod->getLastNexusUpdate() < QDateTime::currentDateTimeUtc().addMonths(-1)) { organizedGames.insert( @@ -370,26 +370,26 @@ bool ModInfo::checkAllForUpdate(PluginContainer* pluginContainer, QObject* recei "in order to parse the remaining mods.")); } - for (auto game : organizedGames) + for (const auto& game : organizedGames) NexusInterface::instance().requestUpdates(game.second, receiver, QVariant(), game.first, QString()); } else if (earliest < QDateTime::currentDateTimeUtc().addMonths(-1)) { - for (auto gameName : games) + for (const auto& gameName : games) NexusInterface::instance().requestUpdateInfo(gameName, NexusInterface::UpdatePeriod::MONTH, receiver, QVariant(true), QString()); } else if (earliest < QDateTime::currentDateTimeUtc().addDays(-7)) { - for (auto gameName : games) + for (const auto& gameName : games) NexusInterface::instance().requestUpdateInfo( gameName, NexusInterface::UpdatePeriod::MONTH, receiver, QVariant(false), QString()); } else if (earliest < QDateTime::currentDateTimeUtc().addDays(-1)) { - for (auto gameName : games) + for (const auto& gameName : games) NexusInterface::instance().requestUpdateInfo( gameName, NexusInterface::UpdatePeriod::WEEK, receiver, QVariant(false), QString()); } else { - for (auto gameName : games) + for (const auto& gameName : games) NexusInterface::instance().requestUpdateInfo( gameName, NexusInterface::UpdatePeriod::DAY, receiver, QVariant(false), QString()); @@ -404,8 +404,8 @@ std::set> ModInfo::filteredMods(QString gameName, bool markUpdated) { std::set> finalMods; - for (QVariant result : updateData) { - QVariantMap update = result.toMap(); + for (const QVariant& result : updateData) { + QVariantMap const update = result.toMap(); std::copy_if(s_Collection.begin(), s_Collection.end(), std::inserter(finalMods, finalMods.end()), [=](QSharedPointer info) -> bool { @@ -420,7 +420,7 @@ std::set> ModInfo::filteredMods(QString gameName, } if (addOldMods) - for (auto mod : s_Collection) + for (const auto& mod : s_Collection) if (mod->getLastNexusUpdate() < QDateTime::currentDateTimeUtc().addMonths(-1) && mod->gameName().compare(gameName, Qt::CaseInsensitive) == 0) finalMods.insert(mod); @@ -438,7 +438,7 @@ std::set> ModInfo::filteredMods(QString gameName, std::set> diff; std::set_difference(updates.begin(), updates.end(), finalMods.begin(), finalMods.end(), std::inserter(diff, diff.end())); - for (auto skipped : diff) { + for (const auto& skipped : diff) { skipped->setLastNexusUpdate(QDateTime::currentDateTimeUtc()); } } @@ -450,10 +450,10 @@ void ModInfo::manualUpdateCheck(QObject* receiver, std::multimap I std::vector> mods; std::set> organizedGames; - for (auto ID : IDs) { - for (auto matchedMod : getByModID(ID.first, ID.second)) { + for (const auto& ID : IDs) { + for (const auto& matchedMod : getByModID(ID.first, ID.second)) { bool alreadyMatched = false; - for (auto mod : mods) { + for (const auto& mod : mods) { if (mod == matchedMod) { alreadyMatched = true; break; @@ -468,7 +468,7 @@ void ModInfo::manualUpdateCheck(QObject* receiver, std::multimap I return mod->nexusId() <= 0; }), mods.end()); - for (auto mod : mods) { + for (const auto& mod : mods) { mod->setLastNexusUpdate(QDateTime()); } @@ -480,12 +480,12 @@ void ModInfo::manualUpdateCheck(QObject* receiver, std::multimap I if (!mods.empty()) { log::info("Checking updates for {} mods...", mods.size()); - for (auto mod : mods) { + for (const auto& mod : mods) { organizedGames.insert( std::make_pair(mod->gameName().toLower(), mod->nexusId())); } - for (auto game : organizedGames) { + for (const auto& game : organizedGames) { NexusInterface::instance().requestUpdates(game.second, receiver, QVariant(), game.first, QString()); } @@ -516,7 +516,7 @@ void ModInfo::addCategory(const QString& categoryName) bool ModInfo::removeCategory(const QString& categoryName) { - int id = CategoryFactory::instance().getCategoryID(categoryName); + int const id = CategoryFactory::instance().getCategoryID(categoryName); if (id == -1) { return false; } @@ -531,8 +531,8 @@ QStringList ModInfo::categories() const { QStringList result; - CategoryFactory& catFac = CategoryFactory::instance(); - for (int id : m_Categories) { + CategoryFactory const& catFac = CategoryFactory::instance(); + for (int const id : m_Categories) { result.append(catFac.getCategoryName(catFac.getCategoryIndex(id))); } @@ -547,7 +547,7 @@ bool ModInfo::hasFlag(ModInfo::EFlag flag) const bool ModInfo::hasAnyOfTheseFlags(std::vector flags) const { - std::vector modFlags = getFlags(); + std::vector const modFlags = getFlags(); for (auto modFlag : modFlags) { for (auto flag : flags) { if (modFlag == flag) { diff --git a/src/src/modinfodialog.cpp b/src/src/modinfodialog.cpp index ff00f3a..8cd1070 100644 --- a/src/src/modinfodialog.cpp +++ b/src/src/modinfodialog.cpp @@ -111,7 +111,7 @@ FileRenamer::RenameResults hideFile(FileRenamer& renamer, const QString& oldName FileRenamer::RenameResults unhideFile(FileRenamer& renamer, const QString& oldName) { - QString newName = oldName.left(oldName.length() - ModInfo::s_HiddenExt.length()); + QString const newName = oldName.left(oldName.length() - ModInfo::s_HiddenExt.length()); return renamer.rename(oldName, newName); } @@ -119,13 +119,13 @@ FileRenamer::RenameResults restoreHiddenFilesRecursive(FileRenamer& renamer, const QString& targetDir) { FileRenamer::RenameResults results = FileRenamer::RESULT_OK; - QDir currentDir = targetDir; - for (QString hiddenFile : + QDir const currentDir = targetDir; + for (const QString& hiddenFile : currentDir.entryList((QStringList() << "*" + ModInfo::s_HiddenExt), QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot)) { - QString oldName = currentDir.absoluteFilePath(hiddenFile); - QString newName = oldName.left(oldName.length() - ModInfo::s_HiddenExt.length()); + QString const oldName = currentDir.absoluteFilePath(hiddenFile); + QString const newName = oldName.left(oldName.length() - ModInfo::s_HiddenExt.length()); auto partialResult = renamer.rename(oldName, newName); @@ -138,7 +138,7 @@ FileRenamer::RenameResults restoreHiddenFilesRecursive(FileRenamer& renamer, } } - for (QString dirName : currentDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)) { + for (const QString& dirName : currentDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)) { const QString dirPath = currentDir.absoluteFilePath(dirName); // recurse on childrend directories @@ -274,7 +274,7 @@ void ModInfoDialog::createTabs() int ModInfoDialog::exec() { - GeometrySaver gs(Settings::instance(), this); + GeometrySaver const gs(Settings::instance(), this); restoreState(); // whether to select the first tab; if the main window requested a specific @@ -387,7 +387,7 @@ void ModInfoDialog::setTabsVisibility(bool firstTime) { // this flag is picked up by onTabSelectionChanged() to avoid triggering // activation events while moving tabs around - QScopedValueRollback arrangingTabs(m_arrangingTabs, true); + QScopedValueRollback const arrangingTabs(m_arrangingTabs, true); // one bool per tab to indicate whether the tab should be visible std::vector visibility(m_tabs.size()); diff --git a/src/src/modinfodialogcategories.cpp b/src/src/modinfodialogcategories.cpp index 6c4c9b5..dd91a0a 100644 --- a/src/src/modinfodialogcategories.cpp +++ b/src/src/modinfodialogcategories.cpp @@ -53,7 +53,7 @@ void CategoriesTab::add(const CategoryFactory& factory, continue; } - int categoryID = factory.getCategoryID(i); + int const categoryID = factory.getCategoryID(i); QTreeWidgetItem* newItem = new QTreeWidgetItem(QStringList(factory.getCategoryName(i))); @@ -79,7 +79,7 @@ void CategoriesTab::updatePrimary() { ui->primaryCategories->clear(); - int primaryCategory = mod().primaryCategory(); + int const primaryCategory = mod().primaryCategory(); addChecked(ui->categories->invisibleRootItem()); diff --git a/src/src/modinfodialogconflicts.cpp b/src/src/modinfodialogconflicts.cpp index ee6e461..a03b9dc 100644 --- a/src/src/modinfodialogconflicts.cpp +++ b/src/src/modinfodialogconflicts.cpp @@ -683,7 +683,7 @@ bool GeneralConflictsTab::update() continue; } - bool currModFileArchive = currModAlt->isFromArchive(); + bool const currModFileArchive = currModAlt->isFromArchive(); m_overwrittenModel->add(createOverwrittenItem(file->getIndex(), fileOrigin, archive, std::move(fileName), @@ -767,7 +767,7 @@ void GeneralConflictsTab::updateUICounters() ui->overwrittenCount->display(m_counts.numOverwritten); ui->noConflictCount->display(m_counts.numNonConflicting); - QString tooltipBase = + QString const tooltipBase = tr("" "" "" @@ -778,7 +778,7 @@ void GeneralConflictsTab::updateUICounters() "" "
Type%1TotalPercent
Loose files: %8%9%10%
"); - QString tooltipOverwrite = + QString const tooltipOverwrite = tooltipBase.arg(tr("Winning")) .arg(m_counts.numOverwriteLoose) .arg(m_counts.numTotalLoose) @@ -790,7 +790,7 @@ void GeneralConflictsTab::updateUICounters() .arg(m_counts.numTotalFiles) .arg(percent(m_counts.numOverwrite, m_counts.numTotalFiles)); - QString tooltipOverwritten = + QString const tooltipOverwritten = tooltipBase.arg(tr("Losing")) .arg(m_counts.numOverwrittenLoose) .arg(m_counts.numTotalLoose) @@ -802,7 +802,7 @@ void GeneralConflictsTab::updateUICounters() .arg(m_counts.numTotalFiles) .arg(percent(m_counts.numOverwritten, m_counts.numTotalFiles)); - QString tooltipNonConflict = + QString const tooltipNonConflict = tooltipBase.arg(tr("Non conflicting")) .arg(m_counts.numNonConflictingLoose) .arg(m_counts.numTotalLoose) diff --git a/src/src/modinfodialogesps.cpp b/src/src/modinfodialogesps.cpp index 3e19664..afce42a 100644 --- a/src/src/modinfodialogesps.cpp +++ b/src/src/modinfodialogesps.cpp @@ -274,7 +274,7 @@ void ESPsTab::onActivate() return; } - QDir root(esp->rootPath()); + QDir const root(esp->rootPath()); const QFileInfo file(esp->fileInfo()); QString newName = file.fileName(); @@ -324,7 +324,7 @@ void ESPsTab::onDeactivate() return; } - QDir root(esp->rootPath()); + QDir const root(esp->rootPath()); // if we moved the file from optional to active in this session, we move the // file back to where it came from. Otherwise, it is moved to the new folder diff --git a/src/src/modinfodialogfiletree.cpp b/src/src/modinfodialogfiletree.cpp index 5b231a4..187fff5 100644 --- a/src/src/modinfodialogfiletree.cpp +++ b/src/src/modinfodialogfiletree.cpp @@ -144,7 +144,7 @@ void FileTreeTab::onCreateDirectory() index = index.sibling(index.row(), 0); QString name = tr("New Folder"); - QString path = m_fs->filePath(index).append("/"); + QString const path = m_fs->filePath(index).append("/"); QModelIndex existingIndex = m_fs->index(path + name); int suffix = 1; @@ -153,7 +153,7 @@ void FileTreeTab::onCreateDirectory() existingIndex = m_fs->index(path + name); } - QModelIndex newIndex = m_fs->mkdir(index, name); + QModelIndex const newIndex = m_fs->mkdir(index, name); if (!newIndex.isValid()) { reportError(tr("Failed to create \"%1\"").arg(name)); return; @@ -245,7 +245,7 @@ void FileTreeTab::onRename() return; } - QModelIndex index = selection.sibling(selection.row(), 0); + QModelIndex const index = selection.sibling(selection.row(), 0); if (!index.isValid() || m_fs->isReadOnly()) { return; } @@ -263,7 +263,7 @@ void FileTreeTab::onDelete() QString message; if (rows.count() == 1) { - QString fileName = m_fs->fileName(rows[0]); + QString const fileName = m_fs->fileName(rows[0]); message = tr("Are you sure you want to delete \"%1\"?").arg(fileName); } else { message = tr("Are you sure you want to delete the selected files?"); @@ -314,7 +314,7 @@ bool FileTreeTab::deleteFile(const QModelIndex& index) bool FileTreeTab::deleteFileRecursive(const QModelIndex& parent) { for (int row = 0; row < m_fs->rowCount(parent); ++row) { - QModelIndex index = m_fs->index(row, 0, parent); + QModelIndex const index = m_fs->index(row, 0, parent); if (m_fs->isDir(index)) { if (!deleteFileRecursive(index)) { @@ -434,7 +434,7 @@ void FileTreeTab::onContextMenu(const QPoint& pos) enableDelete = true; // only enable open action if a file is selected - bool hasFiles = false; + bool const hasFiles = false; const QString fileName = m_fs->fileName(selection[0]); diff --git a/src/src/modinfodialogimages.cpp b/src/src/modinfodialogimages.cpp index 0bdfd95..3f02024 100644 --- a/src/src/modinfodialogimages.cpp +++ b/src/src/modinfodialogimages.cpp @@ -476,7 +476,7 @@ void ImagesTab::paintThumbnailText(const PaintContext& cx) cx.painter.setFont(m_theme.font); - QFontMetrics fm(m_theme.font); + QFontMetrics const fm(m_theme.font); const auto text = fm.elidedText(cx.file->filename(), Qt::ElideRight, tr.width()); @@ -956,7 +956,7 @@ void File::load(const Geometry& geo) ensureOriginalLoaded(); if (m_failed) { - QImage warning(":/MO/gui/warning"); + QImage const warning(":/MO/gui/warning"); const auto scaledSize = geo.scaledImageSize(warning.size()); m_thumbnail = diff --git a/src/src/modinfodialognexus.cpp b/src/src/modinfodialognexus.cpp index 0287887..149abcb 100644 --- a/src/src/modinfodialognexus.cpp +++ b/src/src/modinfodialognexus.cpp @@ -91,13 +91,13 @@ void NexusTab::clear() void NexusTab::update() { - QScopedValueRollback loading(m_loading, true); + QScopedValueRollback const loading(m_loading, true); clear(); ui->modID->setText(QString("%1").arg(mod().nexusId())); - QString gameName = mod().gameName(); + QString const gameName = mod().gameName(); ui->sourceGame->addItem(core().managedGame()->gameName(), core().managedGame()->gameShortName()); @@ -105,7 +105,7 @@ void NexusTab::update() ui->sourceGame->setDisabled(true); } else { for (auto game : plugin().plugins()) { - for (QString gameName : core().managedGame()->validShortNames()) { + for (const QString& gameName : core().managedGame()->validShortNames()) { if (game->gameShortName().compare(gameName, Qt::CaseInsensitive) == 0) { ui->sourceGame->addItem(game->gameName(), game->gameShortName()); break; @@ -377,7 +377,7 @@ void NexusTab::onVersionChanged() return; } - MOBase::VersionInfo version(ui->version->text()); + MOBase::VersionInfo const version(ui->version->text()); mod().setVersion(version); updateVersionColor(); } @@ -388,7 +388,7 @@ void NexusTab::onCategoryChanged() return; } - int category = ui->category->text().toInt(); + int const category = ui->category->text().toInt(); mod().setNexusCategory(category); } diff --git a/src/src/modinfodialogtab.cpp b/src/src/modinfodialogtab.cpp index 7848a36..0b0c2e7 100644 --- a/src/src/modinfodialogtab.cpp +++ b/src/src/modinfodialogtab.cpp @@ -244,7 +244,7 @@ void NotesTab::onSetColor() void NotesTab::onResetColor() { - QColor color = QColor(); + QColor const color = QColor(); mod().setColor(color); updateCommentsColor(); diff --git a/src/src/modinfoforeign.cpp b/src/src/modinfoforeign.cpp index 4271648..caca037 100644 --- a/src/src/modinfoforeign.cpp +++ b/src/src/modinfoforeign.cpp @@ -47,7 +47,7 @@ ModInfoForeign::ModInfoForeign(const QString& modName, const QString& referenceF IPluginGame const* game = core.managedGame(); QList directories = {game->dataDirectory()}; directories.append(game->secondaryDataDirectories().values()); - for (QDir directory : directories) { + for (const QDir& directory : directories) { if (referenceFile.startsWith(directory.absolutePath(), Qt::CaseInsensitive)) { m_BaseDirectory = directory.absolutePath(); } diff --git a/src/src/modinfooverwrite.cpp b/src/src/modinfooverwrite.cpp index 52007e9..4368d19 100644 --- a/src/src/modinfooverwrite.cpp +++ b/src/src/modinfooverwrite.cpp @@ -80,7 +80,7 @@ QString ModInfoOverwrite::getDescription() const QStringList ModInfoOverwrite::archives(bool checkOnDisk) { QStringList result; - QDir dir(this->absolutePath()); + QDir const dir(this->absolutePath()); for (const QString& archive : dir.entryList(QStringList({"*.bsa", "*.ba2"}))) { result.append(this->absolutePath() + "/" + archive); } diff --git a/src/src/modinforegular.cpp b/src/src/modinforegular.cpp index dc85e10..2d361bb 100644 --- a/src/src/modinforegular.cpp +++ b/src/src/modinforegular.cpp @@ -112,7 +112,7 @@ void ModInfoRegular::readMeta() QSettings metaFile(m_Path + "/meta.ini", QSettings::IniFormat); m_Comments = metaFile.value("comments", "").toString(); m_Notes = metaFile.value("notes", "").toString(); - QString tempGameName = metaFile.value("gameName", m_GameName).toString(); + QString const tempGameName = metaFile.value("gameName", m_GameName).toString(); if (tempGameName.size()) m_GameName = tempGameName; m_NexusID = metaFile.value("modid", -1).toInt(); @@ -230,13 +230,13 @@ void ModInfoRegular::readMeta() } } - QString categoriesString = metaFile.value("category", "").toString(); + QString const categoriesString = metaFile.value("category", "").toString(); QStringList categories = categoriesString.split(',', Qt::SkipEmptyParts); for (QStringList::iterator iter = categories.begin(); iter != categories.end(); ++iter) { bool ok = false; - int categoryID = iter->toInt(&ok); + int const categoryID = iter->toInt(&ok); if (categoryID < 0) { // ignore invalid id continue; @@ -250,7 +250,7 @@ void ModInfoRegular::readMeta() } } - int numFiles = metaFile.beginReadArray("installedFiles"); + int const numFiles = metaFile.beginReadArray("installedFiles"); for (int i = 0; i < numFiles; ++i) { metaFile.setArrayIndex(i); m_InstalledFileIDs.insert(std::make_pair(metaFile.value("modid").toInt(), @@ -260,9 +260,9 @@ void ModInfoRegular::readMeta() // Plugin settings: metaFile.beginGroup("Plugins"); - for (auto pluginName : metaFile.childGroups()) { + for (const auto& pluginName : metaFile.childGroups()) { metaFile.beginGroup(pluginName); - for (auto settingKey : metaFile.childKeys()) { + for (const auto& settingKey : metaFile.childKeys()) { m_PluginSettings[pluginName][settingKey] = metaFile.value(settingKey); } metaFile.endGroup(); @@ -381,7 +381,7 @@ void ModInfoRegular::nxmDescriptionAvailable(QString, int, QVariant, if ((m_EndorsedState != EndorsedState::ENDORSED_NEVER) && (result.contains("endorsement"))) { QVariantMap endorsement = result["endorsement"].toMap(); - QString endorsementStatus = endorsement["endorse_status"].toString(); + QString const endorsementStatus = endorsement["endorse_status"].toString(); if (endorsementStatus.compare("Endorsed", Qt::CaseInsensitive) == 00) setEndorsedState(EndorsedState::ENDORSED_TRUE); else if (endorsementStatus.compare("Abstained", Qt::CaseInsensitive) == 00) @@ -401,7 +401,7 @@ void ModInfoRegular::nxmDescriptionAvailable(QString, int, QVariant, void ModInfoRegular::nxmEndorsementToggled(QString, int, QVariant, QVariant resultData) { QMap results = resultData.toMap(); - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); for (auto& mod : s_Collection) { if (mod->gameName().compare(m_GameName, Qt::CaseInsensitive) == 0 && mod->nexusId() == m_NexusID) { @@ -420,7 +420,7 @@ void ModInfoRegular::nxmEndorsementToggled(QString, int, QVariant, QVariant resu void ModInfoRegular::nxmTrackingToggled(QString, int, QVariant, bool tracked) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); for (auto& mod : s_Collection) { if (mod->gameName().compare(m_GameName, Qt::CaseInsensitive) == 0 && mod->nexusId() == m_NexusID) { @@ -458,8 +458,8 @@ bool ModInfoRegular::updateNXMInfo() bool ModInfoRegular::needsDescriptionUpdate() const { if (m_NexusID > 0) { - QDateTime time = QDateTime::currentDateTimeUtc(); - QDateTime target = m_LastNexusQuery.addDays(1); + QDateTime const time = QDateTime::currentDateTimeUtc(); + QDateTime const target = m_LastNexusQuery.addDays(1); if (time >= target) { return true; @@ -479,7 +479,7 @@ void ModInfoRegular::setCategory(int categoryID, bool active) m_PrimaryCategory = categoryID; } } else { - std::set::iterator iter = m_Categories.find(categoryID); + std::set::iterator const iter = m_Categories.find(categoryID); if (iter != m_Categories.end()) { m_Categories.erase(iter); } @@ -499,7 +499,7 @@ bool ModInfoRegular::setName(const QString& name) return false; } - QString newPath = + QString const newPath = m_Path.mid(0).replace(m_Path.length() - m_Name.length(), m_Name.length(), name); QDir modDir(m_Path.mid(0, m_Path.length() - m_Name.length())); @@ -525,11 +525,11 @@ bool ModInfoRegular::setName(const QString& name) } } - std::map::iterator nameIter = s_ModsByName.find(m_Name); + std::map::iterator const nameIter = s_ModsByName.find(m_Name); if (nameIter != s_ModsByName.end()) { - QMutexLocker locker(&s_Mutex); + QMutexLocker const locker(&s_Mutex); - unsigned int index = nameIter->second; + unsigned int const index = nameIter->second; s_ModsByName.erase(nameIter); m_Name = name; @@ -700,8 +700,8 @@ void ModInfoRegular::ignoreUpdate(bool ignore) bool ModInfoRegular::canBeUpdated() const { - QDateTime now = QDateTime::currentDateTimeUtc(); - QDateTime target = getExpires(); + QDateTime const now = QDateTime::currentDateTimeUtc(); + QDateTime const target = getExpires(); if (now >= target) return m_NexusID > 0; return false; @@ -775,7 +775,7 @@ QString ModInfoRegular::getDescription() const } std::wostringstream categoryString; categoryString << ToWString(tr("Categories:
")); - CategoryFactory& categoryFactory = CategoryFactory::instance(); + CategoryFactory const& categoryFactory = CategoryFactory::instance(); for (std::set::const_iterator catIter = categories.begin(); catIter != categories.end(); ++catIter) { if (catIter != categories.begin()) { @@ -955,8 +955,8 @@ QStringList ModInfoRegular::archives(bool checkOnDisk) { if (checkOnDisk) { QStringList result; - QDir dir(this->absolutePath()); - QStringList bsaList = dir.entryList(QStringList({"*.bsa", "*.ba2"})); + QDir const dir(this->absolutePath()); + QStringList const bsaList = dir.entryList(QStringList({"*.bsa", "*.ba2"})); for (const QString& archive : bsaList) { result.append(this->absolutePath() + "/" + archive); } @@ -973,7 +973,7 @@ void ModInfoRegular::addInstalledFile(int modId, int fileId) std::vector ModInfoRegular::getIniTweaks() const { - QString metaFileName = absolutePath().append("/meta.ini"); + QString const metaFileName = absolutePath().append("/meta.ini"); QSettings metaFile(metaFileName, QSettings::IniFormat); std::vector result; @@ -987,7 +987,7 @@ std::vector ModInfoRegular::getIniTweaks() const for (int i = 0; i < numTweaks; ++i) { metaFile.setArrayIndex(i); - QString filename = + QString const filename = absolutePath().append("/INI Tweaks/").append(metaFile.value("name").toString()); result.push_back(filename); } diff --git a/src/src/modinfowithconflictinfo.cpp b/src/src/modinfowithconflictinfo.cpp index cfe0c03..e6f4a5f 100644 --- a/src/src/modinfowithconflictinfo.cpp +++ b/src/src/modinfowithconflictinfo.cpp @@ -112,15 +112,15 @@ ModInfoWithConflictInfo::Conflicts ModInfoWithConflictInfo::doConflictCheck() co } } - std::wstring name = ToWString(this->name()); + std::wstring const name = ToWString(this->name()); if (m_Core.directoryStructure()->originExists(name)) { - FilesOrigin& origin = m_Core.directoryStructure()->getOriginByName(name); - std::vector files = origin.getFiles(); + FilesOrigin const& origin = m_Core.directoryStructure()->getOriginByName(name); + std::vector const files = origin.getFiles(); std::set checkedDirs; // for all files in this origin - for (FileEntryPtr file : files) { + for (const FileEntryPtr& file : files) { if (QString::fromStdWString(file->getName()) .endsWith(ModInfo::s_HiddenExt, Qt::CaseInsensitive)) { hasHiddenFiles = true; @@ -176,9 +176,9 @@ ModInfoWithConflictInfo::Conflicts ModInfoWithConflictInfo::doConflictCheck() co // If this is not the origin then determine the correct overwrite if (file->getOrigin() != origin.getID()) { - FilesOrigin& altOrigin = + FilesOrigin const& altOrigin = m_Core.directoryStructure()->getOriginByID(file->getOrigin()); - unsigned int altIndex = ModInfo::getIndex(ToQString(altOrigin.getName())); + unsigned int const altIndex = ModInfo::getIndex(ToQString(altOrigin.getName())); if (!file->isFromArchive()) { if (!archiveData.isValid()) conflicts.m_OverwrittenList.insert(altIndex); @@ -196,10 +196,10 @@ ModInfoWithConflictInfo::Conflicts ModInfoWithConflictInfo::doConflictCheck() co if (!(std::find(dataIDs.begin(), dataIDs.end(), alternatives.back().originID()) != dataIDs.end()) && (altInfo.originID() != origin.getID())) { - FilesOrigin& altOrigin = + FilesOrigin const& altOrigin = m_Core.directoryStructure()->getOriginByID(altInfo.originID()); - QString altOriginName = ToQString(altOrigin.getName()); - unsigned int altIndex = ModInfo::getIndex(altOriginName); + QString const altOriginName = ToQString(altOrigin.getName()); + unsigned int const altIndex = ModInfo::getIndex(altOriginName); if (!altInfo.isFromArchive()) { if (!archiveData.isValid()) { if (origin.getPriority() > altOrigin.getPriority()) { @@ -279,9 +279,9 @@ ModInfoWithConflictInfo::isLooseArchiveConflicted() const bool ModInfoWithConflictInfo::isRedundant() const { - std::wstring name = ToWString(this->name()); + std::wstring const name = ToWString(this->name()); if (m_Core.directoryStructure()->originExists(name)) { - FilesOrigin& origin = m_Core.directoryStructure()->getOriginByName(name); + FilesOrigin const& origin = m_Core.directoryStructure()->getOriginByName(name); std::vector files = origin.getFiles(); bool ignore = false; for (auto iter = files.begin(); iter != files.end(); ++iter) { diff --git a/src/src/modlist.cpp b/src/src/modlist.cpp index 8faaaad..0fdf6c8 100644 --- a/src/src/modlist.cpp +++ b/src/src/modlist.cpp @@ -185,10 +185,10 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const return {}; if (!modelIndex.isValid()) return {}; - unsigned int modIndex = modelIndex.row(); - int column = modelIndex.column(); + unsigned int const modIndex = modelIndex.row(); + int const column = modelIndex.column(); - ModInfo::Ptr modInfo = ModInfo::getByIndex(modIndex); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modIndex); if ((role == Qt::DisplayRole) || (role == Qt::EditRole)) { if ((column == COL_FLAGS) || (column == COL_CONTENT) || (column == COL_CONFLICTFLAGS)) { @@ -196,7 +196,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } else if (column == COL_NAME) { return getDisplayName(modInfo); } else if (column == COL_VERSION) { - VersionInfo verInfo = modInfo->version(); + VersionInfo const verInfo = modInfo->version(); QString version = verInfo.displayString(); if (role != Qt::EditRole) { if (version.isEmpty() && modInfo->canBeUpdated()) { @@ -211,7 +211,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const return QString::number(m_Profile->getModPriority(modIndex)); } } else if (column == COL_MODID) { - int modID = modInfo->nexusId(); + int const modID = modInfo->nexusId(); if (modID > 0) { return modID; } else { @@ -232,10 +232,10 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } else { int category = modInfo->primaryCategory(); if (category != -1) { - CategoryFactory& categoryFactory = CategoryFactory::instance(); + CategoryFactory const& categoryFactory = CategoryFactory::instance(); if (categoryFactory.categoryExists(category)) { try { - int categoryIdx = categoryFactory.getCategoryIndex(category); + int const categoryIdx = categoryFactory.getCategoryIndex(category); return categoryFactory.getCategoryName(categoryIdx); } catch (const std::exception& e) { log::error("failed to retrieve category name: {}", e.what()); @@ -289,8 +289,8 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } else if (role == GroupingRole) { if (column == COL_CATEGORY) { QVariantList categoryNames; - std::set categories = modInfo->getCategories(); - CategoryFactory& categoryFactory = CategoryFactory::instance(); + std::set const categories = modInfo->getCategories(); + CategoryFactory const& categoryFactory = CategoryFactory::instance(); for (auto iter = categories.begin(); iter != categories.end(); ++iter) { categoryNames.append( categoryFactory.getCategoryName(categoryFactory.getCategoryIndex(*iter))); @@ -355,7 +355,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const return {}; } else if (role == Qt::ForegroundRole) { if (column == COL_NAME) { - int highlight = modInfo->getHighlight(); + int const highlight = modInfo->getHighlight(); if (highlight & ModInfo::HIGHLIGHT_IMPORTANT) { return QBrush(Qt::darkRed); } else if (highlight & ModInfo::HIGHLIGHT_INVALID) { @@ -385,7 +385,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const if (column == COL_FLAGS) { QString result; - for (ModInfo::EFlag flag : modInfo->getFlags()) { + for (ModInfo::EFlag const flag : modInfo->getFlags()) { if (result.length() != 0) result += "
"; result += getFlagText(flag, modInfo); @@ -395,7 +395,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } else if (column == COL_CONFLICTFLAGS) { QString result; - for (ModInfo::EConflictFlag flag : modInfo->getConflictFlags()) { + for (ModInfo::EConflictFlag const flag : modInfo->getConflictFlags()) { if (result.length() != 0) result += "
"; result += getConflictFlagText(flag, modInfo); @@ -436,11 +436,11 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } if (modInfo->nexusId() > 0) { if (!modInfo->canBeUpdated()) { - qint64 remains = + qint64 const remains = QDateTime::currentDateTimeUtc().secsTo(modInfo->getExpires()); - qint64 minutes = remains / 60; - qint64 seconds = remains % 60; - QString remainsStr( + qint64 const minutes = remains / 60; + qint64 const seconds = remains % 60; + QString const remainsStr( tr("%1 minute(s) and %2 second(s)").arg(minutes).arg(seconds)); text += "
" + tr("This mod will be available to check in %2.").arg(remainsStr); @@ -454,7 +454,7 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const } std::wostringstream categoryString; categoryString << ToWString(tr("Categories:
")); - CategoryFactory& categoryFactory = CategoryFactory::instance(); + CategoryFactory const& categoryFactory = CategoryFactory::instance(); for (std::set::const_iterator catIter = categories.begin(); catIter != categories.end(); ++catIter) { if (catIter != categories.begin()) { @@ -496,8 +496,8 @@ bool ModList::renameMod(int index, const QString& newName) return false; } - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); - QString oldName = modInfo->name(); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); + QString const oldName = modInfo->name(); if (nameFixed != oldName) { // before we rename, ensure there is no scheduled asynchronous to rewrite m_Profile->cancelModlistWrite(); @@ -524,17 +524,17 @@ bool ModList::setData(const QModelIndex& index, const QVariant& value, int role) return false; } - int modID = index.row(); + int const modID = index.row(); - ModInfo::Ptr info = ModInfo::getByIndex(modID); - IModList::ModStates oldState = state(modID); + ModInfo::Ptr const info = ModInfo::getByIndex(modID); + IModList::ModStates const oldState = state(modID); bool result = false; emit aboutToChangeData(); if (role == Qt::CheckStateRole) { - bool enabled = value.toInt() == Qt::Checked; + bool const enabled = value.toInt() == Qt::Checked; if (m_Profile->modEnabled(modID) != enabled) { m_Profile->setModEnabled(modID, enabled); m_Modified = true; @@ -550,7 +550,7 @@ bool ModList::setData(const QModelIndex& index, const QVariant& value, int role) } break; case COL_PRIORITY: { bool ok = false; - int newPriority = value.toInt(&ok); + int const newPriority = value.toInt(&ok); if (ok) { changeModPriority(modID, newPriority); result = true; @@ -560,7 +560,7 @@ bool ModList::setData(const QModelIndex& index, const QVariant& value, int role) } break; case COL_MODID: { bool ok = false; - int newID = value.toInt(&ok); + int const newID = value.toInt(&ok); if (ok) { info->setNexusID(newID); emit tutorialModlistUpdate(); @@ -570,8 +570,8 @@ bool ModList::setData(const QModelIndex& index, const QVariant& value, int role) } } break; case COL_VERSION: { - VersionInfo::VersionScheme scheme = info->version().scheme(); - VersionInfo version(value.toString(), scheme, true); + VersionInfo::VersionScheme const scheme = info->version().scheme(); + VersionInfo const version(value.toString(), scheme, true); if (version.isValid()) { info->setVersion(version); result = true; @@ -625,7 +625,7 @@ Qt::ItemFlags ModList::flags(const QModelIndex& modelIndex) const return Qt::ItemIsEnabled; } if (modelIndex.isValid()) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(modelIndex.row()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modelIndex.row()); if (!modInfo->hasAutomaticPriority()) { result |= Qt::ItemIsDragEnabled; result |= Qt::ItemIsUserCheckable; @@ -694,7 +694,7 @@ void ModList::changeModPriority(std::vector sourceIndices, int newPriority) // move mods that are decreasing in priority for (const auto& index : sourceIndices) { - int oldPriority = m_Profile->getModPriority(index); + int const oldPriority = m_Profile->getModPriority(index); if (oldPriority > newPriority) { if (m_Profile->setModPriority(index, newPriority)) { m_ModMoved(ModInfo::getByIndex(index)->name(), oldPriority, newPriority); @@ -711,7 +711,7 @@ void ModList::changeModPriority(std::vector sourceIndices, int newPriority) // if at least one mod is increasing in priority, the target index is // that of the row BELOW the dropped location, otherwise it's the one above for (const auto& index : sourceIndices) { - int oldPriority = m_Profile->getModPriority(index); + int const oldPriority = m_Profile->getModPriority(index); if (oldPriority < newPriority) { --newPriority; break; @@ -720,7 +720,7 @@ void ModList::changeModPriority(std::vector sourceIndices, int newPriority) // move mods that are increasing in priority for (const auto& index : sourceIndices) { - int oldPriority = m_Profile->getModPriority(index); + int const oldPriority = m_Profile->getModPriority(index); if (oldPriority < newPriority) { if (m_Profile->setModPriority(index, newPriority)) { m_ModMoved(ModInfo::getByIndex(index)->name(), oldPriority, newPriority); @@ -774,7 +774,7 @@ void ModList::modInfoChanged(ModInfo::Ptr info) m_ModStateChanged({{info->name(), newState}}); } - int row = ModInfo::getIndex(info->name()); + int const row = ModInfo::getIndex(info->name()); info->diskContentModified(); emit aboutToChangeData(); emit dataChanged(index(row, 0), index(row, columnCount())); @@ -801,7 +801,7 @@ IModList::ModStates ModList::state(unsigned int modIndex) const IModList::ModStates result; if (modIndex != UINT_MAX) { result |= IModList::STATE_EXISTS; - ModInfo::Ptr modInfo = ModInfo::getByIndex(modIndex); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modIndex); if (modInfo->isEmpty()) { result |= IModList::STATE_EMPTY; } @@ -812,7 +812,7 @@ IModList::ModStates ModList::state(unsigned int modIndex) const result |= IModList::STATE_VALID; } if (modInfo->isRegular()) { - QSharedPointer modInfoRegular = + QSharedPointer const modInfoRegular = modInfo.staticCast(); if (modInfoRegular->isAlternate() && !modInfoRegular->isConverted()) result |= IModList::STATE_ALTERNATE; @@ -832,7 +832,7 @@ IModList::ModStates ModList::state(unsigned int modIndex) const QString ModList::displayName(const QString& internalName) { - unsigned int modIndex = ModInfo::getIndex(internalName); + unsigned int const modIndex = ModInfo::getIndex(internalName); if (modIndex == UINT_MAX) { // might be better to throw an exception? return internalName; @@ -867,13 +867,13 @@ QStringList ModList::allModsByProfilePriority(MOBase::IProfile* profile) const MOBase::IModInterface* ModList::getMod(const QString& name) { - unsigned int index = ModInfo::getIndex(name); + unsigned int const index = ModInfo::getIndex(name); return index == UINT_MAX ? nullptr : ModInfo::getByIndex(index).data(); } bool ModList::removeMod(MOBase::IModInterface* mod) const { - bool result = ModInfo::removeMod(ModInfo::getIndex(mod->name())); + bool const result = ModInfo::removeMod(ModInfo::getIndex(mod->name())); if (result) { notifyModRemoved(mod->name()); } @@ -883,7 +883,7 @@ bool ModList::removeMod(MOBase::IModInterface* mod) const MOBase::IModInterface* ModList::renameMod(MOBase::IModInterface* mod, const QString& name) { - unsigned int index = ModInfo::getIndex(mod->name()); + unsigned int const index = ModInfo::getIndex(mod->name()); if (index == UINT_MAX) { if (auto* p = dynamic_cast(mod)) { p->setName(name); @@ -902,14 +902,14 @@ MOBase::IModInterface* ModList::renameMod(MOBase::IModInterface* mod, IModList::ModStates ModList::state(const QString& name) const { - unsigned int modIndex = ModInfo::getIndex(name); + unsigned int const modIndex = ModInfo::getIndex(name); return state(modIndex); } bool ModList::setActive(const QString& name, bool active) { - unsigned int modIndex = ModInfo::getIndex(name); + unsigned int const modIndex = ModInfo::getIndex(name); if (modIndex == UINT_MAX) { log::debug("Trying to {} mod {} which does not exist.", active ? "enable" : "disable", name); @@ -947,7 +947,7 @@ int ModList::setActive(const QStringList& names, bool active) int ModList::priority(const QString& name) const { - unsigned int modIndex = ModInfo::getIndex(name); + unsigned int const modIndex = ModInfo::getIndex(name); if (modIndex == UINT_MAX) { return -1; } else { @@ -957,7 +957,7 @@ int ModList::priority(const QString& name) const bool ModList::setPriority(const QString& name, int newPriority) { - unsigned int index = ModInfo::getIndex(name); + unsigned int const index = ModInfo::getIndex(name); if (index == UINT_MAX) { return false; } else { @@ -1002,7 +1002,7 @@ void ModList::notifyModStateChanged(QList modIndices) const std::map mods; for (auto modIndex : modIndices) { indices.append(index(modIndex, 0)); - ModInfo::Ptr modInfo = ModInfo::getByIndex(modIndex); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(modIndex); mods.emplace(modInfo->name(), state(modIndex)); } @@ -1044,20 +1044,20 @@ bool ModList::dropLocalFiles(const ModListDropInfo& dropInfo, int row, if (row == -1) { row = parent.row(); } - ModInfo::Ptr modInfo = ModInfo::getByIndex(row); - QDir modDir = QDir(modInfo->absolutePath()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(row); + QDir const modDir = QDir(modInfo->absolutePath()); QStringList sourceList; QStringList targetList; QList> relativePathList; - for (auto localUrl : dropInfo.localUrls()) { - QFileInfo sourceInfo(localUrl.url.toLocalFile()); + for (const auto& localUrl : dropInfo.localUrls()) { + QFileInfo const sourceInfo(localUrl.url.toLocalFile()); if (localUrl.originName.compare("overwrite", Qt::CaseInsensitive) == 0) { bool needsMove = true; if (sourceInfo.isDir()) { - for (auto dir : m_Organizer->managedGame()->getModMappings().keys()) { - QDir overDir(m_Organizer->overwritePath()); + for (const auto& dir : m_Organizer->managedGame()->getModMappings().keys()) { + QDir const overDir(m_Organizer->overwritePath()); if (sourceInfo.canonicalFilePath().compare(overDir.absoluteFilePath(dir), Qt::CaseInsensitive) == 0) { needsMove = false; @@ -1066,9 +1066,9 @@ bool ModList::dropLocalFiles(const ModListDropInfo& dropInfo, int row, QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot); while (dirIter.hasNext()) { auto entry = dirIter.nextFileInfo(); - QString sourceFile = entry.canonicalFilePath(); + QString const sourceFile = entry.canonicalFilePath(); - QFileInfo targetInfo(modDir.absoluteFilePath( + QFileInfo const targetInfo(modDir.absoluteFilePath( overDir.relativeFilePath(entry.absoluteFilePath()))); sourceList << sourceFile; targetList << targetInfo.absoluteFilePath(); @@ -1079,18 +1079,18 @@ bool ModList::dropLocalFiles(const ModListDropInfo& dropInfo, int row, } } if (needsMove) { - QString sourceFile = sourceInfo.canonicalFilePath(); + QString const sourceFile = sourceInfo.canonicalFilePath(); - QFileInfo targetInfo(modDir.absoluteFilePath(localUrl.relativePath)); + QFileInfo const targetInfo(modDir.absoluteFilePath(localUrl.relativePath)); sourceList << sourceFile; targetList << targetInfo.absoluteFilePath(); relativePathList << QPair(localUrl.relativePath, localUrl.originName); } } else { - QString sourceFile = sourceInfo.canonicalFilePath(); + QString const sourceFile = sourceInfo.canonicalFilePath(); - QFileInfo targetInfo(modDir.absoluteFilePath(localUrl.relativePath)); + QFileInfo const targetInfo(modDir.absoluteFilePath(localUrl.relativePath)); sourceList << sourceFile; targetList << targetInfo.absoluteFilePath(); relativePathList << QPair(localUrl.relativePath, @@ -1105,7 +1105,7 @@ bool ModList::dropLocalFiles(const ModListDropInfo& dropInfo, int row, } } - for (auto iter : relativePathList) { + for (const auto& iter : relativePathList) { emit fileMoved(iter.first, iter.second, modInfo->name()); } @@ -1128,11 +1128,11 @@ bool ModList::canDropMimeData(const QMimeData* mimeData, Qt::DropAction action, return false; } - ModListDropInfo dropInfo(mimeData, *m_Organizer); + ModListDropInfo const dropInfo(mimeData, *m_Organizer); if (dropInfo.isLocalFileDrop()) { if (row == -1 && parent.isValid()) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(parent.row()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(parent.row()); return modInfo->isRegular() && !modInfo->isSeparator(); } } else if (dropInfo.isValid()) { @@ -1140,7 +1140,7 @@ bool ModList::canDropMimeData(const QMimeData* mimeData, Qt::DropAction action, if (row == -1 && parent.isValid()) { return true; } else if (hasIndex(row, column, parent)) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(row); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(row); return !modInfo->isBackup() && (modInfo->isSeparator() || !parent.isValid()); } else { return true; @@ -1157,13 +1157,13 @@ bool ModList::dropMimeData(const QMimeData* mimeData, Qt::DropAction action, int return true; } - ModListDropInfo dropInfo(mimeData, *m_Organizer); + ModListDropInfo const dropInfo(mimeData, *m_Organizer); if (!m_Profile || !dropInfo.isValid()) { return false; } - int dropPriority = this->dropPriority(row, parent); + int const dropPriority = this->dropPriority(row, parent); if (dropPriority == -1) { return false; } @@ -1209,9 +1209,9 @@ void ModList::removeRowForce(int row, const QModelIndex& parent) if (m_Profile == nullptr) return; - ModInfo::Ptr modInfo = ModInfo::getByIndex(row); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(row); - bool wasEnabled = m_Profile->modEnabled(row); + bool const wasEnabled = m_Profile->modEnabled(row); m_Profile->setModEnabled(row, false); @@ -1245,7 +1245,7 @@ bool ModList::removeRows(int row, int count, const QModelIndex& parent) bool success = false; if (count == 1) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(row); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(row); if (modInfo->isOverwrite() && QDir(modInfo->absolutePath()).count() > 2) { emit clearOverwrite(); success = true; @@ -1253,7 +1253,7 @@ bool ModList::removeRows(int row, int count, const QModelIndex& parent) } for (int i = 0; i < count; ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(row + i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(row + i); if (!modInfo->isRegular()) { continue; } @@ -1300,7 +1300,7 @@ void ModList::notifyChange(int rowStart, int rowEnd) } m_InNotifyChange = true; - Guard g([&] { + Guard const g([&] { m_InNotifyChange = false; }); @@ -1431,7 +1431,7 @@ void ModList::shiftModsPriority(const QModelIndexList& indices, int offset) allIndex.push_back(index); } std::sort(allIndex.begin(), allIndex.end(), [=, this](int lhs, int rhs) { - bool cmp = m_Profile->getModPriority(lhs) < m_Profile->getModPriority(rhs); + bool const cmp = m_Profile->getModPriority(lhs) < m_Profile->getModPriority(rhs); return offset > 0 ? !cmp : cmp; }); diff --git a/src/src/modlistbypriorityproxy.cpp b/src/src/modlistbypriorityproxy.cpp index d3f31dc..d70e88a 100644 --- a/src/src/modlistbypriorityproxy.cpp +++ b/src/src/modlistbypriorityproxy.cpp @@ -77,7 +77,7 @@ void ModListByPriorityProxy::buildTree() auto fn = [&](const auto& p) { auto& [priority, index] = p; - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); TreeItem* item = m_IndexToItem[index].get(); if (modInfo->isSeparator()) { @@ -151,7 +151,7 @@ void ModListByPriorityProxy::onModelDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight, const QVector& roles) { - QModelIndex proxyTopLeft = mapFromSource(topLeft); + QModelIndex const proxyTopLeft = mapFromSource(topLeft); if (!proxyTopLeft.isValid()) { return; } @@ -159,7 +159,7 @@ void ModListByPriorityProxy::onModelDataChanged(const QModelIndex& topLeft, if (topLeft == bottomRight) { emit dataChanged(proxyTopLeft, proxyTopLeft); } else { - QModelIndex proxyBottomRight = mapFromSource(bottomRight); + QModelIndex const proxyBottomRight = mapFromSource(bottomRight); emit dataChanged(proxyTopLeft, proxyBottomRight); } } @@ -232,7 +232,7 @@ bool ModListByPriorityProxy::canDropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) const { - ModListDropInfo dropInfo(data, m_core); + ModListDropInfo const dropInfo(data, m_core); if (!dropInfo.isValid() || dropInfo.isLocalFileDrop()) { return QAbstractProxyModel::canDropMimeData(data, action, row, column, parent); @@ -254,7 +254,7 @@ bool ModListByPriorityProxy::canDropMimeData(const QMimeData* data, } } - bool firstRowSeparator = + bool const firstRowSeparator = firstRowIndex != -1 && ModInfo::getByIndex(firstRowIndex)->isSeparator(); // row = -1 and valid parent means we're dropping onto an item, we don't want to diff --git a/src/src/modlistcontextmenu.cpp b/src/src/modlistcontextmenu.cpp index aab6bd3..9d2d640 100644 --- a/src/src/modlistcontextmenu.cpp +++ b/src/src/modlistcontextmenu.cpp @@ -150,9 +150,9 @@ bool ModListChangeCategoryMenu::populate(QMenu* menu, CategoryFactory* factory, targetMenu = menu->addMenu(factory->getCategoryName(i).replace('&', "&&")); } - int id = factory->getCategoryID(i); + int const id = factory->getCategoryID(i); auto checkBox = std::make_unique(targetMenu); - bool enabled = categories.contains(id); + bool const enabled = categories.contains(id); checkBox->setText(factory->getCategoryName(i).replace('&', "&&")); if (enabled) { childEnabled = true; @@ -188,8 +188,8 @@ void ModListPrimaryCategoryMenu::populate(const CategoryFactory* factory, { clear(); const std::set& categories = mod->getCategories(); - for (int categoryID : categories) { - int catIdx = factory->getCategoryIndex(categoryID); + for (int const categoryID : categories) { + int const catIdx = factory->getCategoryIndex(categoryID); QWidgetAction* action = new QWidgetAction(this); try { QRadioButton* categoryBox = @@ -232,7 +232,7 @@ ModListContextMenu::ModListContextMenu(const QModelIndex& index, OrganizerCore& m_selected = {index}; } - ModInfo::Ptr info = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); QMenu* allMods = new ModListGlobalContextMenu(core, view, m_index, view->topLevelWidget()); @@ -241,7 +241,7 @@ ModListContextMenu::ModListContextMenu(const QModelIndex& index, OrganizerCore& auto viewIndex = view->indexModelToView(m_index); if (view->model()->hasChildren(viewIndex)) { - bool expanded = view->isExpanded(viewIndex); + bool const expanded = view->isExpanded(viewIndex); addSeparator(); addAction(tr("Collapse all"), view, &QTreeView::collapseAll); addAction(tr("Collapse others"), [=, this]() { @@ -351,7 +351,7 @@ void ModListContextMenu::addCategoryContextMenus(ModInfo::Ptr mod) ModListPrimaryCategoryMenu* primaryCategoryMenu = new ModListPrimaryCategoryMenu(m_categories, mod, this); connect(primaryCategoryMenu, &QMenu::aboutToHide, [=, this]() { - int category = primaryCategoryMenu->primaryCategory(); + int const category = primaryCategoryMenu->primaryCategory(); if (category != -1) { m_actions.setPrimaryCategory(m_selected, category); } diff --git a/src/src/modlistdropinfo.cpp b/src/src/modlistdropinfo.cpp index aee77a6..aec5a08 100644 --- a/src/src/modlistdropinfo.cpp +++ b/src/src/modlistdropinfo.cpp @@ -25,7 +25,7 @@ ModListDropInfo::ModListDropInfo(const QMimeData* mimeData, OrganizerCore& core) if (m_localUrls.empty() && mimeData->urls().size() == 1) { auto url = mimeData->urls()[0]; if (url.isLocalFile() && !relativeUrl(url)) { - QFileInfo info(url.toLocalFile()); + QFileInfo const info(url.toLocalFile()); if (info.isDir()) { m_url = url; } else if (core.installationManager()->getSupportedExtensions().contains( @@ -70,17 +70,17 @@ ModListDropInfo::relativeUrl(const QUrl& url) return {}; } - QDir allModsDir(Settings::instance().paths().mods()); - QDir overwriteDir(Settings::instance().paths().overwrite()); + QDir const allModsDir(Settings::instance().paths().mods()); + QDir const overwriteDir(Settings::instance().paths().overwrite()); - QFileInfo sourceInfo(url.toLocalFile()); - QString sourceFile = sourceInfo.canonicalFilePath(); + QFileInfo const sourceInfo(url.toLocalFile()); + QString const sourceFile = sourceInfo.canonicalFilePath(); - QString relativePath; + QString const relativePath; QString originName; if (sourceFile.startsWith(allModsDir.canonicalPath())) { - QDir relativeDir(allModsDir.relativeFilePath(sourceFile)); + QDir const relativeDir(allModsDir.relativeFilePath(sourceFile)); QStringList splitPath = relativeDir.path().split("/"); originName = splitPath[0]; splitPath.pop_front(); diff --git a/src/src/modlistsortproxy.cpp b/src/src/modlistsortproxy.cpp index 69ca875..918c39c 100644 --- a/src/src/modlistsortproxy.cpp +++ b/src/src/modlistsortproxy.cpp @@ -84,7 +84,7 @@ void ModListSortProxy::setCriteria(const std::vector& criteria) unsigned long ModListSortProxy::flagsId(const std::vector& flags) { unsigned long result = 0; - for (ModInfo::EFlag flag : flags) { + for (ModInfo::EFlag const flag : flags) { if ((flag != ModInfo::FLAG_FOREIGN) && (flag != ModInfo::FLAG_OVERWRITE)) { result += 1 << (int)flag; } @@ -96,7 +96,7 @@ unsigned long ModListSortProxy::conflictFlagsId( const std::vector& flags) { unsigned long result = 0; - for (ModInfo::EConflictFlag flag : flags) { + for (ModInfo::EConflictFlag const flag : flags) { if ((flag != ModInfo::FLAG_OVERWRITE_CONFLICT)) { result += 1 << (int)flag; } @@ -120,23 +120,23 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ } bool lOk, rOk; - int leftIndex = left.data(ModList::IndexRole).toInt(&lOk); - int rightIndex = right.data(ModList::IndexRole).toInt(&rOk); + int const leftIndex = left.data(ModList::IndexRole).toInt(&lOk); + int const rightIndex = right.data(ModList::IndexRole).toInt(&rOk); if (!lOk || !rOk) { return false; } - ModInfo::Ptr leftMod = ModInfo::getByIndex(leftIndex); - ModInfo::Ptr rightMod = ModInfo::getByIndex(rightIndex); + ModInfo::Ptr const leftMod = ModInfo::getByIndex(leftIndex); + ModInfo::Ptr const rightMod = ModInfo::getByIndex(rightIndex); bool lt = left.data(ModList::PriorityRole).toInt() < right.data(ModList::PriorityRole).toInt(); switch (left.column()) { case ModList::COL_FLAGS: { - std::vector leftFlags = leftMod->getFlags(); - std::vector rightFlags = rightMod->getFlags(); + std::vector const leftFlags = leftMod->getFlags(); + std::vector const rightFlags = rightMod->getFlags(); if (leftFlags.size() != rightFlags.size()) { lt = leftFlags.size() < rightFlags.size(); } else { @@ -144,8 +144,8 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ } } break; case ModList::COL_CONFLICTFLAGS: { - std::vector leftFlags = leftMod->getConflictFlags(); - std::vector rightFlags = rightMod->getConflictFlags(); + std::vector const leftFlags = leftMod->getConflictFlags(); + std::vector const rightFlags = rightMod->getConflictFlags(); if (leftFlags.size() != rightFlags.size()) { lt = leftFlags.size() < rightFlags.size(); } else { @@ -168,7 +168,7 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ lt = lValue < rValue; } break; case ModList::COL_NAME: { - int comp = QString::compare(leftMod->name(), rightMod->name(), Qt::CaseInsensitive); + int const comp = QString::compare(leftMod->name(), rightMod->name(), Qt::CaseInsensitive); if (comp != 0) lt = comp < 0; } break; @@ -180,10 +180,10 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ lt = true; else { try { - CategoryFactory& categories = CategoryFactory::instance(); - QString leftCatName = categories.getCategoryName( + CategoryFactory const& categories = CategoryFactory::instance(); + QString const leftCatName = categories.getCategoryName( categories.getCategoryIndex(leftMod->primaryCategory())); - QString rightCatName = categories.getCategoryName( + QString const rightCatName = categories.getCategoryName( categories.getCategoryIndex(rightMod->primaryCategory())); lt = leftCatName < rightCatName; } catch (const std::exception& e) { @@ -196,7 +196,7 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ if (leftMod->author() != rightMod->author()) { lt = leftMod->author() < rightMod->author(); } else { - int comp = QString::compare(leftMod->uploader(), rightMod->uploader(), + int const comp = QString::compare(leftMod->uploader(), rightMod->uploader(), Qt::CaseInsensitive); if (comp != 0) lt = comp < 0; @@ -206,7 +206,7 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ if (leftMod->uploader() != rightMod->uploader()) { lt = leftMod->uploader() < rightMod->uploader(); } else { - int comp = QString::compare(leftMod->uploader(), rightMod->uploader(), + int const comp = QString::compare(leftMod->uploader(), rightMod->uploader(), Qt::CaseInsensitive); if (comp != 0) lt = comp < 0; @@ -221,8 +221,8 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ lt = leftMod->version() < rightMod->version(); } break; case ModList::COL_INSTALLTIME: { - QDateTime leftTime = left.data().toDateTime(); - QDateTime rightTime = right.data().toDateTime(); + QDateTime const leftTime = left.data().toDateTime(); + QDateTime const rightTime = right.data().toDateTime(); if (leftTime != rightTime) return leftTime < rightTime; } break; @@ -230,15 +230,15 @@ bool ModListSortProxy::lessThan(const QModelIndex& left, const QModelIndex& righ if (leftMod->gameName() != rightMod->gameName()) { lt = leftMod->gameName() < rightMod->gameName(); } else { - int comp = + int const comp = QString::compare(leftMod->name(), rightMod->name(), Qt::CaseInsensitive); if (comp != 0) lt = comp < 0; } } break; case ModList::COL_NOTES: { - QString leftComments = leftMod->comments(); - QString rightComments = rightMod->comments(); + QString const leftComments = leftMod->comments(); + QString const rightComments = rightMod->comments(); if (leftComments != rightComments) { if (leftComments.isEmpty()) { lt = sortOrder() == Qt::DescendingOrder; @@ -274,7 +274,7 @@ void ModListSortProxy::updateFilter(const QString& filter) bool ModListSortProxy::hasConflictFlag( const std::vector& flags) { - for (ModInfo::EConflictFlag flag : flags) { + for (ModInfo::EConflictFlag const flag : flags) { if ((flag == ModInfo::FLAG_CONFLICT_MIXED) || (flag == ModInfo::FLAG_CONFLICT_OVERWRITE) || (flag == ModInfo::FLAG_CONFLICT_OVERWRITTEN) || @@ -466,13 +466,13 @@ bool ModListSortProxy::filterMatchesMod(ModInfo::Ptr info, bool enabled) const bool display = false; QString filterCopy = QString(m_Filter); filterCopy.replace("||", ";").replace("OR", ";").replace("|", ";"); - QStringList ORList = filterCopy.split(";", Qt::SkipEmptyParts); + QStringList const ORList = filterCopy.split(";", Qt::SkipEmptyParts); bool segmentGood = true; // split in ORSegments that internally use AND logic for (auto& ORSegment : ORList) { - QStringList ANDKeywords = ORSegment.split(" ", Qt::SkipEmptyParts); + QStringList const ANDKeywords = ORSegment.split(" ", Qt::SkipEmptyParts); segmentGood = true; bool foundKeyword = false; @@ -508,7 +508,7 @@ bool ModListSortProxy::filterMatchesMod(ModInfo::Ptr info, bool enabled) const // Search by categories if (!foundKeyword && m_EnabledColumns[ModList::COL_CATEGORY]) { - for (auto category : info->categories()) { + for (const auto& category : info->categories()) { if (category.contains(currentKeyword, Qt::CaseInsensitive)) { foundKeyword = true; break; @@ -519,7 +519,7 @@ bool ModListSortProxy::filterMatchesMod(ModInfo::Ptr info, bool enabled) const // Search by Nexus ID if (!foundKeyword && m_EnabledColumns[ModList::COL_MODID]) { bool ok; - int filterID = currentKeyword.toInt(&ok); + int const filterID = currentKeyword.toInt(&ok); if (ok) { int modID = info->nexusId(); while (modID > 0) { @@ -589,7 +589,7 @@ bool ModListSortProxy::filterAcceptsRow(int source_row, const QModelIndex& paren return false; } - QModelIndex idx = sourceModel()->index(source_row, 0, parent); + QModelIndex const idx = sourceModel()->index(source_row, 0, parent); if (!idx.isValid()) { log::debug("invalid mod index"); return false; @@ -619,7 +619,7 @@ bool ModListSortProxy::filterAcceptsRow(int source_row, const QModelIndex& paren return false; } else { - bool modEnabled = + bool const modEnabled = idx.sibling(source_row, 0).data(Qt::CheckStateRole).toInt() == Qt::Checked; return filterMatchesMod(ModInfo::getByIndex(index), modEnabled); } @@ -634,7 +634,7 @@ bool ModListSortProxy::canDropMimeData(const QMimeData* data, Qt::DropAction act int row, int column, const QModelIndex& parent) const { - ModListDropInfo dropInfo(data, *m_Organizer); + ModListDropInfo const dropInfo(data, *m_Organizer); if (!dropInfo.isLocalFileDrop() && sortColumn() != ModList::COL_PRIORITY) { return false; @@ -662,7 +662,7 @@ bool ModListSortProxy::canDropMimeData(const QMimeData* data, Qt::DropAction act bool ModListSortProxy::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) { - ModListDropInfo dropInfo(data, *m_Organizer); + ModListDropInfo const dropInfo(data, *m_Organizer); if (!dropInfo.isLocalFileDrop() && sortColumn() != ModList::COL_PRIORITY) { QWidget* wid = qApp->activeWindow()->findChild("modList"); diff --git a/src/src/modlistversiondelegate.cpp b/src/src/modlistversiondelegate.cpp index 1728001..c96ac17 100644 --- a/src/src/modlistversiondelegate.cpp +++ b/src/src/modlistversiondelegate.cpp @@ -41,8 +41,8 @@ void ModListVersionDelegate::paint(QPainter* painter, opt.decorationAlignment = Qt::AlignCenter; if (upgrade) { - QIcon icon(":/MO/gui/update_available"); - QPixmap pixmap = decoration(opt, icon); + QIcon const icon(":/MO/gui/update_available"); + QPixmap const pixmap = decoration(opt, icon); QSize pm = icon.actualSize(opt.decorationSize); pm.rwidth() += 2 * margin; @@ -54,8 +54,8 @@ void ModListVersionDelegate::paint(QPainter* painter, } if (downgrade) { - QIcon icon(":/MO/gui/warning"); - QPixmap pixmap = decoration(opt, icon); + QIcon const icon(":/MO/gui/warning"); + QPixmap const pixmap = decoration(opt, icon); QSize pm = icon.actualSize(opt.decorationSize); pm.rwidth() += 2 * margin; diff --git a/src/src/modlistviewactions.cpp b/src/src/modlistviewactions.cpp index 6d7d482..4627cc7 100644 --- a/src/src/modlistviewactions.cpp +++ b/src/src/modlistviewactions.cpp @@ -243,8 +243,8 @@ void ModListViewActions::checkModsForUpdates() const } bool updatesAvailable = false; - for (auto mod : m_core.modList()->allMods()) { - ModInfo::Ptr modInfo = ModInfo::getByName(mod); + for (const auto& mod : m_core.modList()->allMods()) { + ModInfo::Ptr const modInfo = ModInfo::getByName(mod); if (modInfo->updateAvailable()) { updatesAvailable = true; break; @@ -277,22 +277,22 @@ void ModListViewActions::assignCategories() const if (result == QMessageBox::Cancel) return; } - for (auto mod : m_core.modList()->allMods()) { - ModInfo::Ptr modInfo = ModInfo::getByName(mod); + for (const auto& mod : m_core.modList()->allMods()) { + ModInfo::Ptr const modInfo = ModInfo::getByName(mod); if (modInfo->isSeparator()) continue; int nexusCategory = modInfo->getNexusCategory(); if (!nexusCategory) { - QSettings downloadMeta(m_core.downloadsPath() + "/" + + QSettings const downloadMeta(m_core.downloadsPath() + "/" + modInfo->installationFile() + ".meta", QSettings::IniFormat); if (downloadMeta.contains("category")) { nexusCategory = downloadMeta.value("category", 0).toInt(); } } - int newCategory = CategoryFactory::instance().resolveNexusID(nexusCategory); + int const newCategory = CategoryFactory::instance().resolveNexusID(nexusCategory); if (newCategory != 0) { - for (auto category : modInfo->categories()) { + for (const auto& category : modInfo->categories()) { modInfo->removeCategory(category); } } @@ -326,7 +326,7 @@ void ModListViewActions::checkModsForUpdates(const QModelIndexList& indices) con { std::multimap ids; for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); ids.insert(std::make_pair(info->gameName(), info->nexusId())); } checkModsForUpdates(ids); @@ -419,8 +419,8 @@ void ModListViewActions::exportModListCSV() const if (selection.exec() == QDialog::Accepted) { - unsigned int numMods = ModInfo::getNumMods(); - int selectedRowID = buttonGroupRows->checkedId(); + unsigned int const numMods = ModInfo::getNumMods(); + int const selectedRowID = buttonGroupRows->checkedId(); try { QBuffer buffer; @@ -472,8 +472,8 @@ void ModListViewActions::exportModListCSV() const auto indexesByPriority = m_core.currentProfile()->getAllIndexesByPriority(); for (auto& iter : indexesByPriority) { - ModInfo::Ptr info = ModInfo::getByIndex(iter.second); - bool enabled = m_core.currentProfile()->modEnabled(iter.second); + ModInfo::Ptr const info = ModInfo::getByIndex(iter.second); + bool const enabled = m_core.currentProfile()->modEnabled(iter.second); if ((selectedRowID == 1) && !enabled) { continue; } else if ((selectedRowID == 2) && !m_view->isModVisible(iter.second)) { @@ -538,20 +538,20 @@ void ModListViewActions::exportModListCSV() const void ModListViewActions::displayModInformation(const QString& modName, ModInfoTabIDs tab) const { - unsigned int index = ModInfo::getIndex(modName); + unsigned int const index = ModInfo::getIndex(modName); if (index == UINT_MAX) { log::error("failed to resolve mod name {}", modName); return; } - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); displayModInformation(modInfo, index, tab); } void ModListViewActions::displayModInformation(unsigned int index, ModInfoTabIDs tab) const { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); displayModInformation(modInfo, index, tab); } @@ -621,7 +621,7 @@ void ModListViewActions::displayModInformation(ModInfo::Ptr modInfo, m_core.directoryStructure()->getOriginByName(ToWString(modInfo->name())); origin.enable(false); QString path = modInfo->absolutePath(); - QString modDataDir = m_core.managedGame()->modDataDirectory(); + QString const modDataDir = m_core.managedGame()->modDataDirectory(); path = modDataDir.isEmpty() ? path : path + "/" + modDataDir; m_core.directoryRefresher()->addModToStructure( m_core.directoryStructure(), modInfo->name(), @@ -647,7 +647,7 @@ void ModListViewActions::sendModsToBottom(const QModelIndexList& indexes) const void ModListViewActions::sendModsToPriority(const QModelIndexList& indexes) const { bool ok; - int priority = QInputDialog::getInt(m_parent, tr("Set Priority"), + int const priority = QInputDialog::getInt(m_parent, tr("Set Priority"), tr("Set the priority of the selected mods"), 0, 0, std::numeric_limits::max(), 1, &ok); if (!ok) @@ -662,7 +662,7 @@ void ModListViewActions::sendModsToSeparator(const QModelIndexList& indexes) con const auto& ibp = m_core.currentProfile()->getAllIndexesByPriority(); for (const auto& [priority, index] : ibp) { if (index < ModInfo::getNumMods()) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); if (modInfo->isSeparator()) { separators << modInfo->name().chopped( 10); // chops the "_separator" away from the name @@ -793,7 +793,7 @@ void ModListViewActions::removeMods(const QModelIndexList& indices) const int i = 0; for (auto& idx : indices) { - QString name = idx.data().toString(); + QString const name = idx.data().toString(); if (!ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt())->isRegular()) { continue; } @@ -819,7 +819,7 @@ void ModListViewActions::removeMods(const QModelIndexList& indices) const // use mod names instead of indexes because those become invalid during the // removal DownloadManager::startDisableDirWatcher(); - for (QString name : modNames) { + for (const QString& name : modNames) { m_core.modList()->removeRowForce(ModInfo::getIndex(name), QModelIndex()); } DownloadManager::endDisableDirWatcher(); @@ -838,8 +838,8 @@ void ModListViewActions::removeMods(const QModelIndexList& indices) const void ModListViewActions::ignoreMissingData(const QModelIndexList& indices) const { for (auto& idx : indices) { - int row_idx = idx.data(ModList::IndexRole).toInt(); - ModInfo::Ptr info = ModInfo::getByIndex(row_idx); + int const row_idx = idx.data(ModList::IndexRole).toInt(); + ModInfo::Ptr const info = ModInfo::getByIndex(row_idx); info->markValidated(true); m_core.modList()->notifyChange(row_idx); } @@ -849,8 +849,8 @@ void ModListViewActions::setIgnoreUpdate(const QModelIndexList& indices, bool ignore) const { for (auto& idx : indices) { - int modIdx = idx.data(ModList::IndexRole).toInt(); - ModInfo::Ptr info = ModInfo::getByIndex(modIdx); + int const modIdx = idx.data(ModList::IndexRole).toInt(); + ModInfo::Ptr const info = ModInfo::getByIndex(modIdx); info->ignoreUpdate(ignore); m_core.modList()->notifyChange(modIdx); } @@ -866,18 +866,18 @@ void ModListViewActions::changeVersioningScheme(const QModelIndex& index) const "the installed version is outdated."), QMessageBox::Yes | QMessageBox::Cancel) == QMessageBox::Yes) { - ModInfo::Ptr info = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); bool success = false; - static VersionInfo::VersionScheme schemes[] = { + static VersionInfo::VersionScheme const schemes[] = { VersionInfo::SCHEME_REGULAR, VersionInfo::SCHEME_DECIMALMARK, VersionInfo::SCHEME_NUMBERSANDLETTERS}; for (int i = 0; i < sizeof(schemes) / sizeof(VersionInfo::VersionScheme) && !success; ++i) { - VersionInfo verOld(info->version().canonicalString(), schemes[i]); - VersionInfo verNew(info->newestVersion().canonicalString(), schemes[i]); + VersionInfo const verOld(info->version().canonicalString(), schemes[i]); + VersionInfo const verNew(info->newestVersion().canonicalString(), schemes[i]); if (verOld < verNew) { info->setVersion(verOld); info->setNewestVersion(verNew); @@ -898,8 +898,8 @@ void ModListViewActions::changeVersioningScheme(const QModelIndex& index) const void ModListViewActions::markConverted(const QModelIndexList& indices) const { for (auto& idx : indices) { - int modIdx = idx.data(ModList::IndexRole).toInt(); - ModInfo::Ptr info = ModInfo::getByIndex(modIdx); + int const modIdx = idx.data(ModList::IndexRole).toInt(); + ModInfo::Ptr const info = ModInfo::getByIndex(modIdx); info->markConverted(true); m_core.modList()->notifyChange(modIdx); } @@ -914,9 +914,9 @@ void ModListViewActions::visitOnNexus(const QModelIndexList& indices) const } for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); - int modID = info->nexusId(); - QString gameName = info->gameName(); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + int const modID = info->nexusId(); + QString const gameName = info->gameName(); if (modID > 0) { shell::Open(QUrl(NexusInterface::instance().getModURL(modID, gameName))); } else { @@ -934,7 +934,7 @@ void ModListViewActions::visitWebPage(const QModelIndexList& indices) const } for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); const auto url = info->parseCustomURL(); if (url.isValid()) { @@ -952,14 +952,14 @@ void ModListViewActions::visitNexusOrWebPage(const QModelIndexList& indices) con } for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); if (!info) { log::error("mod {} not found", idx.data(ModList::IndexRole).toInt()); continue; } - int modID = info->nexusId(); - QString gameName = info->gameName(); + int const modID = info->nexusId(); + QString const gameName = info->gameName(); const auto url = info->parseCustomURL(); if (modID > 0) { @@ -981,7 +981,7 @@ void ModListViewActions::visitUploaderProfile(const QModelIndexList& indices) co } for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); const auto uploaderUrl = info->uploaderUrl(); if (!uploaderUrl.isEmpty()) { @@ -1005,11 +1005,11 @@ bool ModListViewActions::askOpenLinksConfirmation(std::size_t numberOfLinks, void ModListViewActions::reinstallMod(const QModelIndex& index) const { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); - QString installationFile = modInfo->installationFile(); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); + QString const installationFile = modInfo->installationFile(); if (installationFile.length() != 0) { QString fullInstallationFile; - QFileInfo fileInfo(installationFile); + QFileInfo const fileInfo(installationFile); if (fileInfo.isAbsolute()) { if (fileInfo.exists()) { fullInstallationFile = installationFile; @@ -1036,8 +1036,8 @@ void ModListViewActions::reinstallMod(const QModelIndex& index) const void ModListViewActions::createBackup(const QModelIndex& index) const { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); - QString backupDirectory = + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); + QString const backupDirectory = m_core.installationManager()->generateBackupName(modInfo->absolutePath()); if (!copyDir(modInfo->absolutePath(), backupDirectory, false)) { QMessageBox::information(m_parent, tr("Failed"), tr("Failed to create backup.")); @@ -1063,7 +1063,7 @@ void ModListViewActions::restoreHiddenFiles(const QModelIndexList& indices) cons QStringList modNames; for (auto& idx : indices) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); const auto flags = modInfo->getFlags(); if (!modInfo->isRegular() || @@ -1088,7 +1088,7 @@ void ModListViewActions::restoreHiddenFiles(const QModelIndexList& indices) cons for (auto& idx : indices) { - ModInfo::Ptr modInfo = + ModInfo::Ptr const modInfo = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); const auto flags = modInfo->getFlags(); @@ -1110,7 +1110,7 @@ void ModListViewActions::restoreHiddenFiles(const QModelIndexList& indices) cons } } else if (!indices.isEmpty()) { // single selection - ModInfo::Ptr modInfo = + ModInfo::Ptr const modInfo = ModInfo::getByIndex(indices[0].data(ModList::IndexRole).toInt()); const QString modDir = modInfo->absolutePath(); @@ -1168,20 +1168,20 @@ void ModListViewActions::willNotEndorsed(const QModelIndexList& indices) void ModListViewActions::remapCategory(const QModelIndexList& indices) const { for (auto& idx : indices) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); if (modInfo->isSeparator()) continue; int categoryID = modInfo->getNexusCategory(); if (!categoryID) { - QSettings downloadMeta(m_core.downloadsPath() + "/" + + QSettings const downloadMeta(m_core.downloadsPath() + "/" + modInfo->installationFile() + ".meta", QSettings::IniFormat); if (downloadMeta.contains("category")) { categoryID = downloadMeta.value("category", 0).toInt(); } } - unsigned int categoryIndex = CategoryFactory::instance().resolveNexusID(categoryID); + unsigned int const categoryIndex = CategoryFactory::instance().resolveNexusID(categoryID); if (categoryIndex != 0) modInfo->setPrimaryCategory( CategoryFactory::instance().getCategoryID(categoryIndex)); @@ -1192,7 +1192,7 @@ void ModListViewActions::setColor(const QModelIndexList& indices, const QModelIndex& refIndex) const { auto& settings = m_core.settings(); - ModInfo::Ptr modInfo = ModInfo::getByIndex(refIndex.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(refIndex.data(ModList::IndexRole).toInt()); QColorDialog dialog(m_parent); dialog.setOption(QColorDialog::ShowAlphaChannel); @@ -1214,7 +1214,7 @@ void ModListViewActions::setColor(const QModelIndexList& indices, settings.colors().setPreviousSeparatorColor(currentColor); for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); info->setColor(currentColor); } } @@ -1222,7 +1222,7 @@ void ModListViewActions::setColor(const QModelIndexList& indices, void ModListViewActions::resetColor(const QModelIndexList& indices) const { for (auto& idx : indices) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); info->setColor(QColor()); } m_core.settings().colors().removePreviousSeparatorColor(); @@ -1251,7 +1251,7 @@ void ModListViewActions::setCategories( const QModelIndexList& selected, const QModelIndex& ref, const std::vector>& categories) const { - ModInfo::Ptr refMod = ModInfo::getByIndex(ref.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const refMod = ModInfo::getByIndex(ref.data(ModList::IndexRole).toInt()); if (selected.size() > 1) { for (auto& idx : selected) { if (idx.row() != ref.row()) { @@ -1281,7 +1281,7 @@ void ModListViewActions::setPrimaryCategory(const QModelIndexList& selected, int category, bool force) { for (auto& idx : selected) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); if (force || info->categorySet(category)) { info->setCategory(category, true); info->setPrimaryCategory(category); @@ -1299,7 +1299,7 @@ void ModListViewActions::setPrimaryCategory(const QModelIndexList& selected, void ModListViewActions::openExplorer(const QModelIndexList& index) { for (auto& idx : index) { - ModInfo::Ptr info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); + ModInfo::Ptr const info = ModInfo::getByIndex(idx.data(ModList::IndexRole).toInt()); if (!info->isForeign()) { shell::Explore(info->absolutePath()); } @@ -1308,11 +1308,11 @@ void ModListViewActions::openExplorer(const QModelIndexList& index) void ModListViewActions::restoreBackup(const QModelIndex& index) const { - QRegularExpression backupRegEx("(.*)_backup[0-9]*$"); - ModInfo::Ptr modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); + QRegularExpression const backupRegEx("(.*)_backup[0-9]*$"); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index.data(ModList::IndexRole).toInt()); auto match = backupRegEx.match(modInfo->name()); if (match.hasMatch()) { - QString regName = match.captured(1); + QString const regName = match.captured(1); QDir modDir(QDir::fromNativeSeparators(m_core.settings().paths().mods())); if (!modDir.exists(regName) || (QMessageBox::question( @@ -1323,7 +1323,7 @@ void ModListViewActions::restoreBackup(const QModelIndex& index) const !shellDelete(QStringList(modDir.absoluteFilePath(regName)))) { reportError(tr("failed to remove mod \"%1\"").arg(regName)); } else { - QString destinationPath = + QString const destinationPath = QDir::fromNativeSeparators(m_core.settings().paths().mods()) + "/" + regName; if (!modDir.rename(modInfo->absolutePath(), destinationPath)) { @@ -1340,7 +1340,7 @@ void ModListViewActions::restoreBackup(const QModelIndex& index) const void ModListViewActions::moveOverwriteContentsTo(const QString& absolutePath) const { - ModInfo::Ptr overwriteInfo = ModInfo::getOverwrite(); + ModInfo::Ptr const overwriteInfo = ModInfo::getOverwrite(); const QString overwritePath = overwriteInfo->absolutePath(); const QDir overwriteDir(overwritePath); const QDir destDir(absolutePath); @@ -1400,7 +1400,7 @@ void ModListViewActions::moveOverwriteContentsTo(const QString& absolutePath) co QDirIterator::Subdirectories); while (trackIter.hasNext()) { trackIter.next(); - QString relPath = destDir.relativeFilePath(trackIter.filePath()); + QString const relPath = destDir.relativeFilePath(trackIter.filePath()); m_core.trackOverwriteMove(relPath, absolutePath); } MessageDialog::showMessage(tr("Move successful."), m_parent); @@ -1449,7 +1449,7 @@ void ModListViewActions::moveOverwriteContentToExistingMod() const auto indexesByPriority = m_core.currentProfile()->getAllIndexesByPriority(); for (auto& iter : indexesByPriority) { if ((iter.second != UINT_MAX)) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(iter.second); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(iter.second); if (!modInfo->isSeparator() && !modInfo->isForeign() && !modInfo->isOverwrite()) { mods << modInfo->name(); } @@ -1468,7 +1468,7 @@ void ModListViewActions::moveOverwriteContentToExistingMod() const for (const auto& mod : m_core.modList()->allModsByProfilePriority()) { if (result.compare(mod) == 0) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(ModInfo::getIndex(mod)); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(ModInfo::getIndex(mod)); modAbsolutePath = modInfo->absolutePath(); break; } @@ -1486,19 +1486,19 @@ void ModListViewActions::moveOverwriteContentToExistingMod() const void ModListViewActions::clearOverwrite() const { - ModInfo::Ptr modInfo = ModInfo::getOverwrite(); + ModInfo::Ptr const modInfo = ModInfo::getOverwrite(); if (modInfo) { - QDir overwriteDir(modInfo->absolutePath()); + QDir const overwriteDir(modInfo->absolutePath()); if (QMessageBox::question( m_parent, tr("Are you sure?"), tr("About to recursively delete:\n") + overwriteDir.absolutePath(), QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok) { QStringList delList; - for (auto f : overwriteDir.entryInfoList(QDir::AllDirs | QDir::Files | + for (const auto& f : overwriteDir.entryInfoList(QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot)) { if (f.isDir() && m_core.managedGame()->getModMappings().keys().contains( f.fileName(), Qt::CaseInsensitive)) { - for (auto sf : + for (const auto& sf : QDir(f.absoluteFilePath()) .entryInfoList(QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot)) { delList.push_back(sf.absoluteFilePath()); diff --git a/src/src/moshortcut.cpp b/src/src/moshortcut.cpp index 1626c6c..f85b65c 100644 --- a/src/src/moshortcut.cpp +++ b/src/src/moshortcut.cpp @@ -7,8 +7,8 @@ MOShortcut::MOShortcut(const QString& link) { if (m_valid) { - int start = (int)strlen("moshortcut://"); - int sep = link.indexOf(':', start); + int const start = (int)strlen("moshortcut://"); + int const sep = link.indexOf(':', start); if (sep >= 0) { m_hasInstance = true; m_instance = link.mid(start, sep - start); diff --git a/src/src/multiprocess.cpp b/src/src/multiprocess.cpp index 9fc857c..8a15fc3 100644 --- a/src/src/multiprocess.cpp +++ b/src/src/multiprocess.cpp @@ -126,7 +126,7 @@ void MOMultiProcess::receiveMessage() } } - QString message = QString::fromUtf8(socket->readAll().constData()); + QString const message = QString::fromUtf8(socket->readAll().constData()); emit messageSent(message); socket->disconnectFromServer(); } diff --git a/src/src/nexusinterface.cpp b/src/src/nexusinterface.cpp index 3f15e19..09240e9 100644 --- a/src/src/nexusinterface.cpp +++ b/src/src/nexusinterface.cpp @@ -101,7 +101,7 @@ void NexusBridge::nxmDescriptionAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); @@ -112,14 +112,14 @@ void NexusBridge::nxmDescriptionAvailable(QString gameName, int modID, void NexusBridge::nxmFilesAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); QList fileInfoList; QVariantMap resultInfo = resultData.toMap(); - QList resultList = resultInfo["files"].toList(); + QList const resultList = resultInfo["files"].toList(); for (const QVariant& file : resultList) { ModRepositoryFileInfo temp; @@ -145,7 +145,7 @@ void NexusBridge::nxmFileInfoAvailable(QString gameName, int modID, int fileID, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit fileInfoAvailable(gameName, modID, fileID, userData, resultData); @@ -156,7 +156,7 @@ void NexusBridge::nxmDownloadURLsAvailable(QString gameName, int modID, int file QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit downloadURLsAvailable(gameName, modID, fileID, userData, resultData); @@ -166,7 +166,7 @@ void NexusBridge::nxmDownloadURLsAvailable(QString gameName, int modID, int file void NexusBridge::nxmEndorsementsAvailable(QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit endorsementsAvailable(userData, resultData); @@ -176,7 +176,7 @@ void NexusBridge::nxmEndorsementsAvailable(QVariant userData, QVariant resultDat void NexusBridge::nxmEndorsementToggled(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit endorsementToggled(gameName, modID, userData, resultData); @@ -186,7 +186,7 @@ void NexusBridge::nxmEndorsementToggled(QString gameName, int modID, QVariant us void NexusBridge::nxmTrackedModsAvailable(QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit trackedModsAvailable(userData, resultData); @@ -196,7 +196,7 @@ void NexusBridge::nxmTrackedModsAvailable(QVariant userData, QVariant resultData void NexusBridge::nxmTrackingToggled(QString gameName, int modID, QVariant userData, bool tracked, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit trackingToggled(gameName, modID, userData, tracked); @@ -206,7 +206,7 @@ void NexusBridge::nxmTrackingToggled(QString gameName, int modID, QVariant userD void NexusBridge::nxmGameInfoAvailable(QString gameName, QVariant userData, QVariant resultData, int requestID) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit gameInfoAvailable(gameName, userData, resultData); @@ -217,7 +217,7 @@ void NexusBridge::nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData, int requestID, int errorCode, const QString& errorMessage) { - std::set::iterator iter = m_RequestIDs.find(requestID); + std::set::iterator const iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); emit requestFailed(gameName, modID, fileID, userData, errorCode, errorMessage); @@ -360,9 +360,9 @@ void NexusInterface::interpretNexusFileName(const QString& fileName, QString& mo SelectionDialog selection(tr("Please pick the mod ID for \"%1\"").arg(fileName)); int index = 0; auto splits = fileName.split(QRegularExpression("[^0-9]"), Qt::KeepEmptyParts); - for (auto substr : splits) { + for (const auto& substr : splits) { bool ok = false; - int value = substr.toInt(&ok); + int const value = substr.toInt(&ok); if (ok) { QString highlight(fileName); highlight.insert(index, " *"); @@ -403,7 +403,7 @@ QString NexusInterface::getGameURL(QString gameName) const { IPluginGame* game = getGame(gameName); if (game != nullptr) { - QString gameNexusName = game->gameNexusName().toLower(); + QString const gameNexusName = game->gameNexusName().toLower(); if (gameNexusName.isEmpty()) { return ""; } else { @@ -437,7 +437,7 @@ NexusInterface::getGameChoices(const MOBase::IPluginGame* game) std::vector> choices; choices.push_back( std::pair(game->gameShortName(), game->gameName())); - for (QString gameName : game->validShortNames()) { + for (const QString& gameName : game->validShortNames()) { for (auto gamePlugin : m_PluginContainer->plugins()) { if (gamePlugin->gameShortName().compare(gameName, Qt::CaseInsensitive) == 0) { choices.push_back(std::pair(gamePlugin->gameShortName(), @@ -455,7 +455,7 @@ bool NexusInterface::isModURL(int modID, const QString& url) const return true; } // Try the alternate (old style) mod name - QString alt = QString("%1/%2").arg(getOldModsURL("")).arg(modID); + QString const alt = QString("%1/%2").arg(getOldModsURL("")).arg(modID); return QUrl(alt) == QUrl(url); } @@ -525,7 +525,7 @@ int NexusInterface::requestUpdateInfo(QString gameName, return -1; } - NXMRequestInfo requestInfo(period, NXMRequestInfo::TYPE_CHECKUPDATES, userData, + NXMRequestInfo const requestInfo(period, NXMRequestInfo::TYPE_CHECKUPDATES, userData, subModule, game); m_RequestQueue.enqueue(requestInfo); @@ -557,7 +557,7 @@ int NexusInterface::requestUpdates(const int& modID, QObject* receiver, return -1; } - NXMRequestInfo requestInfo(modID, NXMRequestInfo::TYPE_GETUPDATES, userData, + NXMRequestInfo const requestInfo(modID, NXMRequestInfo::TYPE_GETUPDATES, userData, subModule, game); m_RequestQueue.enqueue(requestInfo); @@ -599,7 +599,7 @@ int NexusInterface::requestFiles(QString gameName, int modID, QObject* receiver, QVariant userData, const QString& subModule, MOBase::IPluginGame const* game) { - NXMRequestInfo requestInfo(modID, NXMRequestInfo::TYPE_FILES, userData, subModule, + NXMRequestInfo const requestInfo(modID, NXMRequestInfo::TYPE_FILES, userData, subModule, game); m_RequestQueue.enqueue(requestInfo); connect(this, SIGNAL(nxmFilesAvailable(QString, int, QVariant, QVariant, int)), @@ -672,7 +672,7 @@ int NexusInterface::requestDownloadURL(QString gameName, int modID, int fileID, int NexusInterface::requestEndorsementInfo(QObject* receiver, QVariant userData, const QString& subModule) { - NXMRequestInfo requestInfo(NXMRequestInfo::TYPE_ENDORSEMENTS, userData, subModule); + NXMRequestInfo const requestInfo(NXMRequestInfo::TYPE_ENDORSEMENTS, userData, subModule); m_RequestQueue.enqueue(requestInfo); connect(this, SIGNAL(nxmEndorsementsAvailable(QVariant, QVariant, int)), receiver, @@ -720,7 +720,7 @@ int NexusInterface::requestToggleEndorsement(QString gameName, int modID, int NexusInterface::requestTrackingInfo(QObject* receiver, QVariant userData, const QString& subModule) { - NXMRequestInfo requestInfo(NXMRequestInfo::TYPE_TRACKEDMODS, userData, subModule); + NXMRequestInfo const requestInfo(NXMRequestInfo::TYPE_TRACKEDMODS, userData, subModule); m_RequestQueue.enqueue(requestInfo); connect(this, SIGNAL(nxmTrackedModsAvailable(QVariant, QVariant, int)), receiver, @@ -772,7 +772,7 @@ int NexusInterface::requestGameInfo(QString gameName, QObject* receiver, return -1; } - NXMRequestInfo requestInfo(NXMRequestInfo::TYPE_GAMEINFO, userData, subModule, game); + NXMRequestInfo const requestInfo(NXMRequestInfo::TYPE_GAMEINFO, userData, subModule, game); m_RequestQueue.enqueue(requestInfo); connect(this, SIGNAL(nxmGameInfoAvailable(QString, QVariant, QVariant, int)), @@ -861,7 +861,7 @@ void NexusInterface::nextRequest() if (m_User.exhausted()) { m_RequestQueue.clear(); - QTime time = QTime::currentTime(); + QTime const time = QTime::currentTime(); QTime targetTime; targetTime.setHMS((time.hour() + 1) % 23, 5, 0); QString warning = tr("You've exceeded the Nexus API rate limit and requests are " @@ -885,7 +885,7 @@ void NexusInterface::nextRequest() QString url; if (!info.m_Reroute) { - bool hasParams = false; + bool const hasParams = false; switch (info.m_Type) { case NXMRequestInfo::TYPE_DESCRIPTION: case NXMRequestInfo::TYPE_MODINFO: { @@ -956,7 +956,7 @@ void NexusInterface::nextRequest() url = QString("%1/user/endorsements").arg(info.m_URL); } break; case NXMRequestInfo::TYPE_TOGGLEENDORSEMENT: { - QString endorse = info.m_Endorse ? "endorse" : "abstain"; + QString const endorse = info.m_Endorse ? "endorse" : "abstain"; url = QString("%1/games/%2/mods/%3/%4") .arg(info.m_URL) .arg(info.m_GameName) @@ -1038,7 +1038,7 @@ void NexusInterface::requestFinished(std::list::iterator iter) auto error = reply->error(); if (error != QNetworkReply::NoError) { - int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + int const statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); QString errorMsg = reply->errorString(); if (iter->m_AllowedErrors.contains(error) && @@ -1058,9 +1058,9 @@ void NexusInterface::requestFinished(std::list::iterator iter) emit requestsChanged(getAPIStats(), m_User); log::warn("Error: {}", errorMsg); } else { - QByteArray data = reply->readAll(); + QByteArray const data = reply->readAll(); if (!data.isEmpty()) { - QJsonDocument responseDoc = QJsonDocument::fromJson(data); + QJsonDocument const responseDoc = QJsonDocument::fromJson(data); if (!responseDoc.isNull()) { auto result = responseDoc.toVariant().toMap(); auto error = result.find("error"); @@ -1072,7 +1072,7 @@ void NexusInterface::requestFinished(std::list::iterator iter) emit nxmRequestFailed(iter->m_GameName, iter->m_ModID, iter->m_FileID, iter->m_UserData, iter->m_ID, statusCode, errorMsg); } else { - int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + int const statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); if (statusCode == 301) { // redirect request, return request to queue iter->m_URL = @@ -1082,7 +1082,7 @@ void NexusInterface::requestFinished(std::list::iterator iter) // nextRequest(); return; } - QByteArray data = reply->readAll(); + QByteArray const data = reply->readAll(); if (data.isNull() || data.isEmpty() || (strcmp(data.constData(), "null") == 0)) { QString nexusError(reply->rawHeader("NexusErrorInfo")); if (nexusError.length() == 0) { @@ -1092,9 +1092,9 @@ void NexusInterface::requestFinished(std::list::iterator iter) emit nxmRequestFailed(iter->m_GameName, iter->m_ModID, iter->m_FileID, iter->m_UserData, iter->m_ID, reply->error(), nexusError); } else { - QJsonDocument responseDoc = QJsonDocument::fromJson(data); + QJsonDocument const responseDoc = QJsonDocument::fromJson(data); if (!responseDoc.isNull()) { - QVariant result = responseDoc.toVariant(); + QVariant const result = responseDoc.toVariant(); switch (iter->m_Type) { case NXMRequestInfo::TYPE_DESCRIPTION: { emit nxmDescriptionAvailable(iter->m_GameName, iter->m_ModID, diff --git a/src/src/nxmaccessmanager.cpp b/src/src/nxmaccessmanager.cpp index 8f0abfd..9400a43 100644 --- a/src/src/nxmaccessmanager.cpp +++ b/src/src/nxmaccessmanager.cpp @@ -272,7 +272,7 @@ void NexusSSOLogin::onConnected() m_keyReceived = false; boost::uuids::random_generator generator; - boost::uuids::uuid sessionId = generator(); + boost::uuids::uuid const sessionId = generator(); m_guid = boost::uuids::to_string(sessionId).c_str(); QJsonObject data; @@ -816,7 +816,7 @@ NXMAccessManager::createRequest(QNetworkAccessManager::Operation operation, void NXMAccessManager::showCookies() const { - QUrl url(NexusBaseUrl + "/"); + QUrl const url(NexusBaseUrl + "/"); for (const QNetworkCookie& cookie : cookieJar()->cookiesForUrl(url)) { log::debug("{} - {} (expires: {})", cookie.name().constData(), cookie.value().constData(), cookie.expirationDate().toString()); @@ -945,7 +945,7 @@ const QString& NXMAccessManager::MOVersion() const QString NXMAccessManager::userAgent(const QString& subModule) const { QStringList comments; - QString os; + QString const os; if (QSysInfo::productType() == "windows") comments << ((QSysInfo::kernelType() == "winnt") ? "Windows_NT " : "Windows ") + QSysInfo::kernelVersion(); diff --git a/src/src/nxmhandler_linux.cpp b/src/src/nxmhandler_linux.cpp index 05d3944..8350c1b 100644 --- a/src/src/nxmhandler_linux.cpp +++ b/src/src/nxmhandler_linux.cpp @@ -20,7 +20,7 @@ namespace { QString ensureDir(const QString& path) { - QDir dir(path); + QDir const dir(path); if (!dir.exists() && !QDir().mkpath(path)) { return {}; } diff --git a/src/src/organizercore.cpp b/src/src/organizercore.cpp index 2ef8b47..2f05857 100644 --- a/src/src/organizercore.cpp +++ b/src/src/organizercore.cpp @@ -639,7 +639,7 @@ bool OrganizerCore::bootstrap() void OrganizerCore::createDefaultProfile() { - QString profilesPath = settings().paths().profiles(); + QString const profilesPath = settings().paths().profiles(); if (QDir(profilesPath).entryList(QDir::AllDirs | QDir::NoDotAndDotDot).empty()) { Profile newProf(QString::fromStdWString(AppConfig::defaultProfileName()), managedGame(), gameFeatures(), false); @@ -650,8 +650,8 @@ void OrganizerCore::createDefaultProfile() void OrganizerCore::createOverwriteDirectories() { - QString overwritePath = settings().paths().overwrite(); - for (auto modDirectory : managedGame()->getModMappings().keys()) { + QString const overwritePath = settings().paths().overwrite(); + for (const auto& modDirectory : managedGame()->getModMappings().keys()) { if (!modDirectory.isEmpty()) { QDir(overwritePath).mkdir(modDirectory); } @@ -687,8 +687,8 @@ void OrganizerCore::prepareVFS() // Set up tracked writes file (per-profile, next to the overwrite folder) { - QString owPath = settings().paths().overwrite(); - QDir owDir(owPath); + QString const owPath = settings().paths().overwrite(); + QDir const owDir(owPath); QString trackPath = owDir.absoluteFilePath("../tracked_writes.json"); trackPath = QDir::cleanPath(trackPath); std::fprintf(stderr, "[VFS] prepareVFS: owPath='%s' trackPath='%s'\n", @@ -799,7 +799,7 @@ void OrganizerCore::setCurrentProfile(const QString& profileName) log::debug("selecting profile '{}'", profileName); - QDir profileBaseDir(settings().paths().profiles()); + QDir const profileBaseDir(settings().paths().profiles()); const auto subdirs = profileBaseDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); @@ -868,7 +868,7 @@ void OrganizerCore::setCurrentProfile(const QString& profileName) QStringList OrganizerCore::profileNames() const { - QDir profilesDir(m_Settings.paths().profiles()); + QDir const profilesDir(m_Settings.paths().profiles()); return profilesDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); } @@ -951,7 +951,7 @@ MOBase::IModInterface* OrganizerCore::createMod(GuessedValue& name) m_InstallationManager.setModsDirectory(m_Settings.paths().mods()); - QString targetDirectory = + QString const targetDirectory = QDir::fromNativeSeparators(m_Settings.paths().mods()).append("/").append(name); QSettings settingsFile(targetDirectory + "/meta.ini", QSettings::IniFormat); @@ -1035,7 +1035,7 @@ OrganizerCore::doInstall(const QString& archivePath, GuessedValue modNa return {-1, nullptr}; } - bool hasIniTweaks = false; + bool const hasIniTweaks = false; m_CurrentProfile->writeModlistNow(); m_InstallationManager.setModsDirectory(m_Settings.paths().mods()); m_InstallationManager.notifyInstallationStart(archivePath, reinstallation, @@ -1120,13 +1120,13 @@ OrganizerCore::doInstall(const QString& archivePath, GuessedValue modNa ModInfo::Ptr OrganizerCore::installDownload(int index, int priority) { - ScopedDisableDirWatcher scopedDirwatcher(&m_DownloadManager); + ScopedDisableDirWatcher const scopedDirwatcher(&m_DownloadManager); try { - QString fileName = m_DownloadManager.getFilePath(index); - QString gameName = m_DownloadManager.getGameName(index); - int modID = m_DownloadManager.getModID(index); - int fileID = m_DownloadManager.getFileInfo(index)->fileID; + QString const fileName = m_DownloadManager.getFilePath(index); + QString const gameName = m_DownloadManager.getGameName(index); + int const modID = m_DownloadManager.getModID(index); + int const fileID = m_DownloadManager.getFileInfo(index)->fileID; ModInfo::Ptr currentMod = nullptr; GuessedValue modName; @@ -1182,8 +1182,8 @@ ModInfo::Ptr OrganizerCore::installArchive(const QString& archivePath, int prior if (modInfo != nullptr) { auto dlIdx = m_DownloadManager.indexByName(QFileInfo(archivePath).fileName()); if (dlIdx != -1) { - int modId = m_DownloadManager.getModID(dlIdx); - int fileId = m_DownloadManager.getFileInfo(dlIdx)->fileID; + int const modId = m_DownloadManager.getModID(dlIdx); + int const fileId = m_DownloadManager.getFileInfo(dlIdx)->fileID; modInfo->addInstalledFile(modId, fileId); } m_DownloadManager.markInstalled(archivePath); @@ -1228,9 +1228,9 @@ OrganizerCore::findFiles(const QString& path, if (!path.isEmpty() && path != ".") dir = dir->findSubDirectoryRecursive(ToWString(path)); if (dir != nullptr) { - std::vector files = dir->getFiles(); - for (FileEntryPtr& file : files) { - QString fullPath = ToQString(file->getFullPath()); + std::vector const files = dir->getFiles(); + for (FileEntryPtr const& file : files) { + QString const fullPath = ToQString(file->getFullPath()); if (filter(ToQString(file->getName()))) { result.append(fullPath); } @@ -1265,8 +1265,8 @@ QList OrganizerCore::findFileInfos( if (!path.isEmpty() && path != ".") dir = dir->findSubDirectoryRecursive(ToWString(path)); if (dir != nullptr) { - std::vector files = dir->getFiles(); - for (FileEntryPtr file : files) { + std::vector const files = dir->getFiles(); + for (const FileEntryPtr& file : files) { IOrganizer::FileInfo info; info.filePath = ToQString(file->getFullPath()); bool fromArchive = false; @@ -1313,9 +1313,9 @@ bool OrganizerCore::previewFileWithAlternatives(QWidget* parent, QString fileNam // to date. // check if the file comes from the actual data folder instead of a mod - QDir gameDirectory = managedGame()->dataDirectory().absolutePath(); - QString relativePath = gameDirectory.relativeFilePath(fileName); - QDir dirRelativePath = gameDirectory.relativeFilePath(fileName); + QDir const gameDirectory = managedGame()->dataDirectory().absolutePath(); + QString const relativePath = gameDirectory.relativeFilePath(fileName); + QDir const dirRelativePath = gameDirectory.relativeFilePath(fileName); // if the file is on a different drive the dirRelativePath will actually be an // absolute path so we make sure that is not the case @@ -1346,8 +1346,8 @@ bool OrganizerCore::previewFileWithAlternatives(QWidget* parent, QString fileNam (void)parent; auto addFunc = [&](int originId, std::wstring archiveName = L"") { - FilesOrigin& origin = directoryStructure()->getOriginByID(originId); - QString filePath = + FilesOrigin const& origin = directoryStructure()->getOriginByID(originId); + QString const filePath = QDir::fromNativeSeparators(ToQString(origin.getPath())) + "/" + fileName; if (QFile::exists(filePath)) { // it's very possible the file doesn't exist, because it's inside an archive. we @@ -1364,9 +1364,9 @@ bool OrganizerCore::previewFileWithAlternatives(QWidget* parent, QString fileNam try { libbsarch::bs_archive archiveLoader; archiveLoader.load_from_disk(archiveFile->getFullPath()); - libbsarch::memory_blob fileData = + libbsarch::memory_blob const fileData = archiveLoader.extract_to_memory(fileName.toStdWString()); - QByteArray convertedFileData((char*)(fileData.data), fileData.size); + QByteArray const convertedFileData((char*)(fileData.data), fileData.size); QWidget* wid = m_PluginContainer->previewGenerator().genArchivePreview( convertedFileData, filePath); if (wid == nullptr) { @@ -1412,7 +1412,7 @@ bool OrganizerCore::previewFileWithAlternatives(QWidget* parent, QString fileNam selectedOrigin); } - for (int id : origins) { + for (int const id : origins) { addFunc(id); } } @@ -1590,7 +1590,7 @@ void OrganizerCore::refreshESPList(bool force) { onNextRefresh( [this, force] { - TimeThis tt("OrganizerCore::refreshESPList()"); + TimeThis const tt("OrganizerCore::refreshESPList()"); m_CurrentProfile->writeModlist(); @@ -1607,7 +1607,7 @@ void OrganizerCore::refreshESPList(bool force) void OrganizerCore::refreshBSAList() { - TimeThis tt("OrganizerCore::refreshBSAList()"); + TimeThis const tt("OrganizerCore::refreshBSAList()"); auto archives = gameFeatures().gameFeature(); @@ -1661,8 +1661,8 @@ void OrganizerCore::updateModsActiveState(const QList& modIndices, { int enabled = 0; for (auto index : modIndices) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); - QDir dir(modInfo->absolutePath()); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); + QDir const dir(modInfo->absolutePath()); for (const QString& esm : dir.entryList(QStringList() << "*.esm", QDir::Files)) { const FileEntryPtr file = m_DirectoryStructure->findFile(ToWString(esm)); if (file.get() == nullptr) { @@ -1691,7 +1691,7 @@ void OrganizerCore::updateModsActiveState(const QList& modIndices, ++enabled; } } - QStringList esps = dir.entryList(QStringList() << "*.esp", QDir::Files); + QStringList const esps = dir.entryList(QStringList() << "*.esp", QDir::Files); for (const QString& esp : esps) { const FileEntryPtr file = m_DirectoryStructure->findFile(ToWString(esp)); if (file.get() == nullptr) { @@ -1732,7 +1732,7 @@ void OrganizerCore::updateModsInDirectoryStructure( for (auto idx : modInfo.keys()) { QString path = modInfo[idx]->absolutePath(); - QString modDataDir = managedGame()->modDataDirectory(); + QString const modDataDir = managedGame()->modDataDirectory(); path = modDataDir.isEmpty() ? path : path + "/" + modDataDir; entries.push_back({modInfo[idx]->name(), path, @@ -1765,7 +1765,7 @@ void OrganizerCore::updateModsInDirectoryStructure( // finally also add files from bsas to the directory structure for (auto idx : modInfo.keys()) { QString path = modInfo[idx]->absolutePath(); - QString modDataDir = managedGame()->modDataDirectory(); + QString const modDataDir = managedGame()->modDataDirectory(); path = modDataDir.isEmpty() ? path : path + "/" + modDataDir; m_DirectoryRefresher->addModBSAToStructure( m_DirectoryStructure, modInfo[idx]->name(), @@ -1811,17 +1811,17 @@ void OrganizerCore::requestDownload(const QUrl& url, QNetworkReply* reply) QString gameName = ""; int modID = 0; int fileID = 0; - QRegularExpression nameExp(R"(www\.nexusmods\.com/(\a+)/)"); + QRegularExpression const nameExp(R"(www\.nexusmods\.com/(\a+)/)"); auto match = nameExp.match(url.toString()); if (match.hasMatch()) { gameName = match.captured(1); } - QRegularExpression modExp("mods/(\\d+)"); + QRegularExpression const modExp("mods/(\\d+)"); match = modExp.match(url.toString()); if (match.hasMatch()) { modID = match.captured(1).toInt(); } - QRegularExpression fileExp("fid=(\\d+)"); + QRegularExpression const fileExp("fid=(\\d+)"); match = fileExp.match(url.toString()); if (match.hasMatch()) { fileID = match.captured(1).toInt(); @@ -1901,7 +1901,7 @@ void OrganizerCore::refreshDirectoryStructure() void OrganizerCore::onDirectoryRefreshed() { log::debug("directory refreshed, finishing up"); - TimeThis tt("OrganizerCore::onDirectoryRefreshed()"); + TimeThis const tt("OrganizerCore::onDirectoryRefreshed()"); DirectoryEntry* newStructure = m_DirectoryRefresher->stealDirectoryStructure(); Q_ASSERT(newStructure != m_DirectoryStructure); @@ -1927,7 +1927,7 @@ void OrganizerCore::onDirectoryRefreshed() log::debug("clearing caches"); for (int i = 0; i < m_ModList.rowCount(); ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); modInfo->clearCaches(); } @@ -1955,7 +1955,7 @@ void OrganizerCore::clearCaches(std::vector const& indices) const }; std::set allIndices; for (const auto index : indices) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); if (m_CurrentProfile->modEnabled(index)) { // if the mod is enabled, we need to first clear its cache so that @@ -1989,9 +1989,9 @@ void OrganizerCore::clearCaches(std::vector const& indices) const void OrganizerCore::modPrioritiesChanged(const QModelIndexList& indices) { for (unsigned int i = 0; i < currentProfile()->numMods(); ++i) { - int priority = currentProfile()->getModPriority(i); + int const priority = currentProfile()->getModPriority(i); if (currentProfile()->modEnabled(i)) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); const auto name = MOBase::ToWString(modInfo->internalName()); // priorities in the directory structure are one higher because data is 0 if (directoryStructure()->originExists(name)) { @@ -2015,7 +2015,7 @@ void OrganizerCore::modPrioritiesChanged(const QModelIndexList& indices) void OrganizerCore::modStatusChanged(unsigned int index) { try { - ModInfo::Ptr modInfo = ModInfo::getByIndex(index); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(index); if (m_CurrentProfile->modEnabled(index)) { updateModInDirectoryStructure(index, modInfo); } else { @@ -2031,8 +2031,8 @@ void OrganizerCore::modStatusChanged(unsigned int index) } for (unsigned int i = 0; i < m_CurrentProfile->numMods(); ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); - int priority = m_CurrentProfile->getModPriority(i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); + int const priority = m_CurrentProfile->getModPriority(i); if (m_DirectoryStructure->originExists(ToWString(modInfo->name()))) { // priorities in the directory structure are one higher because data is // 0 @@ -2083,8 +2083,8 @@ void OrganizerCore::modStatusChanged(QList index) } for (unsigned int i = 0; i < m_CurrentProfile->numMods(); ++i) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(i); - int priority = m_CurrentProfile->getModPriority(i); + ModInfo::Ptr const modInfo = ModInfo::getByIndex(i); + int const priority = m_CurrentProfile->getModPriority(i); if (m_DirectoryStructure->originExists(ToWString(modInfo->name()))) { // priorities in the directory structure are one higher because data is // 0 @@ -2108,11 +2108,11 @@ void OrganizerCore::loginSuccessful(bool necessary) if (necessary) { MessageDialog::showMessage(tr("login successful"), qApp->activeWindow()); } - for (QString url : m_PendingDownloads) { + for (const QString& url : m_PendingDownloads) { downloadRequestedNXM(url); } m_PendingDownloads.clear(); - for (auto task : m_PostLoginTasks) { + for (const auto& task : m_PostLoginTasks) { task(); } @@ -2144,7 +2144,7 @@ void OrganizerCore::loginFailed(const QString& message) tr("login failed: %1. Download will not be associated with an account") .arg(message), qApp->activeWindow()); - for (QString url : m_PendingDownloads) { + for (const QString& url : m_PendingDownloads) { downloadRequestedNXM(url); } m_PendingDownloads.clear(); @@ -2165,7 +2165,7 @@ void OrganizerCore::loginFailedUpdate(const QString& message) void OrganizerCore::syncOverwrite() { - ModInfo::Ptr modInfo = ModInfo::getOverwrite(); + ModInfo::Ptr const modInfo = ModInfo::getOverwrite(); // Snapshot overwrite before sync so we can detect what was moved. QStringList beforeFiles; @@ -2362,7 +2362,7 @@ bool OrganizerCore::checkGameRegistryKey() return true; // no prefix configured } - WinePrefix prefix(cfg->prefix_path); + WinePrefix const prefix(cfg->prefix_path); if (!prefix.isValid()) { return true; // prefix doesn't exist yet } @@ -2500,7 +2500,7 @@ bool OrganizerCore::beforeRun( const QString prefixPathStr = resolveWinePrefixPath(m_Settings, managedGame()); if (!prefixPathStr.isEmpty()) { - WinePrefix prefix(prefixPathStr); + WinePrefix const prefix(prefixPathStr); if (prefix.isValid()) { const QString dataDirName = resolveWineDataDirName(managedGame()); const QString appDataLocal = prefix.appdataLocal(); @@ -2747,7 +2747,7 @@ void OrganizerCore::afterRun(const QFileInfo& binary, DWORD exitCode) if (m_CurrentProfile != nullptr) { const QString prefixPathStr = resolveWinePrefixPath(m_Settings, managedGame()); if (!prefixPathStr.isEmpty()) { - WinePrefix prefix(prefixPathStr); + WinePrefix const prefix(prefixPathStr); if (prefix.isValid()) { const QString dataDirName = resolveWineDataDirName(managedGame()); const auto localSavesFeature = gameFeatures().gameFeature(); @@ -2897,11 +2897,11 @@ std::vector OrganizerCore::fileMapping(const QString& profileName, continue; } - unsigned int modIndex = ModInfo::getIndex(std::get<0>(mod)); - ModInfo::Ptr modPtr = ModInfo::getByIndex(modIndex); + unsigned int const modIndex = ModInfo::getIndex(std::get<0>(mod)); + ModInfo::Ptr const modPtr = ModInfo::getByIndex(modIndex); - bool createTarget = customOverwrite == std::get<0>(mod); - QDir modDir = QDir(std::get<1>(mod)); + bool const createTarget = customOverwrite == std::get<0>(mod); + QDir const modDir = QDir(std::get<1>(mod)); overwriteActive |= createTarget; @@ -2909,7 +2909,7 @@ std::vector OrganizerCore::fileMapping(const QString& profileName, for (auto dataMap : dataMaps.asKeyValueRange()) { auto mapDir = QDir(modDir.absoluteFilePath(dataMap.first)); if (mapDir.exists()) { - for (auto dir : dataMap.second) { + for (const auto& dir : dataMap.second) { result.insert(result.end(), {mapDir.absolutePath(), dir, true, createTarget}); } @@ -2935,11 +2935,11 @@ std::vector OrganizerCore::fileMapping(const QString& profileName, } } - QDir overwriteDir(m_Settings.paths().overwrite()); + QDir const overwriteDir(m_Settings.paths().overwrite()); for (auto dataMap : dataMaps.asKeyValueRange()) { auto overwriteSubpath = overwriteDir.absoluteFilePath(dataMap.first); if (QDir(overwriteSubpath).exists()) { - for (auto dir : dataMap.second) { + for (const auto& dir : dataMap.second) { result.insert(result.end(), {overwriteSubpath, dir, true, customOverwrite.isEmpty()}); } @@ -2967,18 +2967,18 @@ std::vector OrganizerCore::fileMapping(const QString& dataPath, { std::vector result; - for (FileEntryPtr current : directoryEntry->getFiles()) { + for (const FileEntryPtr& current : directoryEntry->getFiles()) { bool isArchive = false; - int origin = current->getOrigin(isArchive); + int const origin = current->getOrigin(isArchive); if (isArchive || (origin == 0)) { continue; } - QString originPath = QString::fromStdWString(base->getOriginByID(origin).getPath()); - QString fileName = QString::fromStdWString(current->getName()); + QString const originPath = QString::fromStdWString(base->getOriginByID(origin).getPath()); + QString const fileName = QString::fromStdWString(current->getName()); // QString fileName = ToQString(current->getName()); - QString source = originPath + relPath + fileName; - QString target = dataPath + relPath + fileName; + QString const source = originPath + relPath + fileName; + QString const target = dataPath + relPath + fileName; if (source != target) { result.push_back({source, target, false, false}); } @@ -2986,14 +2986,14 @@ std::vector OrganizerCore::fileMapping(const QString& dataPath, // recurse into subdirectories for (const auto& d : directoryEntry->getSubDirectories()) { - int origin = d->anyOrigin(); + int const origin = d->anyOrigin(); - QString originPath = QString::fromStdWString(base->getOriginByID(origin).getPath()); - QString dirName = QString::fromStdWString(d->getName()); - QString source = originPath + relPath + dirName; - QString target = dataPath + relPath + dirName; + QString const originPath = QString::fromStdWString(base->getOriginByID(origin).getPath()); + QString const dirName = QString::fromStdWString(d->getName()); + QString const source = originPath + relPath + dirName; + QString const target = dataPath + relPath + dirName; - bool writeDestination = (base == directoryEntry) && (origin == createDestination); + bool const writeDestination = (base == directoryEntry) && (origin == createDestination); result.push_back({source, target, true, writeDestination}); std::vector subRes = diff --git a/src/src/overwriteinfodialog.cpp b/src/src/overwriteinfodialog.cpp index 7a4c942..78f9462 100644 --- a/src/src/overwriteinfodialog.cpp +++ b/src/src/overwriteinfodialog.cpp @@ -99,7 +99,7 @@ void OverwriteInfoDialog::setModInfo(ModInfo::Ptr modInfo) bool OverwriteInfoDialog::recursiveDelete(const QModelIndex& index) { for (int childRow = 0; childRow < m_FileSystemModel->rowCount(index); ++childRow) { - QModelIndex childIndex = m_FileSystemModel->index(childRow, 0, index); + QModelIndex const childIndex = m_FileSystemModel->index(childRow, 0, index); if (m_FileSystemModel->isDir(childIndex)) { if (!recursiveDelete(childIndex)) { log::error("failed to delete {}", m_FileSystemModel->fileName(childIndex)); @@ -122,10 +122,10 @@ bool OverwriteInfoDialog::recursiveDelete(const QModelIndex& index) void OverwriteInfoDialog::deleteFile(const QModelIndex& index) { - bool res = m_FileSystemModel->isDir(index) ? recursiveDelete(index) + bool const res = m_FileSystemModel->isDir(index) ? recursiveDelete(index) : m_FileSystemModel->remove(index); if (!res) { - QString fileName = m_FileSystemModel->fileName(index); + QString const fileName = m_FileSystemModel->fileName(index); reportError(tr("Failed to delete \"%1\"").arg(fileName)); } } @@ -141,7 +141,7 @@ void OverwriteInfoDialog::delete_activated() if (selection->selectedRows().count() == 0) { return; } else if (selection->selectedRows().count() == 1) { - for (auto modDir : m_Organizer.managedGame()->getModMappings().keys()) { + for (const auto& modDir : m_Organizer.managedGame()->getModMappings().keys()) { if (root.absoluteFilePath(modDir).compare( m_FileSystemModel->filePath(selection->selectedRows().at(0)), Qt::CaseInsensitive) == 0) { @@ -149,7 +149,7 @@ void OverwriteInfoDialog::delete_activated() } } - QString fileName = m_FileSystemModel->fileName(selection->selectedRows().at(0)); + QString const fileName = m_FileSystemModel->fileName(selection->selectedRows().at(0)); if (QMessageBox::question( this, tr("Confirm"), tr("Are you sure you want to delete \"%1\"?").arg(fileName), @@ -166,7 +166,7 @@ void OverwriteInfoDialog::delete_activated() } foreach (QModelIndex index, selection->selectedRows()) { - for (auto modDir : m_Organizer.managedGame()->getModMappings().keys()) { + for (const auto& modDir : m_Organizer.managedGame()->getModMappings().keys()) { if (root.absoluteFilePath(modDir).compare(m_FileSystemModel->filePath(index), Qt::CaseInsensitive) == 0) { return; @@ -184,14 +184,14 @@ void OverwriteInfoDialog::deleteTriggered() if (m_FileSelection.count() == 0) { return; } else if (m_FileSelection.count() == 1) { - for (auto modDir : m_Organizer.managedGame()->getModMappings().keys()) { + for (const auto& modDir : m_Organizer.managedGame()->getModMappings().keys()) { if (root.absoluteFilePath(modDir).compare( m_FileSystemModel->filePath(m_FileSelection.at(0)), Qt::CaseInsensitive) == 0) { return; } } - QString fileName = m_FileSystemModel->fileName(m_FileSelection.at(0)); + QString const fileName = m_FileSystemModel->fileName(m_FileSelection.at(0)); if (QMessageBox::question( this, tr("Confirm"), tr("Are you sure you want to delete \"%1\"?").arg(fileName), @@ -207,7 +207,7 @@ void OverwriteInfoDialog::deleteTriggered() } foreach (QModelIndex index, m_FileSelection) { - for (auto modDir : m_Organizer.managedGame()->getModMappings().keys()) { + for (const auto& modDir : m_Organizer.managedGame()->getModMappings().keys()) { if (root.absoluteFilePath(modDir).compare(m_FileSystemModel->filePath(index), Qt::CaseInsensitive) == 0) { return; @@ -220,12 +220,12 @@ void OverwriteInfoDialog::deleteTriggered() void OverwriteInfoDialog::renameTriggered() { auto root = m_FileSystemModel->rootDirectory(); - QModelIndex selection = m_FileSelection.at(0); - QModelIndex index = selection.sibling(selection.row(), 0); + QModelIndex const selection = m_FileSelection.at(0); + QModelIndex const index = selection.sibling(selection.row(), 0); if (!index.isValid() || m_FileSystemModel->isReadOnly()) { return; } - for (auto modDir : m_Organizer.managedGame()->getModMappings().keys()) { + for (const auto& modDir : m_Organizer.managedGame()->getModMappings().keys()) { if (root.absoluteFilePath(modDir).compare(m_FileSystemModel->filePath(selection), Qt::CaseInsensitive) == 0) { return; @@ -248,14 +248,14 @@ void OverwriteInfoDialog::openTriggered() void OverwriteInfoDialog::createDirectoryTriggered() { - QModelIndex selection = m_FileSelection.at(0); + QModelIndex const selection = m_FileSelection.at(0); QModelIndex index = m_FileSystemModel->isDir(selection) ? selection : selection.parent(); index = index.sibling(index.row(), 0); QString name = tr("New Folder"); - QString path = m_FileSystemModel->filePath(index).append("/"); + QString const path = m_FileSystemModel->filePath(index).append("/"); QModelIndex existingIndex = m_FileSystemModel->index(path + name); int suffix = 1; @@ -264,7 +264,7 @@ void OverwriteInfoDialog::createDirectoryTriggered() existingIndex = m_FileSystemModel->index(path + name); } - QModelIndex newIndex = m_FileSystemModel->mkdir(index, name); + QModelIndex const newIndex = m_FileSystemModel->mkdir(index, name); if (!newIndex.isValid()) { reportError(tr("Failed to create \"%1\"").arg(name)); return; diff --git a/src/src/overwriteinfodialog.h b/src/src/overwriteinfodialog.h index a56998c..2a7db47 100644 --- a/src/src/overwriteinfodialog.h +++ b/src/src/overwriteinfodialog.h @@ -75,10 +75,10 @@ public: bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) override { - ModListDropInfo dropInfo(data, m_Organizer); + ModListDropInfo const dropInfo(data, m_Organizer); if (dropInfo.isLocalFileDrop()) { - for (auto entry : dropInfo.localUrls()) { - QFileInfo sourceInfo(entry.url.toLocalFile()); + for (const auto& entry : dropInfo.localUrls()) { + QFileInfo const sourceInfo(entry.url.toLocalFile()); if (sourceInfo.isDir() && m_Organizer.managedGame()->getModMappings().keys().contains( entry.relativePath, Qt::CaseInsensitive)) { diff --git a/src/src/pluginlist.h b/src/src/pluginlist.h index 3178d69..b84df2a 100644 --- a/src/src/pluginlist.h +++ b/src/src/pluginlist.h @@ -55,7 +55,7 @@ public: ChangeBracket(C* model) : m_Model(nullptr) { QVariant var = model->property("__aboutToChange"); - bool aboutToChange = var.isValid() && var.toBool(); + bool const aboutToChange = var.isValid() && var.toBool(); if (!aboutToChange) { model->layoutAboutToBeChanged(); model->setProperty("__aboutToChange", true); diff --git a/src/src/shared/fileregister.h b/src/src/shared/fileregister.h index 020a255..aeebe35 100644 --- a/src/src/shared/fileregister.h +++ b/src/src/shared/fileregister.h @@ -26,7 +26,7 @@ public: size_t highestCount() const { - std::scoped_lock lock(m_Mutex); + std::scoped_lock const lock(m_Mutex); return m_Files.size(); } diff --git a/src/src/shared/filesorigin.h b/src/src/shared/filesorigin.h index 05914d1..f34ae3f 100644 --- a/src/src/shared/filesorigin.h +++ b/src/src/shared/filesorigin.h @@ -43,7 +43,7 @@ public: void addFile(FileIndex index) { - std::scoped_lock lock(m_Mutex); + std::scoped_lock const lock(m_Mutex); m_Files.insert(index); } diff --git a/src/src/thread_utils.h b/src/src/thread_utils.h index 0d29be4..5535c4a 100644 --- a/src/src/thread_utils.h +++ b/src/src/thread_utils.h @@ -52,7 +52,7 @@ void parallelMap(It begin, It end, Callable callable, std::size_t nThreads) while (true) { decltype(begin) it; { - std::scoped_lock lock(m); + std::scoped_lock const lock(m); if (begin == end) { break; } diff --git a/src/src/vfs/mo2filesystem.h b/src/src/vfs/mo2filesystem.h index bcc34de..2c256b8 100644 --- a/src/src/vfs/mo2filesystem.h +++ b/src/src/vfs/mo2filesystem.h @@ -96,8 +96,8 @@ struct Mo2FsContext }; struct PairHash { size_t operator()(const std::pair& p) const { - size_t h1 = std::hash{}(p.first); - size_t h2 = std::hash{}(p.second); + size_t const h1 = std::hash{}(p.first); + size_t const h2 = std::hash{}(p.second); return h1 ^ (h2 * 0x9e3779b97f4a7c15ULL + 0x9e3779b9 + (h1 << 6) + (h1 >> 2)); } }; -- cgit v1.3.1