Merge pull request #37 from Liderate/skip_compression

Add setting for archive compression
This commit is contained in:
Al
2024-03-30 12:10:48 +01:00
committed by GitHub
3 changed files with 8 additions and 1 deletions
+4
View File
@@ -48,6 +48,10 @@ namespace BsaPacker
bool ArchiveBuilderHelper::isIncompressible(const path& filename) const
{
if (!this->m_SettingsService->GetPluginSetting(SettingsService::SETTING_COMPRESS_ARCHIVES).toBool()) {
return true;
}
const auto& extension = filename.extension().string();
const auto& count = ArchiveBuilderHelper::INCOMPRESSIBLE_TYPES.count(extension);
const auto& result = count > 0;
+3 -1
View File
@@ -5,12 +5,14 @@ namespace BsaPacker
const QString& SettingsService::SETTING_HIDE_LOOSE_ASSETS = QStringLiteral("hide_loose_assets");
const QString& SettingsService::SETTING_CREATE_PLUGINS = QStringLiteral("create_plugins");
const QString& SettingsService::SETTING_BLACKLISTED_FILES = QStringLiteral("blacklisted_files");
const QString& SettingsService::SETTING_COMPRESS_ARCHIVES = QStringLiteral("compress_archives");
//const QString& SettingsService::SETTING_SPLIT_ARCHIVES = "split_archives";
const QList<MOBase::PluginSetting>& SettingsService::PluginSettings = {
MOBase::PluginSetting(SettingsService::SETTING_HIDE_LOOSE_ASSETS, QObject::tr("After creating the archive, set loose assets to hidden."), false),
MOBase::PluginSetting(SettingsService::SETTING_CREATE_PLUGINS, QObject::tr("Create a dummy plugin to load the archive if one does not exist."), false),
MOBase::PluginSetting(SettingsService::SETTING_BLACKLISTED_FILES, QObject::tr("Specify a semi-colon seperated list of file extensions to ignore when packing."), ".txt;.hkx;.xml;.ini;.bk2")
MOBase::PluginSetting(SettingsService::SETTING_BLACKLISTED_FILES, QObject::tr("Specify a semi-colon seperated list of file extensions to ignore when packing."), ".txt;.hkx;.xml;.ini;.bk2"),
MOBase::PluginSetting(SettingsService::SETTING_COMPRESS_ARCHIVES, QObject::tr("Compress archives if they do not contain incompressible files."), true)
//MOBase::PluginSetting(SettingsService::SETTING_SPLIT_ARCHIVES, QObject::tr("Automatically create multiple archives if they exceed the size limit."), false);
};
+1
View File
@@ -19,6 +19,7 @@ namespace BsaPacker
static const QString& SETTING_HIDE_LOOSE_ASSETS;
static const QString& SETTING_CREATE_PLUGINS;
static const QString& SETTING_BLACKLISTED_FILES;
static const QString& SETTING_COMPRESS_ARCHIVES;
//static const QString& SETTING_SPLIT_ARCHIVES;
static const QList<MOBase::PluginSetting>& PluginSettings;