mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
LOOT will attempt to update v0.6 settings files.
Also added a safety check in case the settings file contains some keys which are very old and don't exist in v0.7.
This commit is contained in:
@@ -905,7 +905,10 @@ var EditableTableProto = Object.create(HTMLTableElement.prototype, {
|
||||
|
||||
/* Data is an object with keys that match element class names. */
|
||||
for (var key in tableData) {
|
||||
row.getElementsByClassName(key)[0].value = tableData[key];
|
||||
var elems = row.getElementsByClassName(key);
|
||||
if (elems.length == 1) {
|
||||
elems[0].value = tableData[key];
|
||||
}
|
||||
}
|
||||
|
||||
/* Add deletion listener. */
|
||||
|
||||
+50
-14
@@ -151,7 +151,7 @@ namespace loot {
|
||||
}
|
||||
}
|
||||
// Check if the settings are valid (or if they don't exist).
|
||||
if (!AreSettingsValid(_settings)) {
|
||||
if (!AreSettingsValid()) {
|
||||
_settings = GetDefaultSettings();
|
||||
}
|
||||
|
||||
@@ -291,19 +291,55 @@ namespace loot {
|
||||
}
|
||||
}
|
||||
|
||||
bool LootState::AreSettingsValid(const YAML::Node& settings) {
|
||||
if (!settings["language"])
|
||||
return false;
|
||||
if (!settings["game"])
|
||||
return false;
|
||||
if (!settings["lastGame"])
|
||||
return false;
|
||||
if (!settings["debugVerbosity"])
|
||||
return false;
|
||||
if (!settings["updateMasterlist"])
|
||||
return false;
|
||||
if (!settings["games"])
|
||||
return false;
|
||||
bool LootState::AreSettingsValid() {
|
||||
if (!_settings["language"]) {
|
||||
if (_settings["Language"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["language"] = _settings["Language"];
|
||||
_settings.remove("Language");
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
if (!_settings["game"])
|
||||
if (_settings["Game"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["game"] = _settings["Game"];
|
||||
_settings.remove("Game");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if (!_settings["lastGame"])
|
||||
if (_settings["Last Game"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["lastGame"] = _settings["Last Game"];
|
||||
_settings.remove("Last Game");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if (!_settings["debugVerbosity"])
|
||||
if (_settings["Debug Verbosity"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["debugVerbosity"] = _settings["Debug Verbosity"];
|
||||
_settings.remove("Debug Verbosity");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if (!_settings["updateMasterlist"])
|
||||
if (_settings["Update Masterlist"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["updateMasterlist"] = _settings["Update Masterlist"];
|
||||
_settings.remove("Update Masterlist");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if (!_settings["games"])
|
||||
if (_settings["Games"]) {
|
||||
// Conversion from 0.6 key.
|
||||
_settings["games"] = _settings["Games"];
|
||||
_settings.remove("Games");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ namespace loot {
|
||||
std::vector<std::string> _initErrors;
|
||||
|
||||
// Check if the settings file has the right root keys (doesn't check their values).
|
||||
bool AreSettingsValid(const YAML::Node& settings);
|
||||
bool AreSettingsValid();
|
||||
YAML::Node GetDefaultSettings();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user