/// /// Copyright (c) 2020 Sensus Slovensko a.s. /// using System; using System.Drawing; using System.Windows.Forms; using EventViewer.Resources; namespace EventViewer.Forms { public partial class SettingsDlg : Form { public SettingsDlg() { InitializeComponent(); Localize(); ManageCheckGroupBox(nonAnonymousAccessCheckBox, userGroupBox); } void Localize() { Text = Strings.Settings; eventsDBConnStringLabel.Text = Strings.Events_database; usersDBConnStringLabel.Text = Strings.Users_database; nonAnonymousAccessCheckBox.Text = Strings.Non_anonymous_access; userNameLabel.Text = Strings.User_name; recentTimeDaysLabel.Text = Strings.Recent_time_period_in_days; languageLabel.Text = Strings.Language; okButton.Text = Strings.OK; cancelButton.Text = Strings.Cancel; } private void SettingsDlg_Load(object sender, EventArgs e) { LocalSettings ls = Program.LocalSettings; eventsDBConnStringTextBox.Text = ls.ConnectionString; usersDBConnStringTextBox.Text = ls.UsersDBConnString; nonAnonymousAccessCheckBox.Checked = ls.NonAnonymousAccess; userNameTextBox.Text = ls.UserName; recentTimeDaysTextBox.Text = ls.RecentTimeDays.ToString(); languageTextBox.Text = ls.Language; } private void okButton_Click(object sender, EventArgs e) { int days; LocalSettings ls = Program.LocalSettings; ls.ConnectionString = eventsDBConnStringTextBox.Text; ls.UsersDBConnString = usersDBConnStringTextBox.Text; ls.NonAnonymousAccess = nonAnonymousAccessCheckBox.Checked; ls.UserName = userNameTextBox.Text; if (int.TryParse(recentTimeDaysTextBox.Text, out days) && days > 0) ls.RecentTimeDays = days; ls.Language = languageTextBox.Text; ls.Save(); DialogResult = DialogResult.OK; Close(); } private void cancelButton_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; Close(); } private void nonAnonymousAccessCheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(nonAnonymousAccessCheckBox, userGroupBox); } private void ManageCheckGroupBox(CheckBox chk, GroupBox grp) { /// Make sure the CheckBox isn't in the GroupBox. This will only happen the first time. if (chk.Parent == grp) { grp.Parent.Controls.Add(chk); /// Reparent the CheckBox so it's not in the GroupBox. chk.Location = new Point(chk.Left + grp.Left, chk.Top + grp.Top); /// Adjust the CheckBox's location. chk.BringToFront(); /// Move the CheckBox to the top of the stacking order. } /// Enable or disable the GroupBox. grp.Enabled = chk.Checked; } } }