2025-11-23 20:56:57 +01:00
|
|
|
using System.Security.Cryptography.X509Certificates;
|
2025-11-16 00:23:23 +01:00
|
|
|
using Microsoft.UI.Xaml.Controls;
|
|
|
|
|
using Wino.Core.Domain.Entities.Mail;
|
2025-11-15 14:52:01 +01:00
|
|
|
using Wino.Views.Abstract;
|
2025-09-29 11:16:14 +02:00
|
|
|
|
|
|
|
|
namespace Wino.Views.Settings;
|
|
|
|
|
|
|
|
|
|
public sealed partial class AliasManagementPage : AliasManagementPageAbstract
|
|
|
|
|
{
|
|
|
|
|
public AliasManagementPage()
|
|
|
|
|
{
|
2025-11-16 00:23:23 +01:00
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetAliasPrimary_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (sender is RadioButton button && button.CommandParameter is MailAccountAlias alias)
|
|
|
|
|
{
|
|
|
|
|
ViewModel.SetAliasPrimaryCommand.Execute(alias);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void DeleteAlias_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (sender is Button button && button.CommandParameter is MailAccountAlias alias)
|
|
|
|
|
{
|
|
|
|
|
ViewModel.DeleteAliasCommand.Execute(alias);
|
|
|
|
|
}
|
2025-09-29 11:16:14 +02:00
|
|
|
}
|
2025-11-23 20:56:57 +01:00
|
|
|
|
|
|
|
|
private async void SigningCertificateDropDownClosed(object sender, object e)
|
|
|
|
|
{
|
|
|
|
|
var (alias, cert) = GetAliasAndSelectedCertificateForCombobox(sender);
|
|
|
|
|
if (alias is not null)
|
|
|
|
|
{
|
|
|
|
|
await ViewModel.SetSelectedSigningCertificate(alias, cert);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-27 20:12:43 +01:00
|
|
|
private static (MailAccountAlias? alias, X509Certificate2? cert) GetAliasAndSelectedCertificateForCombobox(object sender)
|
2025-11-23 20:56:57 +01:00
|
|
|
{
|
|
|
|
|
var comboBox = sender as ComboBox;
|
|
|
|
|
var alias = comboBox?.DataContext as MailAccountAlias;
|
|
|
|
|
var selected = comboBox?.SelectedItem as X509Certificate2;
|
|
|
|
|
|
|
|
|
|
return (alias, selected);
|
|
|
|
|
}
|
|
|
|
|
private async void SmimeClicked(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
var checkBox = sender as CheckBox;
|
|
|
|
|
if (checkBox?.DataContext is MailAccountAlias alias)
|
|
|
|
|
{
|
|
|
|
|
await ViewModel.SetAliasSmimeEncryption(alias, checkBox.IsChecked ?? false);
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-09-29 11:16:14 +02:00
|
|
|
}
|