#include "ScriptingConfig.h" #include #include #include #include #include namespace Scripting { bool ScriptingConfig::isEnabled() { const QSettings s("config.ini", QSettings::IniFormat); return s.value("scripting/enabled", false).toBool(); } QSet ScriptingConfig::parseEnabledScripts() { const QSettings s("config.ini", QSettings::IniFormat); const QString raw = s.value("scripting/use_js_for").toString(); QSet out; for (QString item : raw.split(',', Qt::SkipEmptyParts)) { item = item.trimmed(); if (!item.isEmpty()) out.insert(item); } return out; } bool ScriptingConfig::isJsEnabledFor(const QString &bankSlashScript) { return parseEnabledScripts().contains(bankSlashScript); } QString ScriptingConfig::manifestUrl() { const QSettings s("config.ini", QSettings::IniFormat); return s.value("scripting/manifest_url").toString().trimmed(); } QString ScriptingConfig::cacheDir() { const QSettings s("config.ini", QSettings::IniFormat); const QString custom = s.value("scripting/cache_dir").toString().trimmed(); if (!custom.isEmpty()) return custom; const QString base = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); return QDir(base).filePath("scripts"); } QString ScriptingConfig::bundledDir() { const QSettings s("config.ini", QSettings::IniFormat); const QString custom = s.value("scripting/bundled_dir").toString().trimmed(); if (!custom.isEmpty()) return custom; return QDir(QCoreApplication::applicationDirPath()).filePath("scripts"); } } // namespace Scripting