private void loadConfiguration()
{
try
{
Configuration c = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
int v = int.Parse(loadSetting(c, "ConfigVersion", "1"));
AppState.InputFormat = loadSetting(c, "InputFormat", cboFormatType.Text);
if (v < 3) //naming format changed
{
for (int i = 0; i < cboFormatType.Items.Count; i++)
{
if (((string)cboFormatType.Items[i]).StartsWith(AppState.InputFormat))
AppState.InputFormat = (string)cboFormatType.Items[i];
}
}
AppState.PakFilename = loadSetting(c, "PakFilename");
AppState.PabFilename = loadSetting(c, "PabFilename");
AppState.DebugFilename = loadSetting(c, "DebugFilename");
AppState.Backup = loadSetting(c, "Backup", "True") != "False";
AppState.LastQbReplacePath = loadSetting(c, "LastQbReplacePath");
AppState.LastQbExtractPath = loadSetting(c, "LastQbExtractPath");
AppState.LastScriptPath = loadSetting(c, "LastScriptPath");
AppState.LastArrayPath = loadSetting(c, "LastScriptPath");
AppState.ScriptActiveTab = int.Parse(loadSetting(c, "ScriptActiveTab", "0"));
AppState.LoadPakListColInfo(lstPakContents,
loadSetting(c, "PakListColWidths"),
loadSetting(c, "PakListColPositions"),
loadSetting(c, "PakListSort"));
AppState.LoadSearchListColInfo(lstSearchResults,
loadSetting(c, "SearchListColWidths"),
loadSetting(c, "SearchListColPositions"),
loadSetting(c, "SearchListSort"));
AppState.LoadQbListColInfo(lstQbItems,
loadSetting(c, "QbListColWidths"),
loadSetting(c, "QbListColPositions"));
AppState.LoadWindowInfo(this, loadSetting(c, "WindowInfo"));
AppState.LoadPakSplitterPosition(splitPak, loadSetting(c, "PakSplitterPosition"));
AppState.LoadSearchSplitterPosition(splitSearch, loadSetting(c, "SearchSplitterPosition"));
AppState.LoadQbSplitterPosition(splitQb, loadSetting(c, "QbSplitterPosition"));
QbFile.AllowedScriptStringChars = loadSetting(c, "AllowedScriptStringChars", @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890\/?!""£$%^&*()-+{}[]'#@~?><,. =®©_");
if (!QbFile.AllowedScriptStringChars.Contains("="))
QbFile.AllowedScriptStringChars = QbFile.AllowedScriptStringChars + "="; //added v1.1
cboFormatType.Text = AppState.InputFormat;
txtPakFile.Text = AppState.PakFilename;
txtPabFile.Text = AppState.PabFilename;
txtDebugFile.Text = AppState.DebugFilename;
chkBackup.Checked = AppState.Backup;
if (v == 1) //migrate from settings version 1
{
int p;
//remove filename from path (bug in previous version)
if (AppState.LastQbReplacePath.Length != 0)
{
p = AppState.LastQbReplacePath.LastIndexOf('\\');
if (p != -1)
AppState.LastQbReplacePath = AppState.LastQbReplacePath.Substring(0, p);
}
if (AppState.LastQbExtractPath.Length != 0)
{
p = AppState.LastQbExtractPath.LastIndexOf('\\');
if (p != -1)
AppState.LastQbExtractPath = AppState.LastQbExtractPath.Substring(0, p);
}
}
}
catch (Exception ex)
{
showException("Load Configuration Error", ex);
}
}