using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Interactivity;
using DodoSSH.Client.Shell.ViewModels;
namespace DodoSSH.Client.App.Views;
///
/// Importing hosts from ~/.ssh/config.
///
///
/// A task rather than a destination, which is why it is reached from Preferences rather than from the nav
/// rail. v5c-3 moved it inside settings mode as an overlay over the Preferences page — it no longer has a
/// keyboard target of its own to hand back: MainWindow.axaml.cs's KeyboardHome falls back to
/// the window for settings mode as a whole, the same way it already does for the account and logs screens,
/// so a KeyboardTarget property here would be dead code nothing reads.
///
internal sealed partial class ImportScreen : UserControl
{
public ImportScreen()
{
InitializeComponent();
// The count on the import button is derived from the ticks, and a CheckBox bound with
// {Binding IsSelected} tells its own row and nothing else. Rather than have every row hold a
// reference back to the screen, the screen listens for the event they all bubble.
AddHandler(ToggleButton.IsCheckedChangedEvent, OnTickChanged, RoutingStrategies.Bubble);
}
private void OnTickChanged(object? sender, RoutedEventArgs e)
{
if (DataContext is ImportViewModel import)
{
import.NoteSelectionChanged();
}
}
}