diff options
| author | Twinki <Twinki14@users.noreply.github.com> | 2024-06-15 12:51:47 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-15 18:51:47 +0200 |
| commit | d3b647ab2b19626b2f86b5c2af3946c1fcf22068 (patch) | |
| tree | 3dac9ed85783bdf1bb682cd4a436cfa9197ba382 /src/usvfsconnector.cpp | |
| parent | 6d08d434a8a5a4471a620974a52550ada05ab663 (diff) | |
Use new Skip File & Skip Directory in usvfs (#2033)
* Use new Skip File & Skip Directory in usvfs.
# Motivations
https://github.com/ModOrganizer2/usvfs/pull/61 Highlights some reasons why the ability to skip files & directories would be beneficial
# Modifications
- Add two new settings, `skip_file_suffixes` and `skip_directories`
- Wire the two new settings up to usvfs
- Add two new buttons to the `Workarounds` dialog, one to adjust Skip File Suffixes and another for Skip Directories, both buttons act nearly identical to the Executable Blacklist button
- Add a new grouping in the `Workarounds` dialog box that contains the usvfs buttons to keep the dialog a tad organized
Diffstat (limited to 'src/usvfsconnector.cpp')
| -rw-r--r-- | src/usvfsconnector.cpp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp index 4a54f9fd..7b75b870 100644 --- a/src/usvfsconnector.cpp +++ b/src/usvfsconnector.cpp @@ -160,6 +160,21 @@ UsvfsConnector::UsvfsConnector() usvfsBlacklistExecutable(buf.data()); } + usvfsClearSkipFileSuffixes(); + for (auto& suffix : s.skipFileSuffixes()) { + if (suffix.isEmpty()) { + continue; + } + std::wstring buf = suffix.toStdWString(); + usvfsAddSkipFileSuffix(buf.data()); + } + + usvfsClearSkipDirectories(); + for (auto& dir : s.skipDirectories()) { + std::wstring buf = dir.toStdWString(); + usvfsAddSkipDirectory(buf.data()); + } + usvfsClearLibraryForceLoads(); m_LogWorker.moveToThread(&m_WorkerThread); @@ -228,7 +243,9 @@ void UsvfsConnector::updateParams(MOBase::log::Levels logLevel, env::CoreDumpTypes coreDumpType, const QString& crashDumpsPath, std::chrono::seconds spawnDelay, - QString executableBlacklist) + QString executableBlacklist, + const QStringList& skipFileSuffixes, + const QStringList& skipDirectories) { using namespace std::chrono; @@ -248,6 +265,21 @@ void UsvfsConnector::updateParams(MOBase::log::Levels logLevel, std::wstring buf = exec.toStdWString(); usvfsBlacklistExecutable(buf.data()); } + + usvfsClearSkipFileSuffixes(); + for (auto& suffix : skipFileSuffixes) { + if (suffix.isEmpty()) { + continue; + } + std::wstring buf = suffix.toStdWString(); + usvfsAddSkipFileSuffix(buf.data()); + } + + usvfsClearSkipDirectories(); + for (auto& dir : skipDirectories) { + std::wstring buf = dir.toStdWString(); + usvfsAddSkipDirectory(buf.data()); + } } void UsvfsConnector::updateForcedLibraries( |
