aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs/BlockedModsDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/dialogs/BlockedModsDialog.cpp')
-rw-r--r--launcher/ui/dialogs/BlockedModsDialog.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/launcher/ui/dialogs/BlockedModsDialog.cpp b/launcher/ui/dialogs/BlockedModsDialog.cpp
index 60561049..ffcf6e5f 100644
--- a/launcher/ui/dialogs/BlockedModsDialog.cpp
+++ b/launcher/ui/dialogs/BlockedModsDialog.cpp
@@ -236,14 +236,24 @@ void BlockedModsDialog::checkMatchHash(QString hash, QString path)
/// @return boolean: did the path match the name of a blocked mod?
bool BlockedModsDialog::checkValidPath(QString path)
{
- QFileInfo file = QFileInfo(path);
- QString filename = file.fileName();
+ const QFileInfo file = QFileInfo(path);
+ const QString filename = file.fileName();
+ QString laxFilename(filename);
+ laxFilename.replace('+', ' ');
+
+ auto compare = [](QString fsfilename, QString metadataFilename) {
+ return metadataFilename.compare(fsfilename, Qt::CaseInsensitive) == 0;
+ };
for (auto& mod : m_mods) {
- if (mod.name.compare(filename, Qt::CaseInsensitive) == 0) {
+ if (compare(filename, mod.name)) {
qDebug() << "[Blocked Mods Dialog] Name match found:" << mod.name << "| From path:" << path;
return true;
}
+ if (compare(laxFilename, mod.name)) {
+ qDebug() << "[Blocked Mods Dialog] Lax name match found:" << mod.name << "| From path:" << path;
+ return true;
+ }
}
return false;