From 8832f60bf8efc0003902cc1cf1259e874b9e1be5 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Wed, 19 Mar 2025 22:57:37 -0400 Subject: [PATCH] add application icon; add Exit File menu item; --- DVMConsole/MainWindow.xaml | 4 +++- DVMConsole/MainWindow.xaml.cs | 14 ++++++++++++-- dvmconsole/Assets/AppIcon.ico | Bin 0 -> 4286 bytes dvmconsole/Assets/AppIcon.png | Bin 0 -> 2390 bytes 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 dvmconsole/Assets/AppIcon.ico create mode 100644 dvmconsole/Assets/AppIcon.png diff --git a/DVMConsole/MainWindow.xaml b/DVMConsole/MainWindow.xaml index 4a0daaf..b49b7d3 100644 --- a/DVMConsole/MainWindow.xaml +++ b/DVMConsole/MainWindow.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:dvmconsole.Controls" - Title="Digital Voice Modem - Desktop Dispatch Console" Height="600" Width="1000" Background="#FFF2F2F2"> + Title="Digital Voice Modem - Desktop Dispatch Console" Height="600" Width="1000" Background="#FFF2F2F2" Icon="/Assets/AppIcon.ico"> @@ -26,6 +26,8 @@ + + diff --git a/DVMConsole/MainWindow.xaml.cs b/DVMConsole/MainWindow.xaml.cs index 87189ba..bb2a1d7 100644 --- a/DVMConsole/MainWindow.xaml.cs +++ b/DVMConsole/MainWindow.xaml.cs @@ -1608,7 +1608,7 @@ namespace dvmconsole { channel.IsReceiving = true; slot.RxStart = pktTime; - Console.WriteLine($"({system.Name}) P25D: Traffic *CALL START * PEER {e.PeerId} SRC_ID {e.SrcId} TGID {e.DstId} [STREAM ID {e.StreamId}]"); + Trace.WriteLine($"({system.Name}) P25D: Traffic *CALL START * PEER {e.PeerId} SRC_ID {e.SrcId} TGID {e.DstId} [STREAM ID {e.StreamId}]"); FneUtils.Memset(channel.mi, 0x00, P25Defines.P25_MI_LENGTH); @@ -1639,7 +1639,7 @@ namespace dvmconsole { channel.IsReceiving = false; TimeSpan callDuration = pktTime - slot.RxStart; - Console.WriteLine($"({system.Name}) P25D: Traffic *CALL END * PEER {e.PeerId} SRC_ID {e.SrcId} TGID {e.DstId} DUR {callDuration} [STREAM ID {e.StreamId}]"); + Trace.WriteLine($"({system.Name}) P25D: Traffic *CALL END * PEER {e.PeerId} SRC_ID {e.SrcId} TGID {e.DstId} DUR {callDuration} [STREAM ID {e.StreamId}]"); channel.Background = ChannelBox.SELECTED_COLOR; callHistoryWindow.ChannelUnkeyed(cpgChannel.Name, (int)e.SrcId); return; @@ -1796,5 +1796,15 @@ namespace dvmconsole { callHistoryWindow.Show(); } + + /// + /// + /// + /// + /// + private void Exit_Click(object sender, RoutedEventArgs e) + { + Application.Current.Shutdown(); + } } // public partial class MainWindow : Window } // namespace dvmconsole diff --git a/dvmconsole/Assets/AppIcon.ico b/dvmconsole/Assets/AppIcon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e672c02ee2fbd751bdedf82cbb445233b8e79b97 GIT binary patch literal 4286 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