WingMan

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 20  →  ?path2? @ 21
/trunk/WingMan/WingManForm.cs
@@ -112,6 +112,7 @@
 
public KeySimulator KeySimulator { get; set; }
 
/// <inheritdoc />
/// <summary>
/// Clean up any resources being used.
/// </summary>
@@ -243,7 +244,8 @@
replaceMouseBindings.Add(remoteBinding);
}
 
RemoteKeyBindings.Bindings = replaceMouseBindings;
RemoteKeyBindings.Bindings.Clear();
foreach (var binding in replaceMouseBindings) RemoteKeyBindings.Bindings.Add(binding);
 
RemoteBindingsListBox.Items.Clear();
RemoteBindingsListBox.DisplayMember = "Name";
@@ -287,7 +289,7 @@
return;
}
 
if (!ValidateAddressPort(out var ipAddress, out var port, out var nick, out var password))
if (!ValidateConnectionParameters(out var ipAddress, out var port, out var nick, out var password))
return;
 
// Start the MQTT server.
@@ -309,7 +311,11 @@
Password.Enabled = false;
}
 
private bool ValidateAddressPort(out IPAddress address, out int port, out string nick, out string password)
private bool ValidateConnectionParameters(
out IPAddress address,
out int port,
out string nick,
out string password)
{
address = IPAddress.Any;
port = 0;
@@ -329,11 +335,19 @@
}
 
if (!IPAddress.TryParse(Address.Text, out address))
{
Address.BackColor = Color.LightPink;
return false;
}
try
{
address = Dns.GetHostAddresses(Address.Text).FirstOrDefault();
}
catch (Exception ex)
{
ActivityTextBox.AppendText(
$"{Strings.Could_not_resolve_hostname} : {ex.Message}{Environment.NewLine}");
 
Address.BackColor = Color.LightPink;
return false;
}
 
if (!uint.TryParse(Port.Text, out var uPort))
{
Port.BackColor = Color.LightPink;
@@ -382,7 +396,7 @@
return;
}
 
if (!ValidateAddressPort(out var ipAddress, out var port, out var nick, out var password))
if (!ValidateConnectionParameters(out var ipAddress, out var port, out var nick, out var password))
return;
 
if (!await MqttCommunication
@@ -533,8 +547,8 @@
MouseKeyCombo = new List<string>();
 
MouseKeyApplicationHook = Hook.GlobalEvents();
MouseKeyApplicationHook.KeyUp += RemoteMouseKeyHookOnKeyUp;
MouseKeyApplicationHook.KeyDown += RemoteMouseKeyHookOnKeyDown;
MouseKeyApplicationHook.KeyUp += RemoteKeyHookOnKeyUp;
MouseKeyApplicationHook.KeyDown += RemoteKeyHookOnKeyDown;
}
 
private void RemoteBindingsUnbindButtonClicked(object sender, EventArgs e)
@@ -558,22 +572,23 @@
RemoteBindingsBindToBox.Text = string.Empty;
}
 
private void RemoteMouseKeyHookOnKeyDown(object sender, KeyEventArgs e)
private void RemoteKeyHookOnKeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
 
KeyConversion.KeysToString.TryGetValue((byte) e.KeyCode, out var key);
if (!KeyConversion.KeysToString.TryGetValue((byte) e.KeyCode, out var key))
return;
 
MouseKeyCombo.Add(key);
}
 
private async void RemoteMouseKeyHookOnKeyUp(object sender, KeyEventArgs e)
private async void RemoteKeyHookOnKeyUp(object sender, KeyEventArgs e)
{
RemoteKeyBindings.Bindings.Add(new RemoteKeyBinding(RemoteBindingsComboBox.Text,
(string) RemoteBindingsListBox.SelectedItem, MouseKeyCombo));
 
MouseKeyApplicationHook.KeyDown -= RemoteMouseKeyHookOnKeyDown;
MouseKeyApplicationHook.KeyUp -= RemoteMouseKeyHookOnKeyUp;
MouseKeyApplicationHook.KeyDown -= RemoteKeyHookOnKeyDown;
MouseKeyApplicationHook.KeyUp -= RemoteKeyHookOnKeyUp;
 
MouseKeyApplicationHook.Dispose();
 
@@ -645,7 +660,8 @@
var loadedBindings =
(LocalKeyBindings) LocalKeyBindings.XmlSerializer.Deserialize(memoryStream);
 
foreach (var binding in loadedBindings.Bindings) LocalKeyBindings.Bindings.Add(binding);
foreach (var binding in loadedBindings.Bindings)
LocalKeyBindings.Bindings.Add(binding);
 
LocalListBoxBindingSource.ResetBindings(false);
}
@@ -696,7 +712,8 @@
var loadedBindings =
(RemoteKeyBindings) RemoteKeyBindings.XmlSerializer.Deserialize(memoryStream);
 
foreach (var binding in loadedBindings.Bindings) RemoteKeyBindings.Bindings.Add(binding);
foreach (var binding in loadedBindings.Bindings)
RemoteKeyBindings.Bindings.Add(binding);
}
}
}