Skip to content

Commit 393970f

Browse files
committed
Save old config file with prompt
1 parent 1ee2428 commit 393970f

File tree

5 files changed

+21
-8
lines changed

5 files changed

+21
-8
lines changed

RetailCoder.VBE/Settings/ConfigurationLoader.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.IO;
44
using System.Linq;
55
using System.Reflection;
6+
using System.Text;
67
using System.Windows.Forms;
78
using Rubberduck.Inspections;
89
using Rubberduck.ToDoItems;
@@ -69,9 +70,21 @@ protected override Configuration HandleIOException(IOException ex)
6970

7071
protected override Configuration HandleInvalidOperationException(InvalidOperationException ex)
7172
{
72-
var message = string.Format(RubberduckUI.PromptLoadDefaultConfig, ex.Message, ex.InnerException.Message, ConfigFile);
73+
var folder = Path.GetDirectoryName(ConfigFile);
74+
var newFilePath = folder + "\\rubberduck.config." + DateTime.UtcNow.ToString().Replace('/', '.').Replace(':', '.') + ".bak";
75+
76+
var message = string.Format(RubberduckUI.PromptLoadDefaultConfig, ex.Message, ex.InnerException.Message, ConfigFile, newFilePath);
7377
MessageBox.Show(message, RubberduckUI.LoadConfigError, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification);
7478

79+
using (var fs = File.Create(@newFilePath))
80+
{
81+
using (var reader = new StreamReader(folder + "\\rubberduck.config"))
82+
using (var writer = new StreamWriter(fs, Encoding.UTF8))
83+
{
84+
writer.Write(reader.ReadToEnd());
85+
}
86+
}
87+
7588
var config = GetDefaultConfiguration();
7689
SaveConfiguration(config);
7790
return config;

RetailCoder.VBE/UI/RubberduckUI.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

RetailCoder.VBE/UI/RubberduckUI.fr.resx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,13 +429,13 @@
429429
<value>Analyse des componsantes du projet...</value>
430430
</data>
431431
<data name="PromptLoadDefaultConfig" xml:space="preserve">
432-
<value>{0}
432+
<value>z {0}
433433
{1}
434434

435435
{2}
436436

437437
Restaurer les configurations par défaut?
438-
Attention: les valeurs personnalisées seront perdues.</value>
438+
Attention: les valeurs personnalisées seront perdues. Your old file will be saved in '{3}'</value>
439439
</data>
440440
<data name="ResolutionProgress" xml:space="preserve">
441441
<value>Résolution de '{0}'...</value>

RetailCoder.VBE/UI/RubberduckUI.resx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@
431431
{2}
432432

433433
Would you like to restore default configuration?
434-
Warning: All customized settings will be lost.</value>
434+
Warning: All customized settings will be lost. Your old file will be saved in '{3}'</value>
435435
</data>
436436
<data name="ResolutionProgress" xml:space="preserve">
437437
<value>Resolving '{0}'...</value>

RetailCoder.VBE/UI/RubberduckUI.sv.resx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,13 +434,13 @@
434434
<value>Tolkar projektkomponenter...</value>
435435
</data>
436436
<data name="PromptLoadDefaultConfig" xml:space="preserve">
437-
<value>{0}
437+
<value>z {0}
438438
{1}
439439

440440
{2}
441441

442442
Vill du återställa standardinställningarna?
443-
Varning: Alla anpassade inställningar kommer att försvinna.</value>
443+
Varning: Alla anpassade inställningar kommer att försvinna. Your old file will be saved in '{3}'</value>
444444
</data>
445445
<data name="ResolutionProgress" xml:space="preserve">
446446
<value>Löser '{0}'...</value>
@@ -1099,4 +1099,4 @@ Varning: Alla anpassade inställningar kommer att försvinna.</value>
10991099
<data name="TodoSettings_Text" xml:space="preserve">
11001100
<value>Text</value>
11011101
</data>
1102-
</root>
1102+
</root>

0 commit comments

Comments
 (0)