using AudibleUtilities; using Avalonia; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; using System.Collections; using System.Collections.Generic; using System.Linq; namespace LibationWinForms.AvaloniaUI.Views.Dialogs { public partial class ScanAccountsDialog : DialogWindow { public List CheckedAccounts { get; } = new(); private List _accounts { get; } = new(); public IList Accounts => _accounts; private class listItem { public Account Account { get; set; } public string Text { get; set; } public bool IsChecked { get; set; } = true; public override string ToString() => Text; } public ScanAccountsDialog() { InitializeComponent(); LoadAccounts(); } private void LoadAccounts() { _accounts.Clear(); using var persister = AudibleApiStorage.GetAccountsSettingsPersister(); var accounts = persister.AccountsSettings.Accounts; foreach (var account in accounts) _accounts.Add(new listItem { Account = account, Text = $"{account.AccountName} ({account.AccountId} - {account.Locale.Name})" }); DataContext = this; } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); this.HideMinMaxBtns(); this.Opened += ScanAccountsDialog_Opened; } private void ScanAccountsDialog_Opened(object sender, System.EventArgs e) { this.FindControl