From c9599410b1bd5492c723b3a2e6017ebc6f48a358 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Fri, 10 Apr 2026 06:04:09 -0500 Subject: Sync upstream MO2 2.5.3 Beta 3 fixes - FO4VR: Add Daytripper4.dll to ESL support detection - Remove empty categories tooltip when mod has no categories - Fix QDialogButtonBox/QMessageBox enum mismatch in profile dialogs - Use refreshESPList(false) after LOOT sort (no full re-read needed) Co-Authored-By: Claude Opus 4.6 (1M context) --- src/src/modinforegular.cpp | 3 +++ src/src/modlist.cpp | 3 +++ src/src/pluginlistview.cpp | 2 +- src/src/profile.cpp | 8 ++++---- 4 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/src/modinforegular.cpp b/src/src/modinforegular.cpp index 562f3e5..4804ea0 100644 --- a/src/src/modinforegular.cpp +++ b/src/src/modinforegular.cpp @@ -773,6 +773,9 @@ QString ModInfoRegular::getDescription() const .arg(name()); } else { const std::set& categories = getCategories(); + if (categories.empty()) { + return QString(); + } std::wostringstream categoryString; categoryString << ToWString(tr("Categories:
")); CategoryFactory& categoryFactory = CategoryFactory::instance(); diff --git a/src/src/modlist.cpp b/src/src/modlist.cpp index 35f4a94..def83e6 100644 --- a/src/src/modlist.cpp +++ b/src/src/modlist.cpp @@ -449,6 +449,9 @@ QVariant ModList::data(const QModelIndex& modelIndex, int role) const return text; } else if (column == COL_CATEGORY) { const std::set& categories = modInfo->getCategories(); + if (categories.empty()) { + return QString(); + } std::wostringstream categoryString; categoryString << ToWString(tr("Categories:
")); CategoryFactory& categoryFactory = CategoryFactory::instance(); diff --git a/src/src/pluginlistview.cpp b/src/src/pluginlistview.cpp index c6ed8b1..ffdae3d 100644 --- a/src/src/pluginlistview.cpp +++ b/src/src/pluginlistview.cpp @@ -216,7 +216,7 @@ void PluginListView::onSortButtonClicked() m_didUpdateMasterList = true; } - m_core->refreshESPList(true); + m_core->refreshESPList(false); m_core->savePluginList(); } } diff --git a/src/src/profile.cpp b/src/src/profile.cpp index c0cf81a..5f96be7 100644 --- a/src/src/profile.cpp +++ b/src/src/profile.cpp @@ -929,9 +929,9 @@ bool Profile::enableLocalSaves(bool enable) "games)"), QDialogButtonBox::No | QDialogButtonBox::Yes | QDialogButtonBox::Cancel, QDialogButtonBox::No); - if (res == QDialogButtonBox::Yes) { + if (res == QMessageBox::Yes) { shellDelete(QStringList(m_Directory.absoluteFilePath("saves"))); - } else if (res == QDialogButtonBox::No) { + } else if (res == QMessageBox::No) { // No action } else { return false; @@ -990,7 +990,7 @@ bool Profile::enableLocalSettings(bool enable) QDialogButtonBox::No | QDialogButtonBox::Yes | QDialogButtonBox::Cancel, QDialogButtonBox::No); - if (res == QDialogButtonBox::Yes) { + if (res == QMessageBox::Yes) { QStringList filesToDelete; for (QString file : m_GamePlugin->iniFiles()) { QString resolved = MOBase::resolveFileCaseInsensitive( @@ -998,7 +998,7 @@ bool Profile::enableLocalSettings(bool enable) filesToDelete << resolved; } shellDelete(filesToDelete, true); - } else if (res == QDialogButtonBox::No) { + } else if (res == QMessageBox::No) { // No action } else { return false; -- cgit v1.3.1