diff options
| author | Silarn <jrim@rimpo.org> | 2018-04-08 14:56:46 -0500 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2018-04-08 14:56:46 -0500 |
| commit | 208eaccbf7f1fc0441861d55c68c4b66e5c7d387 (patch) | |
| tree | 3724ce893df14c2c8643417a3ea86c627d4465c0 /src/organizercore.cpp | |
| parent | 0f8852f487cb1f8b993141042da4196db965e038 (diff) | |
Updates to allow a full plugin data refresh in certain circumstances
Diffstat (limited to 'src/organizercore.cpp')
| -rw-r--r-- | src/organizercore.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 0398e9ac..895b3b9c 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -1107,7 +1107,7 @@ void OrganizerCore::spawnBinary(const QFileInfo &binary, const QString &argument }
refreshDirectoryStructure();
- refreshESPList();
+ refreshESPList(true);
savePluginList();
//These callbacks should not fiddle with directoy structure and ESPs.
@@ -1559,13 +1559,13 @@ void OrganizerCore::refreshModList(bool saveChanges) refreshDirectoryStructure();
}
-void OrganizerCore::refreshESPList()
+void OrganizerCore::refreshESPList(bool force)
{
if (m_DirectoryUpdate) {
// don't mess up the esp list if we're currently updating the directory
// structure
- m_PostRefreshTasks.append([this]() {
- this->refreshESPList();
+ m_PostRefreshTasks.append([=]() {
+ this->refreshESPList(force);
});
return;
}
@@ -1574,7 +1574,7 @@ void OrganizerCore::refreshESPList() // clear list
try {
m_PluginList.refresh(m_CurrentProfile->name(), *m_DirectoryStructure,
- m_CurrentProfile->getLockedOrderFileName());
+ m_CurrentProfile->getLockedOrderFileName(), force);
} catch (const std::exception &e) {
reportError(tr("Failed to refresh list of esps: %1").arg(e.what()));
}
@@ -1615,7 +1615,7 @@ void OrganizerCore::refreshBSAList() void OrganizerCore::refreshLists()
{
if ((m_CurrentProfile != nullptr) && m_DirectoryStructure->isPopulated()) {
- refreshESPList();
+ refreshESPList(true);
refreshBSAList();
} // no point in refreshing lists if no files have been added to the directory
// tree
@@ -1678,7 +1678,7 @@ void OrganizerCore::updateModInDirectoryStructure(unsigned int index, modInfo->stealFiles());
DirectoryRefresher::cleanStructure(m_DirectoryStructure);
// need to refresh plugin list now so we can activate esps
- refreshESPList();
+ refreshESPList(true);
// activate all esps of the specified mod so the bsas get activated along with
// it
updateModActiveState(index, true);
@@ -1839,7 +1839,7 @@ void OrganizerCore::modStatusChanged(unsigned int index) updateModInDirectoryStructure(index, modInfo);
} else {
updateModActiveState(index, false);
- refreshESPList();
+ refreshESPList(true);
if (m_DirectoryStructure->originExists(ToWString(modInfo->name()))) {
FilesOrigin &origin
= m_DirectoryStructure->getOriginByName(ToWString(modInfo->name()));
|
