aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/MainMenu/MainMenu.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.WinForms/MainMenu/MainMenu.cs')
-rw-r--r--ShiftOS.WinForms/MainMenu/MainMenu.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/ShiftOS.WinForms/MainMenu/MainMenu.cs b/ShiftOS.WinForms/MainMenu/MainMenu.cs
index f6bc833..b957c28 100644
--- a/ShiftOS.WinForms/MainMenu/MainMenu.cs
+++ b/ShiftOS.WinForms/MainMenu/MainMenu.cs
@@ -156,6 +156,15 @@ namespace ShiftOS.WinForms.MainMenu
txtdsaddress.Text = conf.DigitalSocietyAddress;
txtdsport.Text = conf.DigitalSocietyPort.ToString();
+ cblanguage.Items.Clear();
+ foreach(var lang in Localization.GetAllLanguages())
+ {
+ var finf = new System.IO.FileInfo(lang);
+ int nameindex = finf.Name.Length - 5;
+ cblanguage.Items.Add(finf.Name.Remove(nameindex, 5));
+ }
+
+ cblanguage.Text = conf.Language;
pnloptions.Show();
pnloptions.BringToFront();
@@ -186,9 +195,20 @@ namespace ShiftOS.WinForms.MainMenu
conf.DigitalSocietyPort = p;
+ bool requiresRestart = (conf.Language != cblanguage.Text);
+ conf.Language = cblanguage.Text;
+
+
System.IO.File.WriteAllText("servers.json", Newtonsoft.Json.JsonConvert.SerializeObject(conf, Newtonsoft.Json.Formatting.Indented));
HideOptions();
+ if(requiresRestart == true)
+ {
+ Infobox.Show("{TITLE_RESTARTREQUIRED}", "{PROMPT_RESTARTREQUIRED}", () =>
+ {
+ Application.Restart();
+ });
+ }
}
private void button10_Click(object sender, EventArgs e)