Skip to content

Commit c6408f5

Browse files
committed
Added settings upgrade support.
Changed version number from 1.0 -> 1.1.
1 parent 6ebdd36 commit c6408f5

File tree

6 files changed

+42
-14
lines changed

6 files changed

+42
-14
lines changed

Source/App.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
<setting name="LoadHidden" serializeAs="String">
3232
<value>False</value>
3333
</setting>
34+
<setting name="Upgraded" serializeAs="String">
35+
<value>False</value>
36+
</setting>
3437
</ScriptFUSION.UpDown_Meter.Properties.Settings>
3538
</userSettings>
3639
</configuration>

Source/Forms/OptionsForm.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99

1010
namespace ScriptFUSION.UpDown_Meter {
1111
public partial class OptionsForm : Form {
12-
private RegistryPersister registryPersister;
12+
private RegistryPersister registry;
1313

1414
internal OptionsForm(Options options) {
1515
Options = options;
16-
registryPersister = new RegistryPersister(new RegistryOptions());
16+
registry = new RegistryPersister(new RegistryOptions());
1717

1818
InitializeComponent();
1919
LoadNetworkInterfaces();
@@ -25,7 +25,7 @@ internal OptionsForm(Options options) {
2525

2626
internal Options Options { get; private set; }
2727

28-
private RegistryOptions RegistryOptions { get { return registryPersister.Options; } }
28+
private RegistryOptions RegistryOptions { get { return registry.Options; } }
2929

3030
private NetworkInterface SelectedNic
3131
{
@@ -53,7 +53,7 @@ private void SaveSettings() {
5353
private void SaveRegistrySettings() {
5454
RegistryOptions.LoadAtSystemStartup = loadSystem.Checked;
5555

56-
registryPersister.Save();
56+
registry.Save();
5757
}
5858

5959
private void LoadSettings() {
@@ -64,7 +64,7 @@ private void LoadSettings() {
6464
}
6565

6666
private void LoadRegistrySettings() {
67-
registryPersister.Load();
67+
registry.Load();
6868

6969
loadSystem.Checked = RegistryOptions.LoadAtSystemStartup;
7070
}

Source/Options.cs

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ internal sealed class Options {
1212
public Options(Settings settings) {
1313
this.settings = settings;
1414

15-
NetworkInterface = NetworkInterfaces.Fetch(settings.LastNic);
16-
NicSpeeds = settings.NicSpeeds;
17-
Bounds = settings.Bounds;
18-
Topmost = settings.Topmost;
19-
Transparent = settings.Transparent;
20-
Docking = settings.Docking;
21-
LoadHidden = settings.LoadHidden;
15+
// Import settings from previous version.
16+
if (!settings.Upgraded) {
17+
settings.Upgrade();
18+
settings.Upgraded = true;
19+
}
20+
21+
Load();
2222
}
2323

2424
public NetworkInterface NetworkInterface { get; set; }
@@ -42,6 +42,16 @@ public Options Clone() {
4242
return clone;
4343
}
4444

45+
private void Load() {
46+
NetworkInterface = NetworkInterfaces.Fetch(settings.LastNic);
47+
NicSpeeds = settings.NicSpeeds;
48+
Bounds = settings.Bounds;
49+
Topmost = settings.Topmost;
50+
Transparent = settings.Transparent;
51+
Docking = settings.Docking;
52+
LoadHidden = settings.LoadHidden;
53+
}
54+
4555
public void Save() {
4656
settings.LastNic = NetworkInterface?.Id;
4757
settings.NicSpeeds = NicSpeeds;

Source/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("1.0.0.0")]
35-
[assembly: AssemblyFileVersion("1.0.0.0")]
34+
[assembly: AssemblyVersion("1.1.0.0")]
35+
[assembly: AssemblyFileVersion("1.1.0.0")]

Source/Properties/Settings.Designer.cs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/Properties/Settings.settings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,8 @@
2323
<Setting Name="LoadHidden" Type="System.Boolean" Scope="User">
2424
<Value Profile="(Default)">False</Value>
2525
</Setting>
26+
<Setting Name="Upgraded" Type="System.Boolean" Scope="User">
27+
<Value Profile="(Default)">False</Value>
28+
</Setting>
2629
</Settings>
2730
</SettingsFile>

0 commit comments

Comments
 (0)