diff --git a/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs b/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs index 9455793969..2558f294f6 100644 --- a/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs +++ b/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs @@ -3,6 +3,7 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Input; using Avalonia.Input.Platform; +using Avalonia.Threading; using UniGetUI.Avalonia.ViewModels.Pages; using UniGetUI.Avalonia.Views.Controls; using UniGetUI.Core.Tools; @@ -86,7 +87,13 @@ or nameof(PackagesPageViewModel.SortAscending)) // ─── UI-only: focus the package list ───────────────────────────────────── private void OnFocusListRequested() => PackageList.Focus(); - public void FocusPackageList() => ViewModel.RequestFocusList(); + public void FocusPackageList() + { + if (ViewModel.MegaQueryBoxEnabled) + Dispatcher.UIThread.Post(() => MegaQueryBlock.Focus(), DispatcherPriority.Background); + else + ViewModel.RequestFocusList(); + } public void FilterPackages() => ViewModel.FilterPackages(); // ─── Abstract: let concrete pages add toolbar items ─────────────────────── diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs index 168231ac08..3a023f7476 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -1294,7 +1294,14 @@ protected void PerformMainPackageAction(IPackage? package) } } - public void FocusPackageList() => CurrentPackageList.Focus(FocusState.Programmatic); + public void FocusPackageList() + { + if (MEGA_QUERY_BOX_ENABLED) + DispatcherQueue.TryEnqueue(DispatcherQueuePriority.Low, + () => MegaQueryBlock.Focus(FocusState.Programmatic)); + else + CurrentPackageList.Focus(FocusState.Programmatic); + } public async Task ShowContextMenu(PackageWrapper wrapper) {