private void deleteButton_Click(object sender, EventArgs e) { if (ConnectionsDAL.RemoveConnection(selectedConnection)) { selectedConnection = null; ReloadConnections(); ConnectionSelected?.Invoke(null); } }
private void connectionsListView_SelectedIndexChanged(object sender, EventArgs e) { var selectedItems = connectionsListView.SelectedItems; bool hasSelected = selectedItems.Count > 0; if (hasSelected) { string selectedConName = connectionsListView.SelectedItems[0].Text; selectedConnection = ConnectionsDAL.GetConnectionByName(selectedConName); ConnectionSelected?.Invoke(selectedConnection); } UpdateButtons(hasSelected); }
private void ReloadConnections() { IReadOnlyList <ConnectionInfo> connections = ConnectionsDAL.GetConnections(); connectionsListView.Clear(); if (connections.Count > 0) { foreach (ConnectionInfo conn in connections) { connectionsListView.Items.Add(conn.ConnectionName); } } else { connectionsListView.Items.Add("No saved connections"); } UpdateButtons(false); connectionsListView.Enabled = connections.Count > 0; }
private async void okTestButton_Click(object sender, EventArgs e) { if (isConnectionTested) { // add connection to file and close if (editingInfo != null) { if (nameInput.Text != editingInfo.ConnectionName && ConnectionsDAL.ConnectionExists(nameInput.Text)) { MessageBox.Show( $"A connection with the name \"{nameInput.Text}\" " + "already exists." + Environment.NewLine + "Please select another name.", "Connection rejected", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { ConnectionsDAL.EditConnection( editingInfo, nameInput.Text, ipInput.Text); } } else { ConnectionsDAL.TryAddConnection(new ConnectionInfo(nameInput.Text, ipInput.Text)); } DialogResult = DialogResult.OK; } else { string ipString = ipInput.Text; // test connection if (ipString.IsIPv4Format() && IPAddress.TryParse(ipString, out IPAddress ip)) { okTestButton.Enabled = false; cancelButton.Enabled = false; connectionResultLabel.Text = "Connecting..."; LSClient testClient = new LSClient(); if (await testClient.TryConnectAsync(ip, 1337)) { // connection successful testClient.Close(); isConnectionTested = true; okTestButton.Text = "OK"; connectionResultLabel.Text = "Connected!"; } else { connectionResultLabel.Text = "Connection failed"; } okTestButton.Enabled = true; cancelButton.Enabled = true; } else { // invalid IP connectionResultLabel.Text = "Invalid IP"; } } }