using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using TBF.Resources; namespace TBF { /// /// Provides login dialog that includes test bench selection. /// It is used only once on program startup. Does not do authorisation /// as User.users have not been loadded from the DB yet. /// public partial class LoginDlgWithBenchSelection : Form { // Private fields string user; string password; string benchName = null; // Readonly public properties to do the authorization. public string User { get { return user; } } public string Password { get { return password; } } public string BenchName { get { return benchName; } } /// /// Constructor. /// public LoginDlgWithBenchSelection() { InitializeComponent(); } /// /// Constructor with a predefined bench. /// public LoginDlgWithBenchSelection(string predefinedBench) : this() { benchName = predefinedBench; } private void LoginDlgWithBenchSelection_Load(object sender, EventArgs e) { #if DEBUG userNameTextBox.Text = Program.AdminUsername; passwordTextBox.Text = Program.AdminPassword; #endif for (int i = 0; i < Program.LocalSettings.BenchesCount; i++) { testBenchComboBox.Items.Add(Program.LocalSettings.TestBenches[i].BenchName); if (benchName != null && benchName == Program.LocalSettings.TestBenches[i].BenchName) { testBenchComboBox.Text = benchName; } } } /// /// OK clicked (authorization is done outside this dialog). /// private void okButton_Click(object sender, EventArgs e) { if (testBenchComboBox.SelectedItem != null) { user = userNameTextBox.Text; password = passwordTextBox.Text; benchName = testBenchComboBox.SelectedItem.ToString(); DialogResult = DialogResult.OK; Close(); return; } else { MessageBox.Show(Strings.PLs_select_testbench, Strings.Warning, MessageBoxButtons.OK); } } /// /// Cancel clicked. /// private void cancelButton_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; Close(); return; } private void passwordTextBox_TextChanged(object sender, EventArgs e) { if (passwordTextBox.Text != "") { this.AcceptButton = okButton; } } private void userNameTextBox_KeyPress(object sender, KeyPressEventArgs e) { if (Convert.ToInt32(e.KeyChar) == 13) { passwordTextBox.Focus(); } } } }