HamBook – Diff between revs 49 and 51

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 49 Rev 51
Line 1... Line 1...
1 using Configuration; 1 using Configuration;
2 using HamBook.Properties; 2 using HamBook.Properties;
3 using HamBook.Radios; 3 using HamBook.Radios;
4 using HamBook.Radios.Generic; 4 using HamBook.Radios.Generic;
-   5 using HamBook.Utilities;
-   6 using HamBook.Utilities.Controls;
5 using HamBook.Utilities.Serialization; 7 using HamBook.Utilities.Serialization;
6 using Serilog; 8 using Serilog;
7 using System; 9 using System;
8 using System.Collections.Concurrent; 10 using System.Collections.Concurrent;
9 using System.Collections.Generic; 11 using System.Collections.Generic;
10 using System.ComponentModel; 12 using System.ComponentModel;
11 using System.Data; 13 using System.Data;
12 using System.Linq; 14 using System.Linq;
-   15 using System.Media;
-   16 using System.Reflection;
-   17 using System.Runtime.Remoting.Channels;
13 using System.Threading; 18 using System.Threading;
14 using System.Threading.Tasks; 19 using System.Threading.Tasks;
15 using System.Windows.Forms; 20 using System.Windows.Forms;
16 using MemoryChannel = HamBook.Radios.Generic.MemoryChannel; 21 using MemoryChannel = HamBook.Radios.Generic.MemoryChannel;
Line 196... Line 201...
196 ); 201 );
197 dataGridView1.Columns.Add(clarifierDropDownColumn); 202 dataGridView1.Columns.Add(clarifierDropDownColumn);
198 dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { Name = "ClarifierOffsetColumn", HeaderText = "Offset" }); 203 dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { Name = "ClarifierOffsetColumn", HeaderText = "Offset" });
199 dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn() { Name = "ClarColumn", HeaderText = "Clar" }); 204 dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn() { Name = "ClarColumn", HeaderText = "Clar" });
200 var modeComboBoxColumn = new DataGridViewComboBoxColumn() { Name = "ModeColumn", HeaderText = "Mode" }; 205 var modeComboBoxColumn = new DataGridViewComboBoxColumn() { Name = "ModeColumn", HeaderText = "Mode" };
201 modeComboBoxColumn.Items.AddRange( 206 foreach (var name in Radios.Yaesu.FT_891.MemoryRadioMode.Names)
202 "SSB_1", -  
203 "SSB_2", -  
204 "CW_1", -  
205 "FM", -  
206 "AM", 207 {
207 "RTTY_1", -  
208 "CW_2", 208 modeComboBoxColumn.Items.Add(
209 "DATA_1", -  
210 "RTTY_2", -  
211 "FM-N", 209 name
212 "DATA_2", -  
213 "AM-N" 210 );
214 ); 211 }
-   212
215 dataGridView1.Columns.Add(modeComboBoxColumn); 213 dataGridView1.Columns.Add(modeComboBoxColumn);
216 var ctcssComboBoxColumn = new DataGridViewComboBoxColumn() { Name = "CtcssColumn", HeaderText = "CTCSS" }; 214 var ctcssComboBoxColumn = new DataGridViewComboBoxColumn() { Name = "CtcssColumn", HeaderText = "CTCSS" };
217 ctcssComboBoxColumn.Items.AddRange( 215 ctcssComboBoxColumn.Items.AddRange(
218 "Off", 216 "Off",
219 "Enc/Dec", 217 "Enc/Dec",
Line 379... Line 377...
379 private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) 377 private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
380 { 378 {
381 // @(-.-)@ -(o.o)- @(o_o)@ 379 // @(-.-)@ -(o.o)- @(o_o)@
382 } 380 }
Line 383... Line 381...
383   381  
384 private static List<DataGridViewRow> GetSelectedDataGridViewRows(DataGridView dataGridView) 382 private static IEnumerable<DataGridViewRow> GetSelectedDataGridViewRows(DataGridView dataGridView)
385 { 383 {
386 return dataGridView.SelectedRows.OfType<DataGridViewRow>().OrderBy(row => row.Index).ToList(); 384 return dataGridView.SelectedRows.OfType<DataGridViewRow>().OrderBy(row => row.Index);
Line 387... Line 385...
387 } 385 }
388   386  
389 private async Task ReadMemoryBanks(IReadOnlyList<DataGridViewRow> rows, IProgress<DataGridViewRowProgress> progress, 387 private async Task ReadMemoryBanks(IReadOnlyList<DataGridViewRow> rows, IProgress<DataGridViewRowProgress> progress,
Line 601... Line 599...
601   599  
602 private async void readToolStripMenuItem_Click(object sender, EventArgs e) 600 private async void readToolStripMenuItem_Click(object sender, EventArgs e)
603 { 601 {
Line -... Line 602...
-   602 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   603  
-   604 if(!rows.Any())
-   605 {
-   606 return;
-   607 }
-   608  
604 var rows = GetSelectedDataGridViewRows(dataGridView1); 609 var list = rows.ToList();
Line 605... Line 610...
605   610  
606 var count = rows.Count; 611 var count = list.Count;
Line 607... Line 612...
607   612  
Line 647... Line 652...
647 { 652 {
648 Log.Error(exception, Resources.Unexpected_error_while_reading_memory_bank); 653 Log.Error(exception, Resources.Unexpected_error_while_reading_memory_bank);
649 } 654 }
650 }); 655 });
Line 651... Line 656...
651   656  
Line 652... Line 657...
652 await Task.Run(() => ReadMemoryBanks(rows, progress, _cancellationToken), _cancellationToken); 657 await Task.Run(() => ReadMemoryBanks(list, progress, _cancellationToken), _cancellationToken);
653   658  
654 if (!_cancellationToken.IsCancellationRequested) 659 if (!_cancellationToken.IsCancellationRequested)
655 { 660 {
Line 659... Line 664...
659 } 664 }
Line 660... Line 665...
660   665  
661 private async void writeToolStripMenuItem_Click(object sender, EventArgs e) 666 private async void writeToolStripMenuItem_Click(object sender, EventArgs e)
662 { 667 {
-   668 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   669  
-   670 if (!rows.Any())
-   671 {
-   672 return;
-   673 }
-   674  
-   675 var list = rows.ToList();
663 var rows = GetSelectedDataGridViewRows(dataGridView1); 676  
Line 664... Line 677...
664 var count = rows.Count; 677 var count = list.Count;
665   678  
Line 666... Line 679...
666 toolStripProgressBar1.Minimum = 0; 679 toolStripProgressBar1.Minimum = 0;
Line 702... Line 715...
702 Log.Error(exception, Resources.Unexpected_error_while_writing_memory_bank); 715 Log.Error(exception, Resources.Unexpected_error_while_writing_memory_bank);
703 } 716 }
Line 704... Line 717...
704   717  
Line 705... Line 718...
705 }); 718 });
Line 706... Line 719...
706   719  
707 await Task.Run(() => WriteMemoryBanks(rows, progress, _cancellationToken), _cancellationToken); 720 await Task.Run(() => WriteMemoryBanks(list, progress, _cancellationToken), _cancellationToken);
708   721  
709 if (!_cancellationToken.IsCancellationRequested) 722 if (!_cancellationToken.IsCancellationRequested)
710 { 723 {
711 toolStripProgressBar1.Value = toolStripProgressBar1.Maximum; 724 toolStripProgressBar1.Value = toolStripProgressBar1.Maximum;
-   725 toolStripStatusLabel1.Text = "Done.";
-   726 }
-   727 }
-   728  
-   729 private async void readFromVFOAToolStripMenuItem_Click(object sender, EventArgs e)
-   730 {
-   731 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   732  
-   733 if (!rows.Any())
-   734 {
-   735 return;
-   736 }
-   737  
-   738 var list = rows.ToList();
-   739  
-   740 try
-   741 {
-   742 foreach (var row in list)
-   743 {
-   744 var fa = await _catAssemblies.CatReadAsync<int>("FA", new object[] { }, _cancellationToken);
-   745  
-   746 row.Cells["FrequencyColumn"].Value = $"{ fa }";
-   747 }
-   748  
-   749 }
-   750 catch (Exception exception)
-   751 {
-   752 Log.Error(exception, Resources.Failed_to_read_VFO_A);
-   753 }
-   754 }
-   755  
-   756 private async void readFromVFOBToolStripMenuItem_Click(object sender, EventArgs e)
-   757 {
-   758 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   759  
-   760 if (!rows.Any())
-   761 {
-   762 return;
-   763 }
-   764  
-   765 var list = rows.ToList();
-   766  
-   767 try
-   768 {
-   769 foreach (var row in list)
-   770 {
-   771 var fb = await _catAssemblies.CatReadAsync<int>("FB", new object[] { }, _cancellationToken);
-   772  
-   773 row.Cells["FrequencyColumn"].Value = $"{fb}";
-   774 }
-   775  
-   776 }
-   777 catch (Exception exception)
-   778 {
-   779 Log.Error(exception, Resources.Failed_to_read_VFO_B);
-   780 }
-   781 }
-   782  
-   783 private async void memoryChannelToolStripMenuItem_Click(object sender, EventArgs e)
-   784 {
-   785 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   786  
-   787 if (!rows.Any())
-   788 {
-   789 return;
-   790 }
-   791  
-   792 var row = rows.First();
-   793  
-   794 try
-   795 {
-   796 using (var soundPlayer = new SoundPlayer(Assembly.GetExecutingAssembly().GetManifestResourceStream("HamBook.Effects.pot.wav")))
-   797 {
-   798 await _catAssemblies.CatWriteAsync<string>("MC", new object[] { row.Cells["LocationColumn"].Value }, _cancellationToken);
-   799  
-   800 soundPlayer.Play();
-   801 }
-   802 }
-   803 catch (Exception exception)
-   804 {
-   805 Log.Error(exception, Resources.Failed_to_set_memory_channel);
-   806 }
-   807 }
-   808  
-   809 private async void frequencyToolStripMenuItem_Click(object sender, EventArgs e)
-   810 {
-   811 var rows = GetSelectedDataGridViewRows(dataGridView1);
-   812  
-   813 if (!rows.Any())
-   814 {
-   815 return;
-   816 }
-   817  
-   818 var row = rows.First();
-   819  
-   820 try
-   821 {
-   822 using (var soundPlayer = new SoundPlayer(Assembly.GetExecutingAssembly().GetManifestResourceStream("HamBook.Effects.pot.wav")))
-   823 {
-   824 if (await _catAssemblies.CatSetAsync<int, bool>("FA", new object[] { row.Cells["FrequencyColumn"].Value }, _cancellationToken))
-   825 {
-   826 if (Configuration.Navigation.MouseScrollSound)
-   827 {
-   828 soundPlayer.Play();
-   829 }
-   830 }
-   831 }
-   832 }
-   833 catch (Exception exception)
-   834 {
-   835 Log.Error(exception, Resources.Failed_to_set_VFO_A_frequency);
-   836 }
-   837 }
-   838  
-   839 private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
-   840 {
-   841 var dataGridView = (DataGridView)sender;
-   842  
-   843 var hitTest = dataGridView.HitTest(e.X, e.Y);
-   844  
-   845 switch (e.Button)
-   846 {
-   847 case MouseButtons.Right:
-   848 if(GetSelectedDataGridViewRows(dataGridView).Count() > 1)
-   849 {
-   850 return;
-   851 }
-   852  
-   853 dataGridView.ClearSelection();
-   854 dataGridView.Rows[hitTest.RowIndex].Selected = true;
712 toolStripStatusLabel1.Text = "Done."; 855 break;
713 } 856 }