diff --git a/exec/slyedcfg.js b/exec/slyedcfg.js index 9a61a854639bb75663f1cbb058a07d39f8bfbb23..7402ffd18d20b22451607cce6f72a4cb419c4306 100644 --- a/exec/slyedcfg.js +++ b/exec/slyedcfg.js @@ -742,7 +742,7 @@ function readSlyEditCfgFile() if (!retObj.cfgSections.hasOwnProperty("DCT_COLORS")) retObj.cfgSections.DCT_COLORS = {}; - if (!retObj.cfgSections.ICE_COLORS.hasOwnProperty("ThemeFilename")) + if (!retObj.cfgSections.DCT_COLORS.hasOwnProperty("ThemeFilename")) retObj.cfgSections.DCT_COLORS.ThemeFilename = "SlyDCTColors_Default.cfg"; return retObj; } @@ -772,17 +772,14 @@ function saveSlyEditCfgFile() // Open the configuration file and save the current settings to it var saveSucceeded = false; var cfgFile = new File(modsSlyEditCfgFilename); - if (cfgFile.open("r+")) // Reading and writing (file must exist) + if (cfgFile.open(cfgFile.exists ? "r+" : "w+")) // r+: Reading and writing (file must exist) { - for (var settingName in gCfgInfo.cfgSections.BEHAVIOR) - cfgFile.iniSetValue("BEHAVIOR", settingName, gCfgInfo.cfgSections.BEHAVIOR[settingName]); - for (var settingName in gCfgInfo.cfgSections.ICE_COLORS) - cfgFile.iniSetValue("ICE_COLORS", settingName, gCfgInfo.cfgSections.ICE_COLORS[settingName]); - for (var settingName in gCfgInfo.cfgSections.DCT_COLORS) - cfgFile.iniSetValue("DCT_COLORS", settingName, gCfgInfo.cfgSections.DCT_COLORS[settingName]); + var behaviorSetSuccessful = cfgFile.iniSetObject("BEHAVIOR", gCfgInfo.cfgSections.BEHAVIOR); + var iceColorsSetSuccessful = cfgFile.iniSetObject("ICE_COLORS", gCfgInfo.cfgSections.ICE_COLORS); + var dctColorsSetSuccessful = cfgFile.iniSetObject("DCT_COLORS", gCfgInfo.cfgSections.DCT_COLORS); cfgFile.close(); - saveSucceeded = true; + saveSucceeded = behaviorSetSuccessful && iceColorsSetSuccessful && dctColorsSetSuccessful; } return saveSucceeded;