mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-20 11:44:59 +00:00
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using Avalonia.Controls;
|
|
|
|
namespace SourceGit.Views
|
|
{
|
|
public partial class ViewLogs : ChromelessWindow
|
|
{
|
|
public ViewLogs()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void OnLogContextRequested(object sender, ContextRequestedEventArgs e)
|
|
{
|
|
if (sender is not Grid { DataContext: ViewModels.CommandLog log } grid || DataContext is not ViewModels.ViewLogs vm)
|
|
return;
|
|
|
|
var copy = new MenuItem();
|
|
copy.Header = App.Text("ViewLogs.CopyLog");
|
|
copy.Icon = App.CreateMenuIcon("Icons.Copy");
|
|
copy.Click += (_, ev) =>
|
|
{
|
|
App.CopyText(log.Content);
|
|
ev.Handled = true;
|
|
};
|
|
|
|
var rm = new MenuItem();
|
|
rm.Header = App.Text("ViewLogs.Delete");
|
|
rm.Icon = App.CreateMenuIcon("Icons.Clear");
|
|
rm.Click += (_, ev) =>
|
|
{
|
|
vm.Logs.Remove(log);
|
|
ev.Handled = true;
|
|
};
|
|
|
|
var menu = new ContextMenu();
|
|
menu.Items.Add(copy);
|
|
menu.Items.Add(rm);
|
|
menu.Open(grid);
|
|
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
}
|