WingMan – Diff between revs 23 and 24
?pathlinks?
Rev 23 | Rev 24 | |||
---|---|---|---|---|
Line 1... | Line 1... | |||
1 | using System; |
1 | using System; |
|
2 | using System.Collections.Generic; |
2 | using System.Collections.Generic; |
|
3 | using System.Collections.ObjectModel; |
3 | using System.Collections.ObjectModel; |
|
- | 4 | using System.ComponentModel; |
||
4 | using System.Drawing; |
5 | using System.Drawing; |
|
5 | using System.IO; |
6 | using System.IO; |
|
6 | using System.Linq; |
7 | using System.Linq; |
|
7 | using System.Net; |
8 | using System.Net; |
|
8 | using System.Threading; |
9 | using System.Threading; |
|
Line 50... | Line 51... | |||
50 | MqttCommunication.OnServerClientDisconnected += OnMqttServerClientDisconnected; |
51 | MqttCommunication.OnServerClientDisconnected += OnMqttServerClientDisconnected; |
|
Line 51... | Line 52... | |||
51 | |
52 | |
|
52 | LocalKeyBindings = new LocalKeyBindings(new List<KeyBinding>()); |
53 | LocalKeyBindings = new LocalKeyBindings(new List<KeyBinding>()); |
|
Line 53... | Line 54... | |||
53 | RemoteKeyBindings = new RemoteKeyBindings(new ObservableCollection<RemoteKeyBinding>()); |
54 | RemoteKeyBindings = new RemoteKeyBindings(new ObservableCollection<RemoteKeyBinding>()); |
|
54 | |
55 | |
|
55 | LocalListBoxBindingSource = new BindingSource |
56 | LocalCheckedListBoxBindingSource = new BindingSource |
|
56 | { |
57 | { |
|
- | 58 | DataSource = LocalKeyBindings.Bindings |
||
57 | DataSource = LocalKeyBindings.Bindings |
59 | }; |
|
58 | }; |
60 | LocalCheckedListBoxBindingSource.ListChanged += LocalCheckedListBoxBindingSourceOnListChanged; |
|
59 | LocalBindingsListBox.DisplayMember = "DisplayName"; |
61 | LocalBindingsCheckedListBox.DisplayMember = "DisplayName"; |
|
Line 60... | Line 62... | |||
60 | LocalBindingsListBox.ValueMember = "Keys"; |
62 | LocalBindingsCheckedListBox.ValueMember = "Keys"; |
|
61 | LocalBindingsListBox.DataSource = LocalListBoxBindingSource; |
63 | LocalBindingsCheckedListBox.DataSource = LocalCheckedListBoxBindingSource; |
|
62 | |
64 | |
|
63 | KeyBindingsExchange = new KeyBindingsExchange |
65 | KeyBindingsExchange = new KeyBindingsExchange |
|
Line 105... | Line 107... | |||
105 | |
107 | |
|
Line 106... | Line 108... | |||
106 | private LocalKeyBindings LocalKeyBindings { get; } |
108 | private LocalKeyBindings LocalKeyBindings { get; } |
|
Line 107... | Line 109... | |||
107 | |
109 | |
|
Line 108... | Line 110... | |||
108 | private RemoteKeyBindings RemoteKeyBindings { get; } |
110 | private RemoteKeyBindings RemoteKeyBindings { get; } |
|
Line 109... | Line 111... | |||
109 | |
111 | |
|
Line 121... | Line 123... | |||
121 | |
123 | |
|
Line 122... | Line 124... | |||
122 | public KeyInterceptor KeyInterceptor { get; set; } |
124 | public KeyInterceptor KeyInterceptor { get; set; } |
|
Line -... | Line 125... | |||
- | 125 | |
||
- | 126 | public KeySimulator KeySimulator { get; set; } |
||
- | 127 | |
||
- | 128 | private void LocalCheckedListBoxBindingSourceOnListChanged(object sender, ListChangedEventArgs e) |
||
- | 129 | { |
||
- | 130 | // Check items |
||
- | 131 | LocalBindingsCheckedListBox.ItemCheck -= LocalBindingsCheckedListBoxItemCheck; |
||
- | 132 | |
||
- | 133 | for (var i = 0; i < LocalKeyBindings.Bindings.Count; ++i) |
||
- | 134 | switch (LocalKeyBindings.Bindings[i].Enabled) |
||
- | 135 | { |
||
- | 136 | case true: |
||
- | 137 | LocalBindingsCheckedListBox.SetItemCheckState(i, CheckState.Checked); |
||
- | 138 | break; |
||
- | 139 | default: |
||
- | 140 | LocalBindingsCheckedListBox.SetItemCheckState(i, CheckState.Unchecked); |
||
- | 141 | break; |
||
- | 142 | } |
||
- | 143 | |
||
123 | |
144 | LocalBindingsCheckedListBox.ItemCheck += LocalBindingsCheckedListBoxItemCheck; |
|
124 | public KeySimulator KeySimulator { get; set; } |
145 | } |
|
125 | |
146 | |
|
126 | private void AutoCompletionOnLoadFailed(object sender, AutoCompletionFailedEventArgs args) |
147 | private void AutoCompletionOnLoadFailed(object sender, AutoCompletionFailedEventArgs args) |
|
127 | { |
148 | { |
|
Line 480... | Line 501... | |||
480 | // Only unique names allowed. |
501 | // Only unique names allowed. |
|
481 | if (LocalKeyBindings.Bindings.Any(binding => |
502 | if (LocalKeyBindings.Bindings.Any(binding => |
|
482 | string.Equals(binding.Name, LocalNameTextBox.Text, StringComparison.Ordinal))) |
503 | string.Equals(binding.Name, LocalNameTextBox.Text, StringComparison.Ordinal))) |
|
483 | { |
504 | { |
|
484 | LocalNameTextBox.BackColor = Color.LightPink; |
505 | LocalNameTextBox.BackColor = Color.LightPink; |
|
485 | LocalBindingsListBox.BackColor = Color.LightPink; |
506 | LocalBindingsCheckedListBox.BackColor = Color.LightPink; |
|
486 | return; |
507 | return; |
|
487 | } |
508 | } |
|
Line 488... | Line 509... | |||
488 | |
509 | |
|
489 | LocalNameTextBox.BackColor = Color.Empty; |
510 | LocalNameTextBox.BackColor = Color.Empty; |
|
Line 490... | Line 511... | |||
490 | LocalBindingsListBox.BackColor = Color.Empty; |
511 | LocalBindingsCheckedListBox.BackColor = Color.Empty; |
|
Line 491... | Line 512... | |||
491 | |
512 | |
|
Line 507... | Line 528... | |||
507 | |
528 | |
|
508 | private async void LocalMouseKeyHookOnKeyUp(object sender, KeyEventArgs e) |
529 | private async void LocalMouseKeyHookOnKeyUp(object sender, KeyEventArgs e) |
|
509 | { |
530 | { |
|
Line 510... | Line 531... | |||
510 | LocalKeyBindings.Bindings.Add(new KeyBinding(LocalNameTextBox.Text, MouseKeyCombo)); |
531 | LocalKeyBindings.Bindings.Add(new KeyBinding(LocalNameTextBox.Text, MouseKeyCombo)); |
|
Line 511... | Line 532... | |||
511 | |
532 | |
|
512 | LocalListBoxBindingSource.ResetBindings(false); |
533 | LocalCheckedListBoxBindingSource.ResetBindings(false); |
|
Line 513... | Line 534... | |||
513 | |
534 | |
|
Line 543... | Line 564... | |||
543 | LocalNameTextBox.BackColor = Color.Empty; |
564 | LocalNameTextBox.BackColor = Color.Empty; |
|
544 | } |
565 | } |
|
Line 545... | Line 566... | |||
545 | |
566 | |
|
546 | private async void LocalBindingsRemoveButtonClick(object sender, EventArgs e) |
567 | private async void LocalBindingsRemoveButtonClick(object sender, EventArgs e) |
|
547 | { |
568 | { |
|
548 | var helmBinding = (KeyBinding) LocalBindingsListBox.SelectedItem; |
569 | var helmBinding = (KeyBinding) LocalBindingsCheckedListBox.SelectedItem; |
|
549 | if (helmBinding == null) |
570 | if (helmBinding == null) |
|
Line 550... | Line 571... | |||
550 | return; |
571 | return; |
|
551 | |
572 | |
|
Line 552... | Line 573... | |||
552 | LocalKeyBindings.Bindings.Remove(helmBinding); |
573 | LocalKeyBindings.Bindings.Remove(helmBinding); |
|
553 | LocalListBoxBindingSource.ResetBindings(false); |
574 | LocalCheckedListBoxBindingSource.ResetBindings(false); |
|
Line 554... | Line 575... | |||
554 | |
575 | |
|
Line 676... | Line 697... | |||
676 | Show(); |
697 | Show(); |
|
677 | WindowState = FormWindowState.Normal; |
698 | WindowState = FormWindowState.Normal; |
|
678 | notifyIcon1.Visible = false; |
699 | notifyIcon1.Visible = false; |
|
679 | } |
700 | } |
|
Line -... | Line 701... | |||
- | 701 | |
||
- | 702 | private async void LocalBindingsCheckedListBoxItemCheck(object sender, ItemCheckEventArgs e) |
||
- | 703 | { |
||
- | 704 | var helmBinding = (KeyBinding) LocalBindingsCheckedListBox.Items[e.Index]; |
||
- | 705 | if (helmBinding == null) |
||
- | 706 | return; |
||
- | 707 | |
||
- | 708 | switch (e.NewValue) |
||
- | 709 | { |
||
- | 710 | case CheckState.Checked: |
||
- | 711 | helmBinding.Enabled = true; |
||
- | 712 | break; |
||
- | 713 | case CheckState.Unchecked: |
||
- | 714 | helmBinding.Enabled = false; |
||
- | 715 | break; |
||
- | 716 | } |
||
- | 717 | |
||
- | 718 | await SaveLocalMouseKeyBindings(); |
||
- | 719 | } |
||
680 | |
720 | |
|
Line 681... | Line 721... | |||
681 | #region Saving and loading |
721 | #region Saving and loading |
|
682 | |
722 | |
|
683 | private async Task SaveLocalMouseKeyBindings() |
723 | private async Task SaveLocalMouseKeyBindings() |
|
Line 719... | Line 759... | |||
719 | (LocalKeyBindings) LocalKeyBindings.XmlSerializer.Deserialize(memoryStream); |
759 | (LocalKeyBindings) LocalKeyBindings.XmlSerializer.Deserialize(memoryStream); |
|
Line 720... | Line 760... | |||
720 | |
760 | |
|
721 | foreach (var binding in loadedBindings.Bindings) |
761 | foreach (var binding in loadedBindings.Bindings) |
|
Line -... | Line 762... | |||
- | 762 | LocalKeyBindings.Bindings.Add(binding); |
||
722 | LocalKeyBindings.Bindings.Add(binding); |
763 | |
|
723 | |
764 | |
|
724 | LocalListBoxBindingSource.ResetBindings(false); |
765 | LocalCheckedListBoxBindingSource.ResetBindings(false); |
|
725 | } |
766 | } |
|
726 | } |
767 | } |
|
727 | } |
768 | } |