diff --git a/FastGithub.UI/LogListBox.xaml b/FastGithub.UI/LogListBox.xaml index 7f10abc..9a241c7 100644 --- a/FastGithub.UI/LogListBox.xaml +++ b/FastGithub.UI/LogListBox.xaml @@ -8,6 +8,7 @@ d:DesignHeight="450" d:DesignWidth="800"> - + + + + + + + diff --git a/FastGithub.UI/LogListBox.xaml.cs b/FastGithub.UI/LogListBox.xaml.cs index 7e0b51c..8835fb8 100644 --- a/FastGithub.UI/LogListBox.xaml.cs +++ b/FastGithub.UI/LogListBox.xaml.cs @@ -41,5 +41,18 @@ namespace FastGithub.UI this.Dispatcher.Invoke(() => this.LogList.Add(log)); this.BeginReceiveFrom(); } + + private void MenuItem_Copy_Click(object sender, System.Windows.RoutedEventArgs e) + { + if (this.listBox.SelectedValue is UdpLog udpLog) + { + udpLog.SetToClipboard(); + } + } + + private void MenuItem_Clear_Click(object sender, System.Windows.RoutedEventArgs e) + { + this.LogList.Clear(); + } } } diff --git a/FastGithub.UI/UdpLog.cs b/FastGithub.UI/UdpLog.cs index 34d7e0d..5fa54fe 100644 --- a/FastGithub.UI/UdpLog.cs +++ b/FastGithub.UI/UdpLog.cs @@ -1,4 +1,5 @@ using System; +using System.Windows; using System.Windows.Media; namespace FastGithub.UI @@ -14,5 +15,10 @@ namespace FastGithub.UI public string SourceContext { get; set; } public string Color => this.Level == "Information" ? "#333" : "IndianRed"; - } + + public void SetToClipboard() + { + Clipboard.SetText($"{this.Timestamp.ToString("yyyy-MM-dd HH:mm:ss.fff")}\r\n{this.SourceContext}\r\n{this.Message}"); + } + } }