diff options
| author | Chris Bessent <lost.dragonist@gmail.com> | 2021-11-26 13:37:28 -0700 |
|---|---|---|
| committer | Chris Bessent <lost.dragonist@gmail.com> | 2021-11-26 13:37:28 -0700 |
| commit | 9f8827e3a5eb1615cf4a62af1ac51035100f20ae (patch) | |
| tree | f78f45c1a2dbabae63151f3f1b5c5d2dbba321f3 /src/mainwindow.cpp | |
| parent | d58f773c76fb9e9542f371252932ec04a022f309 (diff) | |
Fix parsing plugins with dots in name
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 81c44c00..a2cc74dd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1782,7 +1782,7 @@ void MainWindow::updateBSAList(const QStringList &defaultArchives, const QString auto hasAssociatedPlugin = [&](const QString &bsaName) -> bool { for (const QString &pluginName : plugins) { QFileInfo pluginInfo(pluginName); - if (bsaName.startsWith(QFileInfo(pluginName).baseName(), Qt::CaseInsensitive) + if (bsaName.startsWith(QFileInfo(pluginName).completeBaseName(), Qt::CaseInsensitive) && (m_OrganizerCore.pluginList()->state(pluginInfo.fileName()) == IPluginList::STATE_ACTIVE)) { return true; } @@ -2951,11 +2951,11 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD if (fileData["file_name"].toString().compare(installedFile, Qt::CaseInsensitive) == 0) { foundFileData = fileData; newModStatus = foundFileData["category_id"].toInt(); - + if (newModStatus != NexusInterface::FileStatus::OLD_VERSION && newModStatus != NexusInterface::FileStatus::REMOVED && newModStatus != NexusInterface::FileStatus::ARCHIVED) { - + // since the file is still active if there are no updates for it, use this as current version validNewVersion = foundFileData["version"].toString(); } @@ -3022,10 +3022,10 @@ void MainWindow::nxmUpdatesAvailable(QString gameName, int modID, QVariant userD } } } - + // if there were no active direct file updates for the installedFile - if (!foundActiveUpdate) { - // get the global mod version in case the file isn't an optional + if (!foundActiveUpdate) { + // get the global mod version in case the file isn't an optional if (newModStatus != NexusInterface::FileStatus::OPTIONAL_FILE && newModStatus != NexusInterface::FileStatus::MISCELLANEOUS) { requiresInfo = true; @@ -3061,7 +3061,7 @@ void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userD QVariantMap result = resultData.toMap(); QString gameNameReal; bool foundUpdate = false; - + for (IPluginGame *game : m_PluginContainer.plugins<IPluginGame>()) { if (game->gameNexusName() == gameName) { gameNameReal = game->gameShortName(); @@ -3077,8 +3077,8 @@ void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userD // 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. - if (!result["version"].toString().isEmpty() && - mod->getNexusFileStatus() != NexusInterface::FileStatus::OPTIONAL_FILE && + if (!result["version"].toString().isEmpty() && + mod->getNexusFileStatus() != NexusInterface::FileStatus::OPTIONAL_FILE && mod->getNexusFileStatus() != NexusInterface::FileStatus::MISCELLANEOUS) { mod->setNewestVersion(result["version"].toString()); @@ -3101,7 +3101,7 @@ void MainWindow::nxmModInfoAvailable(QString gameName, int modID, QVariant userD else mod->setIsEndorsed(false); } - + mod->setLastNexusQuery(QDateTime::currentDateTimeUtc()); mod->setNexusLastModified(QDateTime::fromSecsSinceEpoch(result["updated_timestamp"].toInt(), Qt::UTC)); |
