2015-04-22 22:58:29 +00:00
|
|
|
|
///
|
2015-04-15 18:32:56 +00:00
|
|
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
|
|
|
|
///
|
2014-07-28 07:54:35 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
using System.Data;
|
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using TBF.Resources;
|
|
|
|
|
|
|
|
|
|
|
|
namespace TBF
|
|
|
|
|
|
{
|
2015-04-22 22:58:29 +00:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2014-07-28 07:54:35 +00:00
|
|
|
|
/// Dialog to edit local settings that specify UI preferences, language, etc. (S1.1)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public partial class PreferencesDlg : Form
|
|
|
|
|
|
{
|
2015-04-22 22:58:29 +00:00
|
|
|
|
string[] LanguageName = new string[]
|
|
|
|
|
|
{
|
|
|
|
|
|
"English",
|
|
|
|
|
|
"Česky (Czech)",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"中国 (Chinese simplified)",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
"Deutch (German)",
|
|
|
|
|
|
"Español (Spanish)",
|
|
|
|
|
|
"Français (French)",
|
|
|
|
|
|
"Italiano (Italian)",
|
|
|
|
|
|
"Polski (Polish)",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"Română (Romanian)",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
"Русский (Russion)",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"Slovensky (Slovak)",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Available languages.
|
|
|
|
|
|
/// Method ToString should give a supported culture info string:
|
|
|
|
|
|
/// ("en","de","fr","es","it","cn", etc.).
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
string[] LanguageCode = new string[]
|
|
|
|
|
|
{
|
|
|
|
|
|
"en",
|
|
|
|
|
|
"cs",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"zh-CN",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
"de",
|
|
|
|
|
|
"es",
|
|
|
|
|
|
"fr",
|
|
|
|
|
|
"it",
|
|
|
|
|
|
"pl",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"ro",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
"ru",
|
2015-10-07 19:33:37 +00:00
|
|
|
|
"sk",
|
2015-04-22 22:58:29 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
2014-07-28 07:54:35 +00:00
|
|
|
|
// Local copy of 'local settings' initialized to Program.localSettings.
|
|
|
|
|
|
// Dialog modifies this copy and updates Program.localSettings just
|
|
|
|
|
|
// when 'OK' is pressed.
|
|
|
|
|
|
LocalSettings localSettings;
|
|
|
|
|
|
|
|
|
|
|
|
public PreferencesDlg()
|
|
|
|
|
|
{
|
2015-02-28 20:36:33 +00:00
|
|
|
|
Program.LocalSettings.Save();
|
|
|
|
|
|
localSettings = LocalSettings.Load(Program.LocalSettingsFileName);
|
|
|
|
|
|
if (localSettings == null) throw new Exception("Cannot load local settings");
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
|
|
|
|
// Initialize the list box with langauges
|
2015-04-22 22:58:29 +00:00
|
|
|
|
for (int i = 0; i < LanguageName.Length; i++)
|
2014-07-28 07:54:35 +00:00
|
|
|
|
{
|
2015-04-22 22:58:29 +00:00
|
|
|
|
languageListBox.Items.Add(LanguageName[i]);
|
|
|
|
|
|
if (localSettings.Language == LanguageCode[i])
|
|
|
|
|
|
{
|
|
|
|
|
|
languageListBox.Text = LanguageName[i];
|
|
|
|
|
|
}
|
2014-07-28 07:54:35 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2015-10-07 19:33:37 +00:00
|
|
|
|
private void PreferencesDlg_Load(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Text = Strings.Language;
|
|
|
|
|
|
okButton.Text = Strings.OkBtnText;
|
|
|
|
|
|
cancelButton.Text = Strings.CancelBtnText;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2014-07-28 07:54:35 +00:00
|
|
|
|
private void languageListBox_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
|
{
|
2015-04-22 22:58:29 +00:00
|
|
|
|
localSettings.Language = LanguageCode[languageListBox.SelectedIndex];
|
2014-07-28 07:54:35 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Update setting, return DialogResult.OK
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender">Not used</param>
|
|
|
|
|
|
/// <param name="e">Not used</param>
|
|
|
|
|
|
private void okButton_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
2015-04-22 22:58:29 +00:00
|
|
|
|
try
|
|
|
|
|
|
{
|
|
|
|
|
|
string culture = localSettings.Language.Replace('_', '-');
|
|
|
|
|
|
CultureInfo ci = new CultureInfo(culture);
|
|
|
|
|
|
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
|
|
|
|
|
|
|
|
|
|
|
|
localSettings.Save();
|
|
|
|
|
|
Program.LocalSettings = LocalSettings.Load(Program.LocalSettingsFileName);
|
|
|
|
|
|
|
|
|
|
|
|
DialogResult response = MessageBox.Show(Strings.Restart_To_Apply_Changes);
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
2015-04-22 22:58:29 +00:00
|
|
|
|
DialogResult = DialogResult.OK;
|
|
|
|
|
|
Close();
|
|
|
|
|
|
}
|
|
|
|
|
|
catch
|
|
|
|
|
|
{
|
|
|
|
|
|
MessageBox.Show("Selected language not supported.\nUsing English.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
|
|
|
|
|
localSettings.Language = "en";
|
|
|
|
|
|
System.Threading.Thread.CurrentThread.CurrentUICulture =
|
|
|
|
|
|
new System.Globalization.CultureInfo(localSettings.Language);
|
|
|
|
|
|
}
|
2014-07-28 07:54:35 +00:00
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Throw away changes, return DialogResult.Cancel
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender">Not used</param>
|
|
|
|
|
|
/// <param name="e">Not used</param>
|
|
|
|
|
|
private void cancelButton_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
DialogResult = DialogResult.Cancel;
|
|
|
|
|
|
Close();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|