86 lines
3.0 KiB
C#
86 lines
3.0 KiB
C#
|
|
///
|
|||
|
|
/// 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|