From 0eeaeeaea472755c8cb31d838ce2d5ccc4ac5d4f Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 1 Mar 2012 12:37:24 +0000 Subject: [PATCH] .ide: config backup git-svn-id: svn://ultimatepp.org/upp/trunk@4636 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/Config.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/uppsrc/ide/Config.cpp b/uppsrc/ide/Config.cpp index 1ca37f8c1..02bb37b9d 100644 --- a/uppsrc/ide/Config.cpp +++ b/uppsrc/ide/Config.cpp @@ -180,9 +180,9 @@ void Ide::Serialize(Stream& s) s % bordercolumn; s % bordercolor; s % hydra1_threads; - s % gdbSelector; if(s.IsLoading()) console.SetSlots(hydra1_threads); + s % gdbSelector; s % doc; s % chstyle; s % astyle_BracketIndent; @@ -225,6 +225,10 @@ Time Ide::ConfigTime() void Ide::SaveConfig() { SaveChangedFile(ConfigFile(), StoreAsString(*this)); + if(GetIniKey("DebugClipboard") == "1") { + SaveChangedFile(ConfigFile() + ".bak", StoreAsString(*this)); + StoreToFile(*this, ConfigFile() + ".bak1"); + } SaveChangedFile(ConfigFile("ide.key"), StoreKeys()); SaveChangedFile(ConfigFile("ide.colors"), editor.StoreHlStyles()); config_time = ConfigTime(); @@ -238,8 +242,14 @@ void Ide::SaveConfigOnTime() void Ide::LoadConfig() { - if(!LoadFromFile(*this) && GetIniKey("DebugClipboard") == "1") + if(!LoadFromFile(*this) && GetIniKey("DebugClipboard") == "1") { Exclamation("LoadConfig has failed!"); + if(!LoadFromFile(*this, ConfigFile() + ".bak")) { + Exclamation("LoadConfig .bak has failed!"); + if(!LoadFromFile(*this, ConfigFile() + ".bak1")) + Exclamation("LoadConfig .bak1 has failed!"); + } + } RestoreKeys(LoadFile(ConfigFile("ide.key"))); editor.LoadHlStyles(LoadFile(ConfigFile("ide.colors"))); config_time = FileGetTime(ConfigFile());