add context menu for password store entries

This commit is contained in:
2026-02-27 21:35:20 +03:00
parent 2045f72fca
commit d3f6536228
2 changed files with 28 additions and 1 deletions

View File

@@ -82,6 +82,13 @@
Foreground="#666"
HorizontalAlignment="Center" />
</StackPanel>
<Border.ContextMenu>
<ContextMenu>
<MenuItem Name="entryCtxMenuCopyUsername" Header="Copy username" Click="EntryContextMenuItem_Click"/>
<MenuItem Name="entryCtxMenuCopyPassword" Header="Copy password" Click="EntryContextMenuItem_Click"/>
<MenuItem Name="entryCtxMenuDelete" Header="Delete" Click="EntryContextMenuItem_Click"/>
</ContextMenu>
</Border.ContextMenu>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>

View File

@@ -1,5 +1,4 @@
using System;
using System.Threading.Tasks;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
@@ -54,4 +53,25 @@ public partial class RepositoryWindow: Window
Clipboard!.SetTextAsync(pwd.Password.Value);
}
}
private void EntryContextMenuItem_Click(object sender, RoutedEventArgs args) {
if (args.Source is StyledElement s)
{
if (s.DataContext is PassStoreEntryPassword pwd)
{
if (s.Name == "entryCtxMenuCopyUsername")
{
Clipboard!.SetTextAsync(pwd.Username.Value);
}
else if (s.Name == "entryCtxMenuCopyPassword")
{
Clipboard!.SetTextAsync(pwd.Password.Value);
}
else if (s.Name == "entryCtxMenuDelete")
{
Console.WriteLine("DELETE");
}
}
}
}
}