/trunk/WingMan/WingManForm.cs |
@@ -3,6 +3,7 @@ |
using System.Drawing; |
using System.Linq; |
using System.Net; |
using System.Threading.Tasks; |
using System.Windows.Forms; |
using Gma.System.MouseKeyHook; |
using WingMan.Communication; |
@@ -17,8 +18,10 @@ |
{ |
InitializeComponent(); |
|
MQTTCommunication = new MQTTCommunication(); |
FormTaskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); |
|
MQTTCommunication = new MQTTCommunication(FormTaskScheduler); |
|
MouseKeyBindings = new MouseKeyBindings(new List<MouseKeyBinding>()); |
|
HelmBindingSource = new BindingSource |
@@ -49,44 +52,42 @@ |
|
private void OnMouseKeyBindingsSynchronized(object sender, MouseKeyBindingsSynchronizedEventArgs e) |
{ |
this.Invoke((MethodInvoker) delegate |
foreach (var binding in e.ExchangeBindings) |
{ |
foreach (var binding in e.ExchangeBindings) |
{ |
ActivityTextBox.AppendText( |
$"{Strings.Synchronized_bindings_with_client} : {binding.Nick} : {binding.Names.Count}{Environment.NewLine}"); |
ActivityTextBox.AppendText( |
$"{Strings.Synchronized_bindings_with_client} : {binding.Nick} : {binding.Names.Count}{Environment.NewLine}"); |
|
|
var exchangeBindings = MouseKeyBindingsExchange.ExchangeBindings.FirstOrDefault(exchangeBinding => |
string.Equals(exchangeBinding.Nick, binding.Nick, StringComparison.Ordinal)); |
var exchangeBindings = MouseKeyBindingsExchange.ExchangeBindings.FirstOrDefault(exchangeBinding => |
string.Equals(exchangeBinding.Nick, binding.Nick, StringComparison.Ordinal)); |
|
// If the nick has not been registered add it. |
if (exchangeBindings == null) |
{ |
MouseKeyBindingsExchange.ExchangeBindings.Add(binding); |
continue; |
} |
// If the nick has not been registered add it. |
if (exchangeBindings == null) |
{ |
MouseKeyBindingsExchange.ExchangeBindings.Add(binding); |
continue; |
} |
|
// If the nick has been added, then update the binding names. |
exchangeBindings.Names = binding.Names; |
// If the nick has been added, then update the binding names. |
exchangeBindings.Names = binding.Names; |
|
// Update wing list box. |
var selectedExchangeBinding = (MouseKeyBindingExchange)WingBindingsComboBox.SelectedItem; |
if (selectedExchangeBinding == null || !string.Equals(selectedExchangeBinding.Nick, binding.Nick)) |
continue; |
// Update wing list box. |
var selectedExchangeBinding = (MouseKeyBindingExchange) WingBindingsComboBox.SelectedItem; |
if (selectedExchangeBinding == null || !string.Equals(selectedExchangeBinding.Nick, binding.Nick)) |
continue; |
|
WingBindingsListBox.Items.Clear(); |
WingBindingsListBox.DisplayMember = "Name"; |
WingBindingsListBox.ValueMember = "Name"; |
WingBindingsListBox.Items.AddRange(exchangeBindings.Names.Select(name => (object)name).ToArray()); |
WingBindingsListBox.Items.Clear(); |
WingBindingsListBox.DisplayMember = "Name"; |
WingBindingsListBox.ValueMember = "Name"; |
WingBindingsListBox.Items.AddRange(exchangeBindings.Names.Select(name => (object) name).ToArray()); |
|
} |
} |
|
WingBindingSource.ResetBindings(false); |
|
}); |
WingBindingSource.ResetBindings(false); |
} |
|
private static TaskScheduler FormTaskScheduler { get; set; } |
|
private static IKeyboardMouseEvents MouseKeyApplicationHook { get; set; } |
|
private List<string> MouseKeyCombo { get; set; } |
@@ -329,9 +330,9 @@ |
LobbySayTextBox.Text = string.Empty; |
} |
|
private void WingBindingsComboBoxIndexChanged(object sender, EventArgs e) |
private void WingBindingsComboBoxSelectionChangeCompleted(object sender, EventArgs e) |
{ |
var exchangeBinding = (MouseKeyBindingExchange) WingBindingsComboBox.SelectedItem; |
var exchangeBinding = (MouseKeyBindingExchange)WingBindingsComboBox.SelectedItem; |
if (exchangeBinding == null) |
return; |
|